Matlab联立求解​带符号的方程组,该如​何让其输出数值解。

5 次查看(过去 30 天)
百家楽的注册网站【359663.tv】
大家好!我想用MATLAB求解两个方程组的数值解,但是要在其中的一个方程中引入一个变量Epsilon,而Epsilon可以由前面的其他参数得到,请问我该如何输出数值解w和Phi_3呢?还望各位不吝赐教!
clear all
D=7980; %爆速
Phi_0=39/180*pi; %斜冲击波入射角度
Gama=2.76; %爆轰产物多方指数
Rho_0=1.717*10^3; %装药密度
P2=3E10; %假设值
a=4569;
b=1.49;
Rho_m0=7.83e3;
P_H=Rho_0*D^2/(Gama+1); %爆轰产物状态参数
Rho_H=((Gama+1)/Gama)*Rho_0;
c_H=(Gama/(Gama+1))*D;
u_H=(1/(Gama+1))*D;
Theta=atan(tan(Phi_0)/(Gama*(tan(Phi_0))^2+Gama+1));
M1=((Gama+1)/Gama)*((cot(Phi_0))^2+(Gama/(Gama+1))^2);
N=(P2/P_H-1)*((Gama+1)/Gama)/2+1;
v=asin((N/M1^2)^0.5);
Rho2=(Rho_H*(Gama+1)*M1^2*(sin(v))^2)/((Gama-1)*M1^2*(sin(v))^2+2);
L=Rho_H/Rho2;
Epsilon=atan((1+L*tan(v))*tan(Theta)-(1-L)*tan(Theta))/((1-L)*tan(v)*tan(Theta)+(1+L*(tan(v))^2));
digits(2)
eq1='(1.49-1)/1.49+4569/1.49*sin(0.6807)/(7980*sin(Phi_3))=w';
eq2='((1-w)*tan(Phi_3))/(1+w*(tan(Phi_3))^2)=tan(Epsilon)';
S=solve(eq1,eq2,'w','Phi_3');
S.w
结果:
ans =
(1.0e-3*(1.5e4*z1 + 1.4e5*tan(Epsilon) + 1.0e5*z1*tan(Epsilon) - 8.1e4*z1^2 + 1.5e4*z1^3 - 2.9e4*z1^2*tan(Epsilon) - 6.0e4*z1^3*tan(Epsilon) + 1.2e5))/(500.0*tan(Epsilon) + 122.0)
>>

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Communications Toolbox 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!