r语言和matlab的区别,R语言与matlab循环时间对比

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

想R语言与matlab循环时间对比,到底相差多少,不看不知道,一看吓一跳:

1)R语言

t1=Sys.time()

a=NULL

for(i in 1:1000){

for(j in 1:1000){

for (k in 1:1000){

m= 1000- i - j-k

if(i < j & j< k& k< m & i^2 + j^2 + k^2 == m^2)

a = rbind(a,c(i,j, k,m))

else

next

}

}

}

t2=Sys.time()

t2-t1

由于不愿再等,我们中途中断,看一下时间和结果:

> t2=Sys.time()

> t2-t1

Time difference of 3.698698 mins

> a

[,1] [,2] [,3] [,4]

[1,] 2 205 370 423

[2,] 3 288 296 413

[3,] 10 145 410 435

[4,] 10 236 340 414

[5,] 10 265 314 411

[6,] 14 198 369 419

[7,] 16 166 392 426

[8,] 18 285 290 407

[9,] 24 128 414 434

[10,] 25 214 350 411

[11,] 30 120 416 434

2)matlab

tic;

a=[];

for i=1:1000

for j=1:1000

for k=1:1000

m=1000-i-j-k;

ifi

a=[a;i,j,k,m];

end

end

end

end

a

toc

结果:

a =

2 205 370 423

3 288 296 413

10 145 410 435

10 236 340 414

10 265 314 411

14 198 369 419

16 166 392 426

18 285 290 407

24 128 414 434

25 214 350 411

30 120 416 434

40 160 383 417

45 50 450 455

50 226 325 399

56 232 316 396

62 184 352 402

64 127 392 417

74 124 388 414

75 236 300 389

80 100 400 420

80 120 387 413

80 264 270 386

84 144 368 404

90 170 345 395

94 149 358 399

96 206 312 386

100 244 275 381

105 150 350 395

120 155 336 389

120 200 300 380

130 140 340 390

140 210 276 374

150 225 254 371

164 223 244 369

175 200 256 369

Elapsed time is 75.991171 seconds.

后记:有时间,再用python来对比一下看看。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值