下面这个程序是用来计算多层弹性体系内各点的应力的。先要解线性方程组N,用解出来的系数对 xi 进行数值积分,里面包含了贝塞尔函数。问题是当层数n是4时,大概要15秒;n=5时,要60秒;n=6时,要360秒。我要计算的n是10,然后要在240个不同的模量下算应力。我试了vpa(diff_sigma_r,3),结果时间更长了。请问有什么好的方法可以提高速度吗?
%
clc;
clear all;
close all;
%
tic;
% Input pavement information
P=9000*4.448222;%load (N)
a=0.1241;%radius (m)
n=6;% number of layers
nu=[0.35;0.4;0.2;0.4;0.4;0.4];%Poisson's ratio
E=[2150060;34500;184000;70500;4480;27000]*6894.757;% layer modulus (Pa)
layer_thichness=[4.9;8;6;12;11]*0.0254;% layer thickness (m)
z=41.9*0.0254;
r=0.0001;
% Calcualte depth from surface.
H=zeros(n-1,1);
for ii=1:n-1
H(ii)=sum(layer_thichness(1:ii));
end
% Define matrix of coefficient