Matlab求解含有字母参数的非线性超越方程组

Matlab求解含有字母参数的非线性超越方程组
现有一个方程组:
c1*px+s1*py=a3*c23+s23*d4+a1+a2*c2
pz=a3*s23-d4*c23+a2s2
其中
c23=cos(x2+x3)
s23=sin(x2+x3)
c2=cos(x2)
s2=sin(x2)
s3=sin(x3)
c3=cos(x3)
c1=cos(x1)
s1=sin(x1)
其中只有x2和x3是未知的要求解的,其余的是已知参数,如何用matlab计算出x2和x3分别用已知参数表示的表达式呢?
chshao 1年前 已收到1个回答 举报

fengkx 幼苗

共回答了20个问题采纳率:85% 举报

既然你知道他是超越方程,他就没有通用的解法,直接数值解

1年前 追问

6

chshao 举报

怎么数值解呢?麻烦您啦

举报 fengkx

一般用优化的方法求解,先编写函数:
function f=fx(x)
x1=5;%给定的值
px=;
py=;
pz=;
a3=;
d4=;
a1=
a2=;
x2=x(1);
x3=x(2)
c23=cos(x2+x3);
s23=sin(x2+x3);
c2=cos(x2);
s2=sin(x2);
s3=sin(x3);
c3=cos(x3);
c1=cos(x1);
s1=sin(x1);
f(1)=c1*px+s1*py-(a3*c23+s23*d4+a1+a2*c2);
f(2)=pz-a3*s23-d4*c23+a2*s2;
然后
>> [x,f]=fsolve(@fx,[1,30])

chshao 举报

可是会这样啊?

举报 fengkx

先看看基本知识,不要只急于解决问题。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.026 s. - webmaster@yulucn.com