lsqcurvefit拟合出错。
Show older comments
新手,但从网上查阅了大量帖子和例子,仍不得要领,请高手指教!
(1)程序如下:
clear all;clc
x=[0.564513908,0.504509777,0.485644451,0.4723561,0.464679152,0.453456348]
y=[1.021110196,1.470398683,2.001375985,2.614042103,3.308397036,4.084440786]
a0=[-1,1,-2];%初始值
f=@(a,x)(a(1)+a(2).*x)./(1+a(3).*x);
[a,resnorm] = lsqcurvefit('f',a0,x,y);
a
plot(x,y,'r*',x,f(a,x))
(2)执行结果如下:
x =
0.5645 0.5045 0.4856 0.4724 0.4647 0.4535
y =
1.0211 1.4704 2.0014 2.6140 3.3084 4.0844
错误使用 lsqcurvefit (line 247)
Function value and YDATA sizes are not equal.
出错 e_fit (line 8)
[a,resnorm] = lsqcurvefit('f',a0,x,y);
(3)尝试了在.M文件中定义函数f,错误类型一样。
(4)疑问①x,y矩阵命名一致,为什么会出这样的错误?②isqcurvefit函数都要注意哪些问题?
ps:我用的程序版本是32位R2014a。
谢谢。
Accepted Answer
More Answers (0)
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!