找回密码
 欢迎注册
查看: 9304|回复: 2

[讨论] mathematica vs matlab 矩阵计算能力

[复制链接]
发表于 2016-3-17 15:34:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

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

mathematica

n = 500;
a = IdentityMatrix[n]*1.0;
b = a;
Timing[For[i = 1, i <= n, i++, b = b + a;]]
b = a;
Timing[For[i = 1, i <= n, i++,
  For[k = 1, k <= n, k++, b[[k, k]] = b[[k, k]] + 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比较慢,但是又不知道该怎么改写。
求助大家
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-3-18 16:04:59 | 显示全部楼层
为什么不整体计算?
a+b

补充内容 (2016-3-20 01:28):
mathematica用DO命令

点评

什么意思  发表于 2016-3-18 18:39
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-20 06:00 , Processed in 0.043720 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表