[已答复] vpasolve解超越方程问题

[复制链接]
复合梁振动 发表于 2022-6-20 18:03:13
用了最基本的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 条回复


maple1314168 发表于 2022-6-23 15:28:18
本帖最后由 maple1314168 于 2022-6-23 15:29 编辑

超越方程 都在变化中,一般比较难吧。
试试 parfor 多核计算。两个 for 转为 一个 parfor
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表