У меня есть матрица MATLAB, то есть 1000x4, для использования в качестве входа для функции.Мне нужно добавить новый столбец, который содержит определенную строку.Итак, как я могу создать новый столбец, в котором все значения «ТЕСТ»?
Так как немного неясно, что вы хотите, вот несколько вариантов:
Чтобы создать матрицу 1000 на 4, где каждая строка 'TEST', вы можете использоватьфункция REPMAT :
'TEST'
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'
Если это существующая матрица M строк ячеек,
M
M(:,end+1) = {'TEST'};
Матрица не может содержать строку (например, 'TEST'). Вам нужно использовать массив ячеек