Инициализировать массив без нулей - PullRequest
3 голосов
/ 11 марта 2012

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

Спасибо!

Ответы [ 2 ]

8 голосов
/ 11 марта 2012

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

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

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

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

A = nan(720,400);
2 голосов
/ 11 марта 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...