2012-03-11 2 views
3

У меня есть трехмерный массив, представляющий сетку xy, а вектор z представляет собой глубину. Я знаю только глубины определенных строк и пытаюсь интерполировать массив. Мои вопросы: как создать массив 720x400 без установки всех значений в 0 (поскольку это может повлиять на интерполяцию).Инициализировать массив без нулей

Спасибо!

+2

Это совсем не ясно. Если вы не хотите инициализировать значения до 0, то для чего вы хотите их инициализировать? –

ответ

2

Не надо инициализировать пустые строки в специальное значение. Вместо этого вы можете изменить процедуру интерполяции, чтобы присвоить нулевой вес этим строкам. Тогда они не повлияют на интерполяцию.

Простым способом сделать это в MATLAB будет использование метода griddata для интерполяции.

8

Вы можете использовать:

A = nan(m,n,...); 

инициализировать матрицу с NaN's, если это то, что вы просите. Другие популярные варианты: inf(m,n,...) для инициализации Inf's и ones(m,n,...) для инициализации 1's.

Таким образом, чтобы создать 720x400 матрицу полный NaN's вы можете просто:

A = nan(720,400); 
Смежные вопросы