请教如何在matlab中根据两段波形,延长并绘制出正弦函数P =a + b sin (ct + d)的形式?
如图所示,实线是原始波形,虚线是拟合出的正弦函数波形。通过阴影部分对应的上升支(ab段)和下降支(cd段)的两段实线,进而拟合出正弦函数(虚线)。现已知ab段和cd段的各点(x,y)值,请问该如何绘制正弦函数并求出顶点值?谢谢!!
请教如何在matlab中根据两段波形,延长并绘制出正弦函数P =a + b sin (ct + d)的形式?
如图所示,实线是原始波形,虚线是拟合出的正弦函数波形。通过阴影部分对应的上升支(ab段)和下降支(cd段)的两段实线,进而拟合出正弦函数(虚线)。现已知ab段和cd段的各点(x,y)值,请问该如何绘制正弦函数并求出顶点值?谢谢!!
收起
比方说你知道(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);
报告相同问题?