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

 Respuesta aceptada

Star Strider
Star Strider el 22 de Jul. de 2014

1 voto

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.

2 comentarios

Sameer
Sameer el 23 de Jul. de 2014
Hi...Thank you!!!
Star Strider
Star Strider el 23 de Jul. de 2014
My pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 22 de Jul. de 2014

Comentada:

el 23 de Jul. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by