フィルターのクリア

How can I make matrix dimensions to agree?

1 回表示 (過去 30 日間)
Dursman Mchabe
Dursman Mchabe 2018 年 10 月 9 日
編集済み: KALYAN ACHARJYA 2018 年 10 月 9 日
Hi all, I get an error message:
Matrix dimensions must agree.
Error in lsqcurvefit/objective (line 279)
F = F - YDATA;
Error in snls (line 333)
newfvec = feval(funfcn{3},xcurr,varargin{:});
Error in lsqncommon (line 167)
snls(funfcn,xC,lb,ub,flags.verbosity,options,defaultopt,initVals.F,initVals.J,caller, ...
Error in lsqcurvefit (line 271)
lsqncommon(funfcn,xCurrent,lb,ub,options,defaultopt,allDefaultOpts,caller,...
Error in CurveFitting (line 135)
[theta,Rsdnrm,Rsd,ExFlg,OptmInfo,Lmda,Jmat]=lsqcurvefit(@kinetics,theta0,t,c);
when I run the attached code. What could be the cause of the disagreement?
Kind Regards Dursman

採用された回答

KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 10 月 9 日
編集済み: KALYAN ACHARJYA 2018 年 10 月 9 日
That means F =F-YDATA must be in the same dimension.
Please ensure that F and TDATA must be same before doing subtraction operation.
I have noticed in your code dcdt(2), dcdt(3),...what do these mean, are those scalar or vector variables?
Why you mixed up the function descriptions with other body code?
  2 件のコメント
Dursman Mchabe
Dursman Mchabe 2018 年 10 月 9 日
Thanks a lot for the answer.
dC = dcdt
And dcdt is a set of 7 differential equations dcdt(1) ... dcdt(7).
They are vectors.
KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 10 月 9 日
編集済み: KALYAN ACHARJYA 2018 年 10 月 9 日
Welcome, @Dursman If all dcdt(1) ... dcdt(7) are calculated from the same expression, you can use the dcdt(i) indexing the way to find it.
Happy to Help

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by