我现在有组数据想进行正弦拟合,我用MATLAB试了下感觉出不来效果,故求助。

x=[200909,200910,200911,200912,201001,201002,201003,201004,201005,201006,201007,20100... x=[200909,200910,200911,200912,201001,201002,201003,201004,201005,201006,201007,201008];
y=[8333.24106,8090.87469,12126.11429,17240.10666,30591.62483,30228.72412,27215.59302,16534.14786,10942.28059,7906.485189,8347.272104,8088.076];

想用y=a*sin(b*x+c)+d拟合,谢谢啦,各位大侠帮帮忙。得出a,b,c,d的值。
展开
 我来答
mingke312
2011-10-17 · TA获得超过118个赞
知道答主
回答量:70
采纳率:0%
帮助的人:49.1万
展开全部
用lsqcurvefit函数,可看help
f=inline('c(1)*sin(c(2)*x+c(3))+c(4)','c','x');
c=lsqcurvefit(f,[0,0,0,0],x,y);
c1-c4分别代表a,b,c,d
追问
您好,请问下你用以上代码能运行出来结果吗?如果出来结果的话是什么样子的?
追答
能运行出来。建议你把y2先除以1000,这样不至于d占的比重太大, 然后最重要的是要选择好合适的初始值,比如[1;1;1;1]就比[0;0;0;0]的效果要好
zcfhappy111
2011-10-27
知道答主
回答量:49
采纳率:0%
帮助的人:25.7万
展开全部
我是新手,在此基础上还需要绘制出来图形,请问这个函数拟合之后怎样再用matlab会出图来啊!谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式