如何在 MATLAB 中将 for 循环初始化为 运行 进行多次迭代
How to initiate for loop to run for a number of iteration in MATLAB
再次抱歉,一天中出现了多个愚蠢的问题。我是新手,不太懂编程。我在这里问了一个关于for循环的简单问题,已经整理出来了:
我需要在多次迭代中启动此 for 循环,比如 10 000,以获得输出,其中 result (1:15)。 /result (16:30) 每次迭代都会不同。意思是,对于每次迭代,result(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
怎么样
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
应该有你正在寻找的东西for -- 它是一个大小为 (NUM_ITER
x 15) 的矩阵,其中每行包含该迭代的 u
的值。
再次抱歉,一天中出现了多个愚蠢的问题。我是新手,不太懂编程。我在这里问了一个关于for循环的简单问题,已经整理出来了:
我需要在多次迭代中启动此 for 循环,比如 10 000,以获得输出,其中 result (1:15)。 /result (16:30) 每次迭代都会不同。意思是,对于每次迭代,result(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
怎么样
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
应该有你正在寻找的东西for -- 它是一个大小为 (NUM_ITER
x 15) 的矩阵,其中每行包含该迭代的 u
的值。