matlab数值积分速度快的,如何提高数值积分的速度

该博客讨论了一个计算多层弹性体系应力的程序,该程序使用数值积分和贝塞尔函数,随着层数增加,计算时间显著增长。博主寻求提高数值积分速度的策略,尝试了vpa但导致更长的计算时间。文章期望找到解决方案以优化n=10层并在240个不同模量下的计算效率。
摘要由CSDN通过智能技术生成

下面这个程序是用来计算多层弹性体系内各点的应力的。先要解线性方程组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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值