Как преобразовать эту матрицу 2x2 в показанную матрицу 3x3? - PullRequest
0 голосов
/ 21 октября 2018

Как преобразовать приведенную ниже матрицу в матрицу, требуемую в Matlab, я попытался использовать логику, но не смог создать логику:

 6     8
10    16

требуется

 6     0     8
 0     0     0
10     0    16

Ответы [ 3 ]

0 голосов
/ 21 октября 2018
B=zeros(3);
B([1,end],[1,end])=A;
0 голосов
/ 21 октября 2018

Другие решения - это, вероятно, то, что вам нужно, но, тем не менее, вот излишне сложный способ сделать то же самое:

B = conv2( ones(2), A) .* ~strel('diamond',1).Neighborhood;

Для функции strel требуется обработка изображенийИнструментарий, поэтому, если у вас его нет, вы можете вместо этого использовать некоторые варианты решения этих вопросов: 1 , 2 .

Протестировано на R2018b.

0 голосов
/ 21 октября 2018

Будет работать следующий код:

A=[6 8; 10 16];
B=zeros(3);
B([1,3],[1,3])=A;
B
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...