相关疑难解决方法(0)

将matlab矩阵转换为向量

我想在预定义的位置获得Matlab矩阵元素的向量.例如,我有以下内容

>> i = [1,2,3];
>> j = [1,3,4];
>> A = [1,2,3,4; 5,6,7,8; 9,10,11,12; 13,14,15,16]

A =

     1     2     3     4
     5     6     7     8
     9    10    11    12
    13    14    15    16
Run Code Online (Sandbox Code Playgroud)

我想要一个矢量,它会给我在Acorrespongin的位置的值i,j.我试过了

A(i,j)

ans =

     1     3     4
     5     7     8
     9    11    12
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的.我想得到以下内容

>> [A(i(1),j(1)); A(i(2),j(2));A(i(3),j(3))]

ans =

     1
     7
    12
Run Code Online (Sandbox Code Playgroud)

什么是matlab语法?请避免建议循环或任何不是矢量化形式的东西,因为我需要快速完成.希望会有一些内置功能.

matlab vector matrix

5
推荐指数
1
解决办法
2068
查看次数

如何更改矩阵中多个点的值?

我有一个[500x500]的矩阵.我有另一个[2x100]矩阵,它包含可能在第一个矩阵内的坐标对.我希望能够将第一个矩阵的所有值更改为零,而不需要循环.

mtx = magic(500);
co_ords = [30,50,70;  30,50,70];
mtx(co_ords) = 0;
Run Code Online (Sandbox Code Playgroud)

indexing matlab matrix variable-assignment

2
推荐指数
1
解决办法
3661
查看次数

将一组索引索引到矩阵

我从图像中检索了所有非白色像素:

[ii, jj] = find(BlackOnWhite < 255)
Run Code Online (Sandbox Code Playgroud)

然后我尝试将这些像素坐标索引到矩阵:

image(ii, jj) = 0
Run Code Online (Sandbox Code Playgroud)

但是零没有出现在预期的位置.如何将零只放在由iijj([ii(1), jj(1)], [ii(2), jj(2)]等等)对指定的位置?

matlab mask matrix indices matrix-indexing

0
推荐指数
1
解决办法
73
查看次数