Nick_Wu777 2022-02-15 10:12 采纳率: 100%
浏览 86
已结题

matlab根据两段波形绘制正弦函数

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

img

  • 写回答

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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月28日
  • 已采纳回答 2月20日
  • 创建了问题 2月15日

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作