Problem with non-linear fit
2 views (last 30 days)
Show older comments
Hi I am trying to fit the data and find the constant values. my code is...
[T]=xlsread('Matlab.xlsx','sheet2','C5:C2685')
[alpha]=xlsread('Matlab.xlsx','sheet2','I5:I2685')%time
[dalpha_dt]=xlsread('Matlab.xlsx','sheet2','J5:J2685')
F=ones(size(alpha));
F=(1-alpha)
coeff0=[2.17E+22, 5] % initial guess
coeff=nlinfit([T,F],dalpha_dt,@model,coeff0);
A=coeff(:,1)
n=coeff(:,2)
Function:
function dhat=model(coef,a)
% par_fit = [a b]
a=coef(1);
b=coef(2);
T=a(:,1);
F=a(:,2);
% predicted model
dhat=a.*exp(208000./(8.3147*(T+273))).*(F^b);
return
I need to find the new coefficient values, but it is showing following error..Please tell me how to resolve this.
Error using nlinfit (line 205)
Error evaluating model function 'model'.
Error in fitting (line 16)
coeff=nlinfit([T,F],dalpha_dt,@model,coeff0);
Caused by:
Attempted to access a(:,2); index out of bounds because numel(a)=1.
Thanks
0 Comments
Answers (2)
Star Strider
on 9 Oct 2015
You defined ‘a’ as a scalar (appropriately) so it is by definition a (1x1) ‘array’ (taking liberties with the concept here). It doesn’t have a second dimension.
How do you want to define ‘T’ and ‘F’?
11 Comments
See Also
Categories
Find more on Genetic Algorithm in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!