Hello,
I am using lsqnonlin for fitting a non linear equation to the model
z=Ax+(B*log(y))+(C/y)+(D*x*log(1+y))
X matrix is 10×2 double matrix. 1st column contains values for x and 2nd column contains values for y.
x(1) and x(2) represent x and y respectively in the model.
The function definition to be used in lsqnonlin is as follows:
function F=myfun(x,X,Z) k=1:10; F=(x(1)*X(k,1))+(x(2)*log(X(k,2)))+(x(3)/X(k,2))+(x(4)*X(k,1)*log(1+X(k,2)))-Z(k); end
I have all the values for the X and the Z matrix.
The problem is that whenever I am trying to call the myfun function, the error which it shows is:
??? Error using ==> plus Matrix dimensions must agree.
Error in ==> myfun at 3 F=( x(1) * X(k,1) )+( x(2) * log(X(k,2) )+( x(3) / X(k,2) )+( x(4) * X(k,1) * log(1+X(k,2) ) ) – Z(k);
Please clear this up.
Thank you.
Best Answer