model fitting using lsqnonlin

3 views (last 30 days)
Monika K
Monika K on 3 Jul 2015
Commented: Torsten on 3 Jul 2015
y1=f(a,b,c,d,e,f,x,y,z) y2=f(a,b,c,g,h,i,x,y,z)
y1, y2 are known outputs. x,y,z are known inputs. a,b,c,d,e,f,g,h,i are the variables which I wish to find using lsqnonlin and lsqcurvefit. As there are two functions and variables are common, how shall I write fun in lsqnonlin(@fun,x0)? Thanks in advance

Answers (1)

Torsten
Torsten on 3 Jul 2015
Concatenate y1 and y2 to y=[y1 y2] and x1 and x2 to x=[x1 x2] and proceed as usual.
Best wishes
Torsten.
  2 Comments
Monika K
Monika K on 3 Jul 2015
Thanks for reply. I made mistake while asking que.. input x is itself matrix [x y z].
Torsten
Torsten on 3 Jul 2015
In lsqnonlin, you could calculate the residuals as
for i=1:length(y1)
F(i)=y1(i)-f(a,b,c,d,e,f,x(i),y(i),z(i));
end
for i=1:lenghth(y2)
F(length(y1)+i)=y2(i)-f(a,b,c,g,h,i,x(i),y(i),z(i));
end
Best wishes
Torsten.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!