2016-05-17 2 views
0

Я получил в Matlab массив размером A, 0 100x100, и я хочу его проложить, допустим 3 строки и 4 столбца нулей, поэтому следующий размер - 103x104. Как это можно сделать в Matlab?Matlab zero padding в конце матрицы

Я попытался

  A=padarray(A,[3,4]); 

и его не работает. Заранее спасибо.

ответ

0
A=padarray(A,[2,2]); 

Это добавит отступы сверху, снизу, слева и справа от матрицы. Новый размер будет 104x104. Заполнение может выполняться только симметрично. В [2,2],

Первый 2 представляет 2 строки в верхней и 2 строки в нижней части матрицы (размер строки 2 + 100 + 2)

Второй 2 представляет собой 2 колонки в левой и 2 колонки в правой части матрицы (размер колонок 2 + 100 + 2)

Если вы хотите сделать прописку только вправо и снизу. Затем используйте приведенный ниже код.

rowPad=3; 
colPad=4; 
A=padarray(A,[rowPad,colPad]); 
A(1:rowPad,:)=[]; 
A(:,1:colPad)=[]; 

Новое измерение будет 103x104.

+0

Можете ли вы ответить мне, если я хочу выровнять две матрицы (представляющие два изображения), что мне делать? – alphonse

+0

@alphonse Пожалуйста, задайте это как новый вопрос, а также включите в него то, что вы подразумеваете под словом align? Вы говорите о выравнивании двух похожих изображений или просто в том, чтобы их размеры были одинаковыми. Также какая обработка будет позже сделана на изображениях thoses. –

+0

A - это оригинальное изображение, а B - размытое изображение. Я хочу выровнять их так, чтобы я мог найти параметры фильтра (найденные fspecial (param1, param2, '...')). Поэтому, чтобы указать, что изображения A и B должны быть выровнены. Изображения A и B даны мне и имеют разные, но достаточно близкие размеры. – alphonse