MATLAB拟合问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 10:56:59
最小二乘拟合的格式是x = lsqcurvefit (‘fun’,x0,xdata,ydata,options);其中x0是迭代初值,请问什么是迭代初值?

迭代法要给初值,就是在正确结果附近猜的一个值,这个值一定要在结果附近,否则可能得不到正确的迭代结果

举个例子来说明迭代初始值:

clc;clear
% x^2+x-1=0 求x,两边同除以x,得:
% x+1-1/x=0 变形为:
% x=1/x-1 进行迭代运算
x(1)=2 %初始值
for k=1:30
x(k+1)=1/x(k)-1
end
plot(x)

结果:
x =

Columns 1 through 12

2.0000 -0.5000 -3.0000 -1.3333 -1.7500 -1.5714 -1.6364 -1.6111 -1.6207 -1.6170 -1.6184 -1.6179

Columns 13 through 24

-1.6181 -1.6180 -1.6180 -1.6180 -1.6180 -1.6180 -1.6180 -1.6180 -1.6180 -1.6180 -1.6180 -1.6180

Columns 25 through 31

-1.6180 -1.6180 -1.6180 -1.6180 -1.6180 -1.6180 -1.6180

就像机器要启动,你先要给他某个动作,初值就是启动迭代

你大约猜测 最优值所在的位置
有利于函数收敛