- 注册时间
- 2014-2-6
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 224
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
分别用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比较慢,但是又不知道该怎么改写。
求助大家 |
|