shower 发表于 2016-3-17 15:34:53

mathematica vs matlab 矩阵计算能力

分别用mathematica和matlab做矩阵加法,记录cup时间

mathematica

n = 500;
a = IdentityMatrix*1.0;
b = a;
Timing]
b = a;
Timing[For[i = 1, i <= n, i++,
For] = b[] + 1]]]

{0.878563, Null}
{0.609301, Null}

matlab

n = 500;
a = eye(n);
b = a;
t1 = cputime();
for i = 1 : n
   b = b + a;
end
t2 = cputime();
disp(t2-t1);
b = a;
t1 = cputime();
for i = 1 : n
   for k = 1 : n
      b(k,k) = b(k,k) + 1;
   end
end
t2 = cputime();
disp(t2-t1);

   0.4900

   0.0400

这样比较matlab明显快很多,但是我记得看过的一些mathematica和matlab数值运算比较结果应该是差不多的。
看见有人说mathematica的for比较慢,但是又不知道该怎么改写。
求助大家

zeroieme 发表于 2016-3-18 16:04:59

为什么不整体计算?
a+b

补充内容 (2016-3-20 01:28):
mathematica用DO命令
页: [1]
查看完整版本: mathematica vs matlab 矩阵计算能力