Matlab联立求解带符号的方程组,该如何让其输出数值解。
5 次查看(过去 30 天)
显示 更早的评论
大家好!我想用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 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Communications Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!