MATLAB vs. Excel: Matlab seems to give better answer to exponential decay, anyone know why?
Mostrar comentarios más antiguos
A co-worker of mine plotted the data (pHi1,alf) below in Excel and used the "add trendline" to fit the data. Excel returns "y = 2814.2e-3.5613x" and the fit is not very good.
I used the following Matlab code to fit the data and of course, the fit is much better.
As I am trying to explain to my co-workers the advantages of Matlab, does anyone know why Excel does such a poor job with this?
Although better can be subjective, is there something obvious that I am doing "wrong" in excel or is the answer simply "You get what you pay for"?
pHi1 = [0.063 0.113 0.22 0.286 0.373 0.437 0.53 0.547 0.709 0.938 1.72];
alf = [4620 3390 2440 1460 840 410 220 190 90 40 20];
%set up dissolution model
%exponential decay
aldis = @(dis,xx)(dis(1)*exp(-dis(2)*xx));
%initial guess
dis = [alf(1) 2];
%use nlinfit for least squares to determine dis(1) and dis(2) in disfit
disfit = nlinfit(pHi1,alf,aldis,dis)
pHfit = min(pHi1):0.1:max(pHi1);
alfit = aldis(disfit,pHfit);
figure(1)
plot(pHi1,alf,'ok','markerfacecolor','r','markersize',4)
hold on
plot(pHfit,alfit,':b')
hold off
xlabel('Initial pH')
ylabel('Dissolved Alumina by ICP (ppm)')
1 comentario
Lynn Knoblauch
el 30 de Jun. de 2012
Your script and comments is something that I have been wondering a lot about too and I want to thank you in that it has answered a question I had. The other question I have that you may know.....do you know how to get the horizontal asymptote value? Thanks
Respuesta aceptada
Más respuestas (2)
the cyclist
el 16 de Mzo. de 2011
0 votos
The trend command in Excel just does a linear fit, right? Did you try to fit a linear function to exponential data? (If so, that's why the Excel fit was poor.) Or did you take the log of the exponential data before fitting in Excel?
1 comentario
Marc
el 16 de Mzo. de 2011
Richard Crozier
el 17 de Mzo. de 2011
0 votos
You should never use Excel for anything more complicated than accounting, as this only requires a precision of 2 decimal places, and can be checked on a calculator. Anything else, and you basically can't trust the result.
Anyone attempting to present statistics done in Excel should be particularly embarrassed.
Categorías
Más información sobre Spreadsheets en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!