Matlab联立求解带符号的方程组,该如何让其输出数值解。
5 views (last 30 days)
Show older comments
大家好!我想用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 Comments
Answers (0)
See Also
Categories
Find more on Communications Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!