用了最基本的vpaslove对超越方程进行求解 由于总共有m*n个解,导致计算速度非常慢,能否进行优化提速 clc; clear all; %%%% k2=70; alph2=23.33e-6; C2=3.0e6; %%%% k1=150; alph1=93.75e-6; C1=1.6e6; %%%% h1=1*1e-6; h2=6*1e-6; h0=h2-h1; l=500*1e-6; %%%%% format long syms x for n=1:50 for m=1:50 gama=(n*pi/l); faimiddle=(m*pi/h0); eqn1=tan(x*h1)*tan(((alph1*x^2+(alph2-alph1)*(n*pi/l)^2)/alph2)^0.5*h0)-((k1*C1)/(k2*C2))^0.5; %所求解的超越方程 kesai1 = vpasolve(eqn1,x,(28.493*m+42.752)*1e4); fai2 = ((alph1*(kesai1)^2+(alph2-alph1)*(n*pi/l)^2)/alph2)^0.5; lamda1 = (alph2*(fai2)^2+alph2*(gama)^2)^0.5; lamda2 = (alph2*(m*pi/h0)^2+alph2*(gama)^2)^0.5; end end |
1 条回复