Error using lsqcurvefit (line 269) Function value and YDATA sizes are not equal
14 views (last 30 days)
Show older comments
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
0 Comments
Answers (1)
Arjun
on 2 Jun 2025
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!
0 Comments
See Also
Categories
Find more on Matrix Computations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!