Solving equation by lsqnonlin function gives warning in MATLAB

I'm given data for x,y, and z. I am trying to fit a set of data into a model of functional form as described below:
z(x,y) = c1 + c2.* exp(-(c3 .* x)) + c4.* (y.^1);
where c1, c2, c3, c4 are the coefficients to be found.
I tried to use lsqnonlin function but I am getting the message as
lsqnonlin stopped because the final change in the sum of squares relative to its initial value is less than the default value of the function tolerance.
I have following data e.g
% Here x,y are independent variables and z is dependent variable
x= [1 .. 12];
y= [0.001 .. 0.7];
z= [0.996474846 .. 0.432743332];
model = @(c) c(1) + c(2)*exp(-c(3)*x) + c(4)*y - z;
C = lsqnonlin(model, [1 1 1 1])
Why I am getting this message? Any advice.
Thankyou in advance

3 Comments

Considering that it is working numerically, what conditions are you expecting will make it decide to stop, and what message are you expecting it will give when it encounters those conditions ?
I just want to get four co-efficients. I want to fit a set of data into a model. But, this message confused me!
I just want to get an equation by using these co-efficients

Sign in to comment.

Answers (0)

Categories

Asked:

on 21 Nov 2013

Edited:

on 24 Nov 2013

Community Treasure Hunt

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

Start Hunting!