24小时热门版块排行榜    

查看: 1779  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

是最后

新虫 (初入文坛)

[求助] 多元非线性方程组求解,急求 已有1人参与

这个4元非线性方程组怎么解啊?急求各位大神
function f=fun(x0)
syms x1 x2 x3 x4
x0=[x1 x2 x3 x4];

fi=0.515;
fe=0.53;      
B=fi+fe-1;   
d=pi/180;  
a0=45*d;         
Db=7.144;      
Dm=40;         
n=1200;        
L=Db/Dm;        
Z=atan(10/(pi*40));   
p=7.801e-6;     
E1=2.07e5;      
E2=1.9e5;     
u1=0.29;   
u2=0.305;
Ro=17.15;   
Ri=24.294;  
ro=3.872;  
ri=3.872;  




g=x2/sin(x4)+x1/sin(x3);
A1=B*Db*sin(a0)+g;
A2=B*Db*cos(a0);
w1=sin(x3)*(0.03*Db+x1);
w2=A2-cos(x4)*(0.015*Db+x2);

v=atan(sin(x3)/(L+cos(x3)));   
Wm=2*pi*n/(1+(1+L*cos(x3))*(cos(x4)+tan(v)*sin(x4))/((1-L*cos(x4))*(cos(x3)+tan(v)*sin(x3))));
Wr=-Wm*(1+L*cos(x3))*cos(Z)/(L*(sin(v)*sin(x3)+cos(v)*cos(x3)));

Fc=(pi/12)*p*(Db^3)*Dm*(Wm^2);     
Mg=(1/60)*p*pi*(Db^5)*Wm*Wr*sin(v);      

Ps11=2/Db;
Ps12=2/Db;
Pn11=2/Db;
Pn12=2/Db;
Ps21=1/Ro;   
Pn21=-1/Ri;  

Ps22=-ro;      
Pn22=-ri;      
S1=Ps11+Ps12+Ps21+Ps22;
S2=Pn11+Pn12+Pn21+Pn22;

Rs1=Ps11*Ps21/(Ps11+Ps21);
Rs2=Ps12*Ps22/(Ps12+Ps22);
Rn1=Pn11*Pn21/(Pn11+Pn21);
Rn2=Pn12*Pn22/(Pn12+Pn22);

K1=1.0339*(Rs2/Rs1)^0.636;
K2=1.0339*(Rn2/Rn1)^0.636;
Ke1=1.5277+0.6023*log(Rs2/Rs1);
Ke2=1.5277+0.6023*log(Rn2/Rn1);
Ee1=1.0003+0.5968*(Rs1/Rs2);
Ee2=1.0003+0.5968*(Rn1/Rn2);

e1=(1-1/(K1^2))^0.5;
e2=(1-1/(K2^2))^0.5;

y1=(2*Ke1/pi)*((1-(e1)^2)*pi/(2*Ee1))^(1/3);
y2=(2*Ke2/pi)*((1-(e2)^2)*pi/(2*Ee2))^(1/3);

E=0.5*((1-u1^2)/E1+(1-u2^2)/E2);  
Q1=(8*(x1/y2)^3/((1.5*E)^2*S2))^0.5;
Q2=(8*(x2/y1)^3/((1.5*E)^2*S1))^0.5;

f1=(A1-w1)^2+(A2-w2)^2-(0.015*Db+x4)^2;
f2=w1^2+w2^2-(0.03*Db+x3);
f3=Q2*sin(x4)-Q1*sin(x3)-Mg/Db*(cos(x4)-cos(x3));
f4=Q2*cos(x4)-Q1*cos(x3)+Mg/Db*(sin(x4)-sin(x3))+Fc;

f=[f1; f2; f3 ;f4];

% format long;
% f=vpa(f,2);
% class(f);
end
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

引用回帖:
3楼: Originally posted by 是最后 at 2019-08-11 15:42:26
fsolve,求解的不是自己想要的,跟初始值设置数值差不多,请问有没有具体的解法可以求...

换初始值计算。
数值计算
4楼2019-08-11 15:56:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

独孤神宇

版主 (知名作家)

数值计算
2楼2019-08-11 15:05:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

是最后

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 独孤神宇 at 2019-08-11 15:05:19
直接用fsolve函数

fsolve,求解的不是自己想要的,跟初始值设置数值差不多,请问有没有具体的解法可以求
3楼2019-08-11 15:42:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

是最后

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by 独孤神宇 at 2019-08-11 15:56:56
换初始值计算。...

No solution found.

fsolve stopped because the relative size of the current step is less than the
default value of the step size tolerance squared, but the vector of function values
is not near zero as measured by the default value of the function tolerance.

<stopping criteria details>


x1 =

  0.264988629986718 - 0.227162298915769i  0.157276044576307 - 0.503604785301162i 53.759850087022613 - 0.866858320147245i 34.658568519774903 + 0.590132528775326i


得出的是这个,这不算求出解啊
5楼2019-08-11 16:51:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见