2014-09-10 11 views
0

Как создать пустой массив в matlab, который принимает элементы из матрицы, когда вы не знаете элементы no.of, которые он собирается содержать?Как создать пустой массив в матрице

+0

[Это] (https://www.google.com/?gws_rd=ssl#safe=off&q=how+to+create+an+empty+matrix+in+matlab) поиск должен был помочь вам, если бы вы сделал это. –

+1

Я согласен с тем, что ParagS.Chandakkar, однако, я удивлен, что Mathworks не говорит о различных способах добавления материала в/расширение пустой матрицы. Они касаются конкатенации массива, но метод «end + 1» не найден. –

ответ

1

Используйте оператора []. Пример:

x = []; 

Если вы хотите быть конкретными в типа пустой матрицы, используйте empty свойство. Примеры:

emptyDoubleMatrix = double.empty; % Same as emptyDoubleMatrix = []; 
emptySingleMatrix = single.empty; 
emptyUnsignedInt8Matrix = uint8.empty; 

Это работает и для пустых матриц классов. Пример:

emptyFunctionHandleMatrix = function_handle.empty; 
0

Вы можете использовать пустую матрицу/вектор обозначения, [] и Matlab будет создан заполнитель для него.

x = [] 

Теперь, если вы хотите добавить скаляр, скажем num, к нему, вы не можете индексировать это потому, что он пуст.

Однако, вы можете:

  1. Используйте конкатенацию массива для конкатенации себя с другим скаляром:

    x = [x num] 
    
  2. Используйте end+1 обозначения, для решения первого доступного местоположения:

    x(end+1) = num 
    

Оба вышеупомянутых двух обозначения также работают, когда вы хотите добавить строку или вектор-столбец к существующим векторам вектора строки или столбца. Но когда вы конкатенируете векторы/матрицы, помните, чтобы они соответствовали измерениям.

Смежные вопросы