作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/15 03:14:33
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分别用已知参数表示的表达式呢?
既然你知道他是超越方程,他就没有通用的解法,直接数值解
再问: 怎么数值解呢?麻烦您啦
再答: 一般用优化的方法求解,先编写函数:
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])
再问: 可是会这样啊?
再答: 先看看基本知识,不要只急于解决问题。