Function Error not understood
2 ビュー (過去 30 日間)
古いコメントを表示
I wrote the following function:
function diff = fit_simp(x,X,Y)
% This function is called by lsqnonlin.
% x is a vector which contains the coefficients of the
% equation. X and Y are the option data sets that were
% passed to lsqnonlin.
A=x(1);
B=x(2);
n=x(3);
diff = (A+B*(X^n)) - Y;
end
Then the following script;
>> X=xlsread('QS2T.xls',9,'V638:V1835');
>> Y=xlsread('QS2T.xls',9,'W638:W1835');
>> X0=[800 1537 0.1448];
>> options = optimset('Largescale','off');
>> x=lsqnonlin(@fit_simp,X0,[],[],options,X,Y);
I get the error below, don't know what is wrong. All this was given in matlab examples in the website.PLs help, *|??? Error using ==> mpower Matrix must be square.
Error in ==> fit_simp at 12 diff = (A+B*(X^n)) - Y;
Error in ==> lsqnonlin at 202 initVals.F = feval(funfcn{3},xCurrent,varargin{:});
Caused by: Failure in initial user-supplied objective function evaluation. LSQNONLIN cannot continue.|*
0 件のコメント
採用された回答
Honglei Chen
2012 年 3 月 8 日
You may want to use X.^n to achieve element-wise operation
7 件のコメント
Honglei Chen
2012 年 3 月 8 日
this might suggest that the function didn't converge but I'm not sure what's wrong. You may need to examine your data.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!