对于一天中多个愚蠢的问题再次抱歉。我是新手,不懂编程。我问了一个简单的问题,关于for循环这里,已经整理出来了:
How to divide two different array in for loop matlab
我需要在多次迭代中启动此for循环,比如10 000 ,以获得输出,其中结果(1:15)./ result(16:30)每次迭代都会有所不同。意思是,对于每次迭代,结果(u)都会变化。而且我仍然需要在每次迭代时显示 resultX(u)(位置)输出。
我用for循环尝试了这个。但它继续为每次迭代给我相同的结果。我不知道如何对此进行矢量化,这是最糟糕的。拜托,我需要帮助。
从评论中抓取其他信息
我需要一个矩阵输出(row = iteration, column=u)
。
我希望每次迭代都有u
值的变化,这就是我为每个
u:acx = rand();
newacx = round(acx*100);
if (newacx < 10 || newacx == 10)
[valueone,positionone] = randomFunction(a);
elseif (newacx > 10)
[valueone,positionone] = max(start(1,:));
end
答案 0 :(得分:1)
怎么样?
NUM_ITER = 10000;
out = zeros(NUM_ITER, 15);
for iter = 1:NUM_ITER
start=zeros(2,15);
a=[-12 10 -5 3 21 19 3 7 17 21];
for u = 1:30
acx = rand();
newacx = round(acx*100);
if (newacx < 10 || newacx == 10)
[valueone,positionone] = randomFunction(a);
elseif (newacx > 10)
[valueone,positionone] = max(start(1,:));
end
result(u) = valueone;
resultX(u)= positionone;
end
u = result(1:15)./result(16:30);
out(iter,:) = u;
end
out % Results of running NUM_ITER times
out(1,:) % Results of first iteration
out(2,:) % Results of second iteration
注意我真的不知道你在这个剧本中做了什么,但如果我理解你的问题,out
应该有你正在寻找的东西 - 它是一个大小为(NUM_ITER
x 15)的矩阵,其中每一行包含该迭代的u
值。