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

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!

카테고리

도움말 센터File Exchange에서 Nonlinear Least Squares (Curve Fitting)에 대해 자세히 알아보기

질문:

2021년 4월 3일

답변:

2025년 6월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by