python和matlab计算速度对比_【转载】Fortran与Matlab的计算速度对比(Code by myself)...

http://blog.163.com/zpfzcjndx@126/blog/static/6354568120135196735577/

最近一直在计算向量式有限元的膜单元,笔者真心给Matlab的计算速度给跪了,之前分析梁杆单元的时候还能接受,但现在真心无语了,电脑常跑了一夜,第二天早上却发现计算结果是错的。因此我不得不投向数值计算最经典的Fortan语言。

本文以一个简单的平面桁架算例,如图1,分别用Fortran和Matlab编写相同的分析程序进行计算,它们的计算速度可以说有天壤之别,如图2,分别增大计算循环步数两种语言的计算时间比较,图3为个人计算机的性能配置。这也印证了网上盛传的一句话“MATLAB只是个高级计算器”,当然,决不能因此一棒子拍死MATLAB,它在很多方面的功能还是很强大的,是其他一些软件是无法比拟的。

图1

计算模型

图2 计算速度对比

图3 计算机配置

MATLAB程序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

clc

clear

Node=xlsread('Data.xls','Node');

Element=xlsread('Data.xls','Element');

Boundary=xlsread('Data.xls','Boundary');

Section=xlsread('Data.xls','Section');

Force=xlsread('Data.xls','Force');

%%读取数据

N_Element=size(Element,1);

N_Node=size(Node,1);

N_Force=size(Force,1);

N_Boundary=size(Boundary,1);

h=1e-4;

alltime=20;

Zeta =0.1;

EA=Section(1,1)*Section(1,2);

%%阻尼系数

C1 = 1+Zeta*h/2;

C2 = 1-Zeta*h/2;

Squre_h=h^2;

Mass=0.1;

%%定义位移

ExtForce=zeros(N_Node,2);

for i=1:N_Force

ExtForce(Force(i,1),:)=Force(i,2:3);

end

ExpB=ones(N_Node,2);

for i=1:N_Boundary

ExpB(Boundary(i,1),:)=Boundary(i,2:3);

end

First=Node;

Second=Node;

%约束标识

BD=ones(N_Node,2)-ExpB;

InternalForce=zeros(N_Node,2);

El

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值