如何运行一个while循环1000次

13个视图(30天)
Yifei杨
Yifei杨 2022年10月17日
评论道: Torsten 2022年10月18日
这是我的matlab代码,我尝试运行这个while循环1000次,但我不知道如何去做。
你能给我一些想法abouut它。
T = 400;
x = 150;%初始数量的钱。
xx = [150];tt = [0];
tstart = 0;
ev_list =正*的(3 2);%的记录时间,类型
ev_list(1) =(7 + 3 *兰德,1);% 1型事件时间表
ev_list(2) =(25 + 10 *兰德,2);% 2型事件时间表
ev_list(3) =(日志(rand), 3];
ev_list = sortrows (ev_list, 1);
i = 1:1000
t = tstart
t < t
t = ev_list (1,1);
ev_type = ev_list (1、2);
开关ev_type
情况下1
x = x + 16 *日志(rand);
ev_list(1) =[7 + 3 *兰特+ t, 1];
情况下2
x = x + 100;
ev_list(1) =(25 + 10 *兰德+ t, 2);
情况下3
x = x - (5 + randn);
ev_list(1) =(日志(rand) + t, 3];
结束
ev_list = sortrows (ev_list, 1);%排序事件列表
xx = (xx, x);
tt = (tt, t);
结束
XX{我}= XX;
TT{我}= TT;
xx = [];
tt = [];%重置t值< t
结束

接受的答案

Torsten
Torsten 2022年10月17日
编辑:Torsten 2022年10月17日
iter = 0;
t < t & & iter < 1000
iter = iter + 1;
结束
7评论
Torsten
Torsten 2022年10月18日
我改变不同的东西在while循环。所以你需要复制完整的代码。

登录置评。

答案(1)

约翰D 'Errico
约翰D 'Errico 2022年10月17日
您使用一个for循环当你知道你需要多少次迭代。所以我不知道为什么你想使用一个while循环为一个特定的迭代次数。点,使用while循环计数器需要更多的工作。为什么你要做更多的工作吗?所以…
i = 1:1000
的东西
结束
而不是定性的事情是这样的:
counter = 1;
计数器< = 1000
的东西
counter = counter + 1;
结束
所以没有太多的更多的工作,但是现在你需要保持柜台,当你完成测试。你必须小心确保正常循环终止。你应该增加柜台后,或在最后?(注意,有时你可能做在一个地方或另一个,然后你需要小心,否则您的代码可能会在第999届迭代终止,或者去一个太远,等等。这是错误的东西是由)。
foor循环更容易想象,认识到循环将持续1000次迭代,等。for循环使得更好的代码。好的代码易于阅读,易于理解,易于调试,容易维护。
使用while循环主要是当你不知道时,循环将终止。
1评论
Yifei杨
Yifei杨 2022年10月17日
谢谢你这么多!因为我新matlab和这是我的一个请求的项目。我不知道改变while循环,因为我不擅长它。请求运行代码1000倍。

登录置评。

类别

找到更多的在循环和条件语句帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!