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来对比一下看看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中,循环结构是一种常见的结构,可以通过for、while等语句实现。在某些情况下,我们需要跳出循环从而停止循环的执行。MATLAB提供了多种跳出循环的语句,下面对它们进行一些比较。 1. break语句 break语句是跳出循环结构最常用的语句之一,其作用是立即终止所在循环结构的执行,并跳出循环结构执行后续的程序。当需要在循环中遇到特定条件才退出循环时,break语句非常有用。 2. continue语句 continue语句也是退出循环结构的语句之一,其作用是结束当前循环内的本次迭代,即跳过循环代码中continue语句后面的所有语句,直接进行下一次循环迭代。当需要在循环中遇到特定条件时,跳过当前循环迭代并进入下一次迭代时,continue语句比较有用。 3. return语句 return语句在函数中使用,其作用是结束函数的执行,并跳出函数执行后续的程序。如果在循环结构中使用return语句,则会将函数的执行结果返回到函数调用位置。 4. keyboard语句 keyboard语句用于调试程序,在代码中加入该语句后,程序执行到该语句时会暂停并弹出MATLAB命令行窗口供用户执行操作。 总体而言,这四种语句都可用于跳出循环结构,但它们的作用有所不同,应根据实际情况选择使用哪一种语句。当需要在循环中某些条件满足时跳出循环,用break语句;当需要在当前循环迭代结束时跳过本次迭代进入下一次循环迭代,用continue语句;当需要结束函数执行并返回结果时,用return语句;当需要在程序中设置断点,暂停程序执行并调试程序时,用keyboard语句。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值