Problem in using nlinfit?

2 次查看(过去 30 天)
Hello all
I want to use a nlinfit, previously I used for two inputs and it was working fine but not I have 3 inputs and its giving error:
??? Error using ==> statset at 262
Expected argument 2 to be a parameter name string or an options structure
created with STATSET.
Error in ==> nlinfit at 103
options = statset(statset('nlinfit'), options);
Error in ==> Nu_variables at 9
param=nlinfit(Re,Pr,Nu,@fitfun_Nu,param0);
Error in ==> tem_dep_cal at 42
h=Nu_variables(Re,Pr,Nu);
where my fitfun is:
function [ Nu ] = fitfun_Nu(param,Re,Pr)
Nu=param(1).*(Re.^param(2)).*(Pr.^param(3));
end
can anyone guide me to rectify the error?
Thanking you!!!
Regards

采纳的回答

Star Strider
Star Strider 2014-7-22
You can pass two independent variables to your function but you have to combine them into one array. Assuming Re and Pr are both column vectors, the array for them becomes:
RePr = [Re Pr];
your function becomes:
function [ Nu ] = fitfun_Nu(param,RePr)
Nu=param(1).*(RePr(:,1).^param(2)).*(RePr(:,2).^param(3));
end
and the call to nlinfit becomes:
param=nlinfit(RePr,Nu,@fitfun_Nu,param0);
That should work.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by