【发布时间】:2013-01-20 01:27:12
【问题描述】:
我正在为 for 循环进行模拟和代码
例如
IntervalInterArrivalTime = [2 3 4 5] //user input
CDF = [250 500 750 1000] // this is the probability but multiply 1000 to alculate the range
randInterArrival = [991 351 754 823] // this is pc random generated number so each time wwill be different
lengthCDF = length(CDF); // length of the CDF which in this case is =4
period = 0;
我想做的 for 循环是程序将使用 CDF 和 IntervalArrivalTime 检查 randInterArrival 的范围。例如:
如果 randInterArrival >0 并且
否则,如果 randInterArrival > CDF(1) 和
否则,如果 randInterArrival > CDF(2) 和
否则,如果 randInterArrival > CDF(3) 和
for i=1:lengthCDF
if randInterArrival(i)>0 && randInterArrival(i)< CDF(i)
period=IntervalInterArrivalTime(i)
else if randInterArrival(i)> CDF(i) % how to continued to write the statement out so that i can loop through all the items in the CDF and check which IntervalInterArrival() it is
% i stop here and dunno how to continued to loop through the CDF and check
end
end
希望大家能帮忙。提前致谢
【问题讨论】:
-
首先,您的 if 语句很时髦。见这里mathworks.com/help/matlab/ref/if.html。您要么需要使用 elseif,要么使用 else 并以 else 结尾。你还需要结束你的 for 循环。如果你不想让你的代码挂起,就把套索拿走。
-
我知道我没有结束文件,因为 for 循环还没有完成。我尝试了几种方法来执行 for 循环,但仍然失败。可以举一个类似的例子,这样我就可以让 for 循环循环并检查 CDF 吗?提前致谢
-
为什么不发布实际代码,因为“else if randInterArrival(i)> CDF(i) && ?? // i hang here ..” 看起来不像合法的 matlab 代码。我认为如果您发布原始代码,人们将能够更好地帮助您。
-
我的实际代码中包含很多无花果自动化代码。所以我只取出一部分。我想问的是如何将 randInterArrival(i) 项目与 CDF 项目进行比较。
-
伙计们,这是一个混乱。不是 MATLAB 挂在这里,而是 @Eric 在“他被卡住了”。