24小时热门版块排行榜    

查看: 2284  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

pianfeng1986

铁虫 (初入文坛)

[求助] 请问用什么数值方法可以拟合一条近似三角函数曲线?

测得的场点形状为一近似三角函数曲线,我现在用cftool会拟合这样的曲线了

但问题是我需要拟合的数据有近千组! 如果一一用cftool拟合是一项很重很耗时间的任务,所以想编程实现,请问有这样的方法吗?
回复此楼

» 猜你喜欢

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

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

jackzhang19

银虫 (小有名气)


zhangguangping: 金币+1, 感谢指教! 2012-03-24 13:57:48
可以用Matlab啊,可以先编写一个名字为jack的函数
function y=jack(x,a)
a=zeros(1,4)
y=a(1)*sin(a(2)*x+a(3))+a(4);
然后再在command window中输入
x=[……];y=[……];
[a,j]=lsqcurvefit(@jack,[1,1,1,1],x,y)
就可以得到a=a(1);b=a(2);c=a(3);d=a(4)
路漫漫其修远兮吾将上下而求索
7楼2012-03-24 09:24:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

bcsnow

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
pianfeng1986: 金币+2, ★★★很有帮助, 感谢您的答复,给我开拓了思路,不过囊中羞涩,只能意思下了 2012-03-23 22:56:42
把数据反三角函数化,再按线性拟合
2楼2012-03-23 00:36:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pianfeng1986

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by bcsnow at 2012-03-23 00:36:41:
把数据反三角函数化,再按线性拟合

谢谢楼上帮助,可我拟合的曲线为y=a*sin(b*x+c)+d,多出一个项d不好处理,该怎么办?
3楼2012-03-23 11:27:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

感谢参与,应助指数 +1
dbb627: 应助指数-1, dingd 虫友,首先非常感谢你对论坛的支持,但是有个地方请注意下,就是有些回帖的时候不要提下1stOpt就没有下文,有广告帖、刷应助嫌疑,有些虫友对你的回帖有意见。所以这方面希望你留意下,如果不麻烦可以给些算例。 2012-03-23 15:37:30
1stOpt应该可以的,建议试试!
4楼2012-03-23 15:03:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见