How do I write the Exponential Decay in Matlab?

What I need to do is plot the exponential decay using the given matrix and the formula y=a e^-bx I believe I have to write the formula in a different way using log but I do not understand how in matlab.
code:
%given matrix
x=[0;1;2;3;4;5;6]
y=[32;47;65;92;132;190;275]
n=size(x);
x1=[ones(n(1),1) x]
x1'
b=inv(y)*(log(x1)-log(y'));
yp=b(1)+b(2)*x;
sx=((sum((x-mean(x)).^2))/(n(1)-1))^.5
std(x)
sy=((sum((y-mean(y)).^2))/(n(1)-1))^.5
std(y)
sxy=(sum((x-mean(x)).*(y-mean(y))))/(n(1)-1)
corr=sxy/(sx*sy)
covar=cov(x,y)
corr=covar(1,2)/(sx*sy)
plot(x,y,'o',x,yp,'-')
legend(['a=',num2str(b(1)),' b=',num2str(corr)]);

1 comentario

b=inv(y)*(log(x1)-log(y'));
y is a vector, you cannot get its inverse.

Iniciar sesión para comentar.

 Respuesta aceptada

Here is your solution for exponential regression:
x=[0;1;2;3;4;5;6]
y=[32;47;65;92;132;190;275]
c=[ones(size(x)) x]\log(y);
a=exp(c(1));
b=-c(2);
xp=linspace(min(x),max(x),1000);
yp=a.*exp(-b.*xp);
plot(x,y,'o',xp,yp,'-')
legend(['a=',num2str(a),' b=',num2str(b)]);

1 comentario

RedThermos
RedThermos el 11 de Oct. de 2016
Thanks so much for the help. I greatly appreciate it.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Particle & Nuclear Physics en Centro de ayuda y File Exchange.

Preguntada:

el 10 de Oct. de 2016

Comentada:

el 11 de Oct. de 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by