matlab中如何求解符号变量的非线性方程组的解,求大神赐教!!!代码如下: 65

想求x1,x2,x3的迭代解:clear;clc;formatlongg;a0=25;Z=16;Fa=4000;Fr=0;c=4.517*0.0001;fi=0.52;f... 想求x1,x2,x3的迭代解:
clear;
clc;
format long g;
a0=25;Z=16;Fa=4000;Fr=0;c=4.517*0.0001;fi=0.52;fe=0.53;fm=(fi+fe)/2;e=1.187;Ja=0.48489;%由于Fx、Fy、Fz为沿坐标轴正向的力,故Fr=Fy、Fa=Fz要为负值;
Dw=12.5;Dm=86.72888;%定义参数
ri=fi*Dw;re=fe*Dw;G=fi+fe-1;
Ri=0.5*Dm+(ri-0.5*Dw)*cos(a0/180*pi);
fai=0:(2*pi/Z):(2*pi/Z*(Z-1));
syms N L a c h Q;
syms x1 x2 x3;
x=[x1,x2,x3];
for i=1:Z
N(i)=sin(a0/180*pi)+x(3)/(G*Dw);
L(i)=cos(a0/180*pi)+x(1)/(G*Dw)*cos(fai(i))+x(2)/(G*Dw)*sin(fai(i));
Q(i)=(G*Dw/0.0001)^1.5*(sqrt((N(i))^2+(L(i))^2)-1)^1.5;
end;
Fx=0;Fy=0;Fz=0;
for i=1:Z
temp1=Q(i)*cos(fai(i))*L(i)/(sqrt((N(i))^2+(L(i))^2));
Fx=Fx+temp1;
temp2=Q(i)*sin(fai(i))*L(i)/(sqrt((N(i))^2+(L(i))^2));
Fy=Fy+temp2;
temp3=Q(i)*N(i)/(sqrt((N(i))^2+(L(i))^2));
Fz=Fz+temp3;
end
F=@(t,x)[Fx;Fy-1000;Fz-1000];%这里有问题因为貌似自变量得是x(1)这种的而Fx是x1这种的,不知道怎么改
x0=[0;0.003;0.009];%设定迭代初值
dF=@(x0) numjac(F,0,x0,F(0,x0),1e-5);
F(0,x0);
dF(x0);
for it=1:100
X=x0-dF(x0)^(-1)*F(0,x0);
if norm(X-x0)<1e-8
break;end
x0=X;
end
it
x0
我这里面所有的参数都是轴承的参数这都不重要忽略就可以了,重点是解后面的那个方程,很麻烦不知道用什么方法解
展开
 我来答
lhmhz
高粉答主

2018-03-01 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:17002

向TA提问 私信TA
展开全部

matlab中如何求解符号变量的非线性方程组的解,对于简单明了的方程组可以用solve()求得。solve()求解格式为

eq1=f1(x,y,z),eq2=f2(x,y,z),eq3=f3(x,y,z)

solve(eq1,eq2,eq3)

但分析了你给出的代码,我觉得只能用数值的方法求解,得到其数值解。你想要解析值是有一定的难度。常用的数值方法,有二分法,牛顿法等等。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式