Я создал некоторый код Matlab, который может помочь любому, кто помогает, и увидеть проблему.Как правильно получить метки точек данных Matlab?
Когда я запускаю следующий код, для каждой точки данных на моем графике я, кажется, получаю все 15 меток вместо одной конкретной метки.
Как я могу получить метки точек данных Matlab для следующего кода?
На основе предложений, я сделал следующее:
Я заменил эти две строки кода:
этикетки = num2str (test_vector_label, 'F% d');
labels_cell = cellstr (метки);
С помощью этой строки кода, как предложено:
labels_cell = strread (num2str (test_vector_label), '% s');
В настоящее время существует два последующих вопросов:
1) Появится предупреждение, заявляющие, что я должен использовать TextScan вместо strread:
labels_cell = TextScan (num2str (test_vector_label), '% s') ;
Тогда, когда я использую textscan, как в приведенной выше строке кода, я получаю сообщение об ошибке?
"Ошибка с помощью текста Cell массив строк может содержать только строки и числовые матрицы"
«Ошибка в Code_Test (строка 46) текст (x_val, y_val, labels_cell, 'горизонтальные', 'левый' , «вертикальный», «нижний») «
2) Как положить письмо перед цифровыми метками? Например, в исходном коде я положил букву F, затем номер?
%--------------Randomly select training and testing data.-----------
num_data = 35;
data_idx = 1:35;
train_data_idx_tmp = randsample(num_data,20)
train_dataRand_idx = sort(train_data_idx_tmp)
% Lia = ismember(A,B) returns an array the same size as A, containing 1 (true)
% where the elements of A are found in B, and 0 (false) elsewhere.
test_data_idx_tmp = ismember(data_idx,train_dataRand_idx)
test_dataRand_idx = data_idx(~test_data_idx_tmp)'
% Check to see if training and test data index are exclusive.
check_train_test_idx = ismember(train_dataRand_idx,test_dataRand_idx)
%--------------------------------------------------------------------------
% Testing stage.
test_vector = test_dataRand_idx; %Select randomly obtained testing data.
% Training stage.
train_vector = train_dataRand_idx; %Select randomly obtained training
x_val = [1:15];
y_val = 2*[1:15];
plot(x_val,y_val,'or','MarkerFaceColor','r')
grid on
%Put specific data point labels on plots.
test_vector_label = test_vector';
labels = num2str(test_vector_label,'F%d');
labels_cell = cellstr(labels);
text(x_val,y_val,labels_cell,'horizontal','left', 'vertical','bottom')
Hi dpmcmlxxvi, спасибо отвалов. Я заменил код, который вы предложили: label_cell = strread (num2str (test_vector_label), '% s'); Теперь есть две проблемы: (1) Появляется предупреждение о том, что я должен использовать textscan: labels_cell = textscan (num2str (test_vector_label), '% s'); Когда я использовал это, я получаю сообщение об ошибке? (2) Как положить письмо перед метками? Например, в исходном коде я написал букву F? – Raptor
Также, как я могу добавить связанные вопросы к моим оригинальным вопросам? Кажется, нет возможности сделать это, и поэтому я вынужден использовать опцию «добавить комментарий». – Raptor
@Raptor, в большинстве случаев предпочтительно начинать новый вопрос, ЕСЛИ ваши последующие вопросы не имеют прямого отношения к ответу пользователя. В этом случае предпочтительнее использовать раздел комментариев. Как правило, вопрос должен быть изменен только для добавления дополнительных деталей и пояснений. – Juderb