matlab与r语言函数对照表,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来对比一下看看。

你可能感兴趣的:(matlab与r语言函数对照表)