如何将特定行设置为1并将所有其他行设置为零?

时间:2017-07-04 22:12:11

标签: algorithm matlab matrix logic

如何将特定行设置为矩阵的一个和所有其他条目为零?

例如,让我们考虑下面的矩阵

Matrix M = 0 0 0 
           1 0 5
           2 0 4
           5 6 8
           0 3 10

我想将第4行设置为结果中的那些,其余为零。

Result = 0 0 0
         0 0 0 
         0 0 0 
         1 1 1
         0 0 0

如何做到这一点?

1 个答案:

答案 0 :(得分:2)

鉴于任务的简单性,我宁愿建议创建一个新的矩阵。只需使用原始矩阵的大小。假设你有矩阵A

B = zeros(size(A));

这将创建一个与B大小相同的所有0的矩阵A。然后,如果您需要更改其中一行的值(例如,示例中的第4行)

B(4,:)=1;

将1分配给该行中的所有值。我建议在询问任何进一步的问题之前在matlab中阅读关于矩阵索引的this page;)