matlab循环语句for加什么才能算出循环次数?
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/08 16:36:49
matlab循环语句for加什么才能算出循环次数?
for语句已编好:
for m=101:2:200 %步长为2
k=fix(sqrt(m)); %fix取整,sqrt开方
for i=2:k+1
if rem(m,i)==0;%rem求余数
break;%提前结束,跳出matlab循环语句
end
end
if i>=k+1
disp(int2str(m))%整数转换为字符型数组
end
end
for语句已编好:
for m=101:2:200 %步长为2
k=fix(sqrt(m)); %fix取整,sqrt开方
for i=2:k+1
if rem(m,i)==0;%rem求余数
break;%提前结束,跳出matlab循环语句
end
end
if i>=k+1
disp(int2str(m))%整数转换为字符型数组
end
end
![matlab循环语句for加什么才能算出循环次数?](/uploads/image/z/688403-11-3.jpg?t=matlab%E5%BE%AA%E7%8E%AF%E8%AF%AD%E5%8F%A5for%E5%8A%A0%E4%BB%80%E4%B9%88%E6%89%8D%E8%83%BD%E7%AE%97%E5%87%BA%E5%BE%AA%E7%8E%AF%E6%AC%A1%E6%95%B0%3F)
if rem(m,i)==0;%rem求余数
m%在break之前输出m
i%同理输出i
break;%提前结束,跳出matlab循环语句
end
再问:
运行后得到很乱的结果,我的意思是统计本次循环的次数,望兄台再给点建议。
再答: 你的本次循环指的是外面的m循环,还是里面的i循环 for m=101:2:200 %步长为2 k=fix(sqrt(m)); %fix取整,sqrt开方 for i=2:k+1 if rem(m,i)==0;%rem求余数 break;%提前结束,跳出matlab循环语句 end end if i>=k+1 disp(['m=' int2str(m) '是素数'])%整数转换为字符型数组 disp(['总共循环了' int2str(i) '次']) else disp(['m=' int2str(m) '不是素数']) disp(['总共循环了' int2str(i) '次']) end end
再问: 亲,如何统计整个循环的所有次数,你这样运行的是m值每个数所循环的次数,望解答下,谢谢
再答: %亲,能加分吗 a=0; for m=101:2:200 %步长为2 k=fix(sqrt(m)); %fix取整,sqrt开方 for i=2:k+1 if rem(m,i)==0;%rem求余数 break;%提前结束,跳出matlab循环语句 end end if i>=k+1 disp(['m=' int2str(m) '是素数'])%整数转换为字符型数组 disp(['总共循环了' int2str(i) '次']) else disp(['m=' int2str(m) '不是素数']) disp(['总共循环了' int2str(i) '次']) end a=m*i+a; end disp('------------------------------------') disp(['总共循环了' int2str(a) '次'])
再问: 运行你上面的程序,总共循环的次数怎么那么大呀?![](http://img.wesiedu.com/upload/8/21/821f16e8ba4f10c2baefd99b8a9ac1a2.jpg)
再答: a=i+a;%这个不应该乘m,我搞错了
再问: 亲,这个总共循环413次,这个运行的答案是正确的不?望检验下,最后问一个问题:int2str(m),这个是什么意思?你扣扣是多少?
再答: 这程序不是你编的?你原来的代码中不是也用到这个函数了,晕,int2str就是把整数转为字符 结果没问题,274397279 亲,能加分吗,打字打得好累啊
m%在break之前输出m
i%同理输出i
break;%提前结束,跳出matlab循环语句
end
再问:
![](http://img.wesiedu.com/upload/f/a3/fa398bdb0fb5760d28c69f708a16b9be.jpg)
再答: 你的本次循环指的是外面的m循环,还是里面的i循环 for m=101:2:200 %步长为2 k=fix(sqrt(m)); %fix取整,sqrt开方 for i=2:k+1 if rem(m,i)==0;%rem求余数 break;%提前结束,跳出matlab循环语句 end end if i>=k+1 disp(['m=' int2str(m) '是素数'])%整数转换为字符型数组 disp(['总共循环了' int2str(i) '次']) else disp(['m=' int2str(m) '不是素数']) disp(['总共循环了' int2str(i) '次']) end end
再问: 亲,如何统计整个循环的所有次数,你这样运行的是m值每个数所循环的次数,望解答下,谢谢
再答: %亲,能加分吗 a=0; for m=101:2:200 %步长为2 k=fix(sqrt(m)); %fix取整,sqrt开方 for i=2:k+1 if rem(m,i)==0;%rem求余数 break;%提前结束,跳出matlab循环语句 end end if i>=k+1 disp(['m=' int2str(m) '是素数'])%整数转换为字符型数组 disp(['总共循环了' int2str(i) '次']) else disp(['m=' int2str(m) '不是素数']) disp(['总共循环了' int2str(i) '次']) end a=m*i+a; end disp('------------------------------------') disp(['总共循环了' int2str(a) '次'])
再问: 运行你上面的程序,总共循环的次数怎么那么大呀?
![](http://img.wesiedu.com/upload/8/21/821f16e8ba4f10c2baefd99b8a9ac1a2.jpg)
再答: a=i+a;%这个不应该乘m,我搞错了
再问: 亲,这个总共循环413次,这个运行的答案是正确的不?望检验下,最后问一个问题:int2str(m),这个是什么意思?你扣扣是多少?
再答: 这程序不是你编的?你原来的代码中不是也用到这个函数了,晕,int2str就是把整数转为字符 结果没问题,274397279 亲,能加分吗,打字打得好累啊