В MATLAB, как я могу установить все значения матрицы в строку? - PullRequest
0 голосов
/ 04 июня 2010

У меня есть матрица MATLAB, то есть 1000x4, для использования в качестве входа для функции.Мне нужно добавить новый столбец, который содержит определенную строку.Итак, как я могу создать новый столбец, в котором все значения «ТЕСТ»?

Ответы [ 3 ]

3 голосов
/ 04 июня 2010

Так как немного неясно, что вы хотите, вот несколько вариантов:

  • Чтобы создать матрицу 1000 на 4, где каждая строка 'TEST', вы можете использоватьфункция REPMAT :

    M = repmat('TEST',1000,1);
    
  • Чтобы добавить 'TEST' в конец каждой строки матрицы символов 1000 на 4, вы можете использоватьfunction STRCAT :

    M = repmat('a',1000,4);  %# Sample matrix filled with 'a'
    M = strcat(M,'TEST');    %# Append 'TEST' to each row of M
    
  • Если ваша матрица 1000 на 4 является числовым массивом вместо массива символов, вам придется использовать массивы ячеек для объединения различных типов данных.Вот один из способов сделать это:

    M = rand(1000,4);   %# A matrix of random numeric values
    M = num2cell(M,2);  %# Put each row of M in a cell, making
                        %#   a 1000-by-1 cell array
    M(:,2) = {'TEST'};  %# Add a second column to the cell array,
                        %#   where each cell contains 'TEST'
    
0 голосов
/ 04 июня 2010

Если это существующая матрица M строк ячеек,

M(:,end+1) = {'TEST'};
0 голосов
/ 04 июня 2010

Матрица не может содержать строку (например, 'TEST'). Вам нужно использовать массив ячеек

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