如何在matlab中的循环中创建一个增量矩阵?
How to create a matrix with the increments within a loop in matlab?
我在 matlab 中在另一个循环中创建了一个循环,我想在第二个循环中创建一个矩阵,它给出两个增量的值加上一个正在计算的参数。我做了以下代码,但矩阵只是保存最后的值,所以它不是矩阵而是向量:
for inclin=29:1:39
for alfa=1:1:90
Ii_perc=...
Di_perc=...
Gi_perc=...
r=...
matriz=[inclin alfa r]
end
end
所以,我想要一个矩阵,其中包含循环在每个循环中给出的 inclin/alfa/r 的不同组合,即,如下所示:
matriz =[29 1 0.34
29 2 0.32
29 3 0.40
...........]
我真的需要一些帮助来解决这个问题..
谢谢!
如果我理解正确的话,我可以提供这种变体:
Matrix = zeros((39-29+1)*90,3);
count = 1;
for inclin=29:1:39
for alfa=1:1:90
r=rand();
Matrix(count,:)=[inclin alfa r];
count = count+1;
end
end
问题是
matriz=[inclin alfa r]
是一个向量。如果你想在每个循环迭代中附加一行,你需要像这样索引它:
matriz(i, :)=[inclin alfa r]
以这种方式使用冒号表示将等式的右侧分配给矩阵的第 i 行。
我在 matlab 中在另一个循环中创建了一个循环,我想在第二个循环中创建一个矩阵,它给出两个增量的值加上一个正在计算的参数。我做了以下代码,但矩阵只是保存最后的值,所以它不是矩阵而是向量:
for inclin=29:1:39
for alfa=1:1:90
Ii_perc=...
Di_perc=...
Gi_perc=...
r=...
matriz=[inclin alfa r]
end
end
所以,我想要一个矩阵,其中包含循环在每个循环中给出的 inclin/alfa/r 的不同组合,即,如下所示:
matriz =[29 1 0.34
29 2 0.32
29 3 0.40
...........]
我真的需要一些帮助来解决这个问题.. 谢谢!
如果我理解正确的话,我可以提供这种变体:
Matrix = zeros((39-29+1)*90,3);
count = 1;
for inclin=29:1:39
for alfa=1:1:90
r=rand();
Matrix(count,:)=[inclin alfa r];
count = count+1;
end
end
问题是
matriz=[inclin alfa r]
是一个向量。如果你想在每个循环迭代中附加一行,你需要像这样索引它:
matriz(i, :)=[inclin alfa r]
以这种方式使用冒号表示将等式的右侧分配给矩阵的第 i 行。