【发布时间】:2015-05-10 15:32:13
【问题描述】:
我可以知道如何在不使用 MATLAB 中的 for 循环的情况下替换特定矩阵位置的值吗?我初始化矩阵a,我想在每个no 的指定行和列上替换它的值。这必须在num for 循环内完成几次。 num for 循环在这里很重要,因为我希望更新原始代码中的值。
真实代码比较复杂,我正在简化这个问题的代码。
我的代码如下:
a = zeros(2,10,15);
for num = 1:10
b = [2 2 1 1 2 2 2 1 2 2 2 2 1 2 2];
c = [8.0268 5.5218 2.9893 5.7105 7.5969 7.5825 7.0740 4.6471 ...
6.3481 14.7424 13.5594 10.6562 7.3160 -4.4648 30.6280];
d = [1 1 1 2 1 1 1 1 1 1 3 1 6 1 1];
for no = 1:15
a(b(no),d(no),no) = c(1,no,:)
end
end
13 号的示例输出如下:
a(:,:,13) =
Columns 1 through 8
0 0 0 0 0 7.3160 0 0
0 0 0 0 0 0 0 0
Columns 9 through 10
0 0
0 0
非常感谢您为我提供的任何帮助。
【问题讨论】: