Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

How to display fit equation on plot?

Asked by Christopher

Christopher (view profile)

on 17 Nov 2013
Latest activity Answered by Image Analyst

Image Analyst (view profile)

on 18 Nov 2013

Hello all,

I have written code that creates a power fit to some data. The code is :

p=polyfit(log(pla_strain),log(pla_stress),1);
m=p(1);
b=exp(p(2));
yy=b.*(pla_strain).^m;

I think plot the data with the fit as follows:

loglog(pla_strain,pla_stress,'LineWidth',4)
hold on
plot(pla_strain,yy,'r--','LineWidth',2)
axis([.001  .1  40  100])
hold off

My problem is I am trying to display the equation of the fit on the plot. The equation is of the form y=b*x^m where b and m are the two coefficients from the polyfit. I would like to display this equation in the same location of the plot every time, which would ideally be towards the top center.

Thanks

0 Comments

Christopher

Christopher (view profile)

Tags

Products

2 Answers

Answer by G A

G A (view profile)

on 18 Nov 2013
txt1='b*x^m';
yL=get(gca,'YLim'); 
xL=get(gca,'XLim');   
  text((xL(1)+xL(2))/2,yL(2),txt1,...
      'HorizontalAlignment','left',...
      'VerticalAlignment','top',...
      'BackgroundColor',[1 1 1],...
      'FontSize',12);

0 Comments

G A

G A (view profile)

Answer by Image Analyst

Image Analyst (view profile)

on 18 Nov 2013

You're going to have to convert the x and yy back into pla_strain and pla_stress so you can plot them

x = log(pla_strain);
pla_strain_fitted = exp(x);
yy = m .* x + b; % This equals log(pla_stress)
pla_stress_fitted = exp(yy);
loglog(pla_strain_fitted, pla_stress_fitted, 'LineWidth',4)

0 Comments

Image Analyst

Image Analyst (view profile)

Contact us