运行时间对比:
MATLAB2020a | MATLAB2016a | Python3.7 |
---|---|---|
0.07s | 9.35s | 56.02s |
MATLAB程序如下:
tic
for i=1:100000000
s=0;
s=s+1;
s=sqrt(s);
s=exp(s);
s=2*s;
s=s/2;
end
toc
运行:将该程序保存为.m文件,之后运行该文件,取运行时间稳定后的平均值。(如果将程序直接输入在命令行,运行速度会更快)
Python程序如下:
import time
import math
start = time.time()
for i in range(100000000):
s = 0
s = s+1
s = math.sqrt(s)
s = math.exp(s)
s = s*2
s = s/2
end = time.time()
print(end-start)
运行:编译器为pycharm,之间运行以上代码,取运行时间稳定后的平均值。
另外,对于MATLAB2016a:
代码1:
clear
tic
for i=1:1000000
s(i)=cos(i);
end
toc
代码2:
clear
tic
i=1:1:1000000;
s=cos(i);
toc
代码1 | 代码2 |
---|---|
0.14s | 0.01s |
对于MATLAB2020a:
代码1:
clear
tic
for i=1:1000000
s(i)=cos(i);
end
toc
代码2:
clear
tic
i=1:1:1000000;
s=cos(i);
toc
代码1 | 代码2 |
---|---|
0.03s | 0.01s |
总结:
- MATLAB2020a比起2016a进步很大,要及时更新换代
- MATLAB2020a对for循环有较大改进
- Python出乎意料的慢,不知道是不是对Python不熟悉,错误操作了,希望大佬指正