我有以下矩阵:
a =
1 4
6 4
之后,我创建了一个与new
大小相同的零矩阵a
:
new =
0 0
0 0
我正在尝试执行以下操作:
(2,1)
中的位置a
分配给变量p
new
中的该位置,我想为其赋予值1
为此,我做了以下事情:
p=a(2,1);
new(p)=1;
但是,我得到了以下内容:
In an assignment A(I) = B, a matrix A cannot be resized.
似乎p=a(2,1);
也分配了该位置的值,而不是位置本身。
我该如何解决这个问题?
感谢。
答案 0 :(得分:1)
如果你想要“位置”,你可以使用该像素的线性索引:
p = sub2ind( size(a), 2, 1 );
new(p) = 1;