24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2649  |  回复: 20

crasting

金虫 (小有名气)

[求助] matlab非线性拟合中lsqcurvefit初值设置已有1人参与

想用matlab中的lsqcurvefit做离散点的拟合,但是不管怎么设初值,拟合直线就是一条水平线,附件中的图片是对问题的详细描述,希望有高人指点。

matlab非线性拟合中lsqcurvefit初值设置
曲线拟合.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

估计你的公式有错,按照你的公式,很难计算出合适的值
2楼2015-05-21 20:49:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

引用回帖:
2楼: Originally posted by 信彼南山 at 2015-05-21 20:49:35
估计你的公式有错,按照你的公式,很难计算出合适的值

按照你的公式,可以进行推导:





根据你的数据计算

这一项的数值很小,应该在1e5的数量级上
也就是说前面两个平方和都应该很小

所以计算出合适的数值很难,或者说初值依赖很强
3楼2015-05-21 21:00:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

crasting

金虫 (小有名气)

引用回帖:
3楼: Originally posted by 信彼南山 at 2015-05-21 21:00:04
按照你的公式,可以进行推导:
(\Delta \lambda)^{2}+4(\lambda-\lambda0)^{2}=\frac{2\Delta \lambda}{f\pi}

(\Delta \lambda-\frac{1}{f\pi})^{2}+4(\lambda-\lambda0)^{2}-(\frac{1}{f\pi})^{2}=0


根据 ...

不太明白您的意思?能否麻烦您详细说一下?f不是频率的意思,只是我表示函数的符号,就是x、y方程中的y
4楼2015-05-21 21:07:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

我的意思就是说你的公式可能不对,或者数据不合理
如果是实验测的数据,这个公式估计拟合不出来,那就得换公式
如果是自己编的数据,那数据可能就是有问题的。
5楼2015-05-21 21:30:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

求助程序发图片,别人真的帮不了你
6楼2015-05-21 21:30:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

crasting

金虫 (小有名气)

引用回帖:
6楼: Originally posted by 信彼南山 at 2015-05-21 21:30:48
求助程序发图片,别人真的帮不了你

数据是实验测得,我把程序以文本的形式再发一遍,麻烦您帮忙看一下,谢谢啦
7楼2015-05-21 21:49:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

crasting

金虫 (小有名气)

引用回帖:
6楼: Originally posted by 信彼南山 at 2015-05-21 21:30:48
求助程序发图片,别人真的帮不了你

拟合函数程序:
function f=Lor(x,xdata)
f=(2/pi)*(x(1)./(4*(xdata-x(2)).^2+x(1)^2));
调用程序:
close all;clear all;clc
xdata=[427.256,427.327,427.398,427.469,427.54,427.611,427.682];
ydata=[450.7287,385.4204,1831.3,2785.1,1106.8,221.6083,132.2139];
x0=[0.5,1];
[x,resnorm]=lsqcurvefit('Lor',x0,xdata,ydata)
f=Lor(x,xdata);
figure
plot(xdata,ydata,'g*');
hold on
plot(xdata,f,'r-');
8楼2015-05-21 21:50:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

九月1

铁虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
function f=Lor下一行中xdata换成x(1)就好了
青春不止,阳光仍在
9楼2015-05-21 22:06:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

引用回帖:
9楼: Originally posted by 九月1 at 2015-05-21 22:06:37
function f=Lor下一行中xdata换成x(1)就好了

那就木有函数了
10楼2015-05-22 00:36:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 crasting 的主题更新
信息提示
请填处理意见