Matlab中fit函数的Startpoint怎么选取?

使用自定义模型时,帮助里说要选取初值点,但是我连初值点的含义都不知道是啥……似乎是个向量,那里面的元素分别是什么啊?

不设置初始点好歹不会报错,但是模拟出来的曲线基本不是我想要的……所以帮助文件才会建议设置初始点,但是初始点是啥都没说,是曲线上的初始点吗?还是什么?

我的那个模型是含4个参数的,1个自变量,初始点的形式是什么样的?我设置成1个数,2个元素的向量,3,4个元素的向量全部出现这个问题:
Error using fit>iFit (line 415)
Not enough inputs to FITTYPE function.

Error in fit (line 109)
[fitobj, goodness, output, convmsg] = iFit( xdatain, ydatain, fittypeobj, ...

Error in SOCdata (line 95)
[F3,c3]=fit(x,y,ft3,'StartPoint',p0)

Caused by:
Failure in initial user-supplied objective function evaluation. LSQCURVEFIT cannot
continue.

那个p0就是初始点,到底要怎么设置?到底有什么含义啊?

RISEBY
浏览 4240回答 2
2回答

绝地无双

这个StartPoint应该指的是待求参数的初值。意思是,您给一个粗略的估计,然后fit函数可以根据这个估计去精确化。4个参数,那就给一个长度为4的向量,例如[0 0 0 0];

皈依舞

% Assume you determined xdata and ydata experimentallyxdata = -6:0.1:10;xdata=xdata';ydata = 100.*exp(-(xdata-2).^2./3^2)+10;fun=fittype('A*exp(-((x-u)/sigma)^2)+n') %一定要用fittype函数来写自己的方程% coeffnames(fun) % 可以校验欲拟合的系数% options = fitoptions()options.StartPoint=[99 10 3 2] % 确定起始点f=fit(xdata,ydata,fun,options)
打开App,查看更多内容
随时随地看视频慕课网APP