请教如何在matlab中根据两段波形,延长并绘制出正弦函数P =a + b sin (ct + d)的形式?
如图所示,实线是原始波形,虚线是拟合出的正弦函数波形。通过阴影部分对应的上升支(ab段)和下降支(cd段)的两段实线,进而拟合出正弦函数(虚线)。现已知ab段和cd段的各点(x,y)值,请问该如何绘制正弦函数并求出顶点值?谢谢!!

matlab根据两段波形绘制正弦函数
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 技术专家团-Joel 2022-02-15 12:02关注
比方说你知道(xa,ya),(xb,yb),(xc,yc),(xd,yd)
然后你原先的波形为x和y两个向量,那么有p = x<=xb & x>=xa | (x<=xd & x>=xc); xp = x(p); yp = y(p); modelFun = @(a, x) a(1)+a(2)*sin(a(3)*x+a(4)); beta = nlinfit(xp,yp,modelFun,rand(1,4)); a = beta(1); b = beta(2); c = beta(3); d = beta(4);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用