求数学大神帮忙解下如下的三角函数方程组,matlab解出来好麻烦。

L1*cos(Θ1)+L2*cos(Θ1+Θ2)+L3*cos(Θ1+Θ2+Θ3)=xL1*sin(Θ1)+L2*sin(Θ1+Θ2)+L3*sin(Θ1+Θ2+Θ3)=... L1*cos(Θ1)+L2*cos(Θ1+Θ2)+L3*cos(Θ1+Θ2+Θ3)=x
L1*sin(Θ1)+L2*sin(Θ1+Θ2)+L3*sin(Θ1+Θ2+Θ3)=y
其中L1、L2、L3,Θ3、x、y为已知,求Θ1、Θ2

图片所示也是这个方程组
我要求出来解析解,以便用c++编程。
我用matlab解出来一组解析解,就是z=balabala.....的 一大堆东西得有好几十项吧。感觉这样计算不太方便,哪位大神给个解题思路也行。感觉用cosΘ=(1-u^2)/(1+u^2),代换也好麻烦。或者说有没有什么迭代的有效的方法。
展开
 我来答
qingningleyun
推荐于2016-05-11 · TA获得超过5853个赞
知道大有可为答主
回答量:2991
采纳率:30%
帮助的人:3043万
展开全部
syms L1 L2 L3 st1 st2 st3 x y
f1 = L1*cos(st1)+L2*cos(st1+st2)+L3*cos(st1+st2+st3)-x;
f2 = L1*sin(st1)+L2*sin(st1+st2)+L3*sin(st1+st2+st3)-y;
[st1,st2] = solve(f1,f2,'st1,st2');

% 带入数值
L1 = 1;
L2 = 2;
L3 = 3;
st3 = 0.5;
x = 1;
y = 1;
st1 = double(subs(st1))
st2 = double(subs(st2))

st1 =
-2.3562 + 2.6706i
-2.3562 - 2.6706i

st2 =
2.8406 - 1.4858i
2.8406 + 1.4858i
追问
谢谢您的回答,不过我想要的是解析解,不是数值解。我要用解析解在C++中编程。就是这theta1,theta2的表达式,数值解没用。毕竟c++中没用solve命令不是,不管怎么说还是麻烦您了。
追答
syms L1 L2 L3 st1 st2 st3 x y
f1 = L1*cos(st1)+L2*cos(st1+st2)+L3*cos(st1+st2+st3)-x;
f2 = L1*sin(st1)+L2*sin(st1+st2)+L3*sin(st1+st2+st3)-y;
[st1,st2] = solve(f1,f2,'st1,st2');

% 得到的 st1,st2 就是解析解,大哥!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
富港检测技术(东莞)有限公司_
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式