Error using lsqcurvefit (line 269) Function value and YDATA sizes are not equal

4 ビュー (過去 30 日間)
ANTONIO JIMENEZ RECIO
ANTONIO JIMENEZ RECIO 2021 年 4 月 3 日
回答済み: Arjun 2025 年 6 月 2 日
Hi, im new inMATLAB. Im doing a curve fitting using lsqcurvefit but it dosent work.
My script is:
ang_f=data2(:,1);
w_f=2*pi()./data2(:,3);
fun= @(x,w_f) x(1)./(((x(2).^2-w_f.^2)+4.*x(3).^2*w_f.^2).^(1/2));
x0=[11,3.5,1];
x=lsqcurvefit(fun,x0,w_f,ang_f);
Thanks

回答 (1 件)

Arjun
Arjun 2025 年 6 月 2 日
The issue is that the output of function "fun" doesn't match the size of the "ang_f" data. This typically happens when the function you are using to fit the data does not return a vector of the same length as the input "ang_f" data you are trying to model. To fix this you will have to modify "fun" to output vector of dimensions that matches dimensions of "ang_f".
It will be helpful to debug if you attach data.
I hope this helps!

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by