weixin_45414537 2021-12-05 12:24 采纳率: 100%
浏览 631
已结题

关于matlab solve解三角函数

用solve求解三角函数
利用excel求解,当x=20°,a=2,b=3,求asin(x)^2+bcos(x)^2+sin(x)+cos(x)等于4.1674

img


想用solve求x,程序如下

img


解出来的答案为什么不对?
求各位指教哪里错了,谢谢

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-12-05 12:44
    关注

    因为solve会给出解的通项,你的方程x的解是有周期性的,所以建议用vpasolve找出在某一个值附近的解 (初值不一样,附近的解也不一样):

    clc;clear
    a=2;
    b=3;
    syms x;
    f = sin(x) + cos(x) + a*sin(x)^2 + b*cos(x)^2 - 4.164734986;
    x = vpasolve(f, x, pi/6); % 找到pi/6附近的解
    x = double(x)*180/pi % 化成度数
    

    结果就变成题主需要的20度了

    
    x =
    
       20.0000
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 12月12日
  • 已采纳回答 12月5日
  • 创建了问题 12月5日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部