Как преобразовать числовую переменную в строку в MATLAB - PullRequest
1 голос
/ 06 мая 2010
A=rand(10)
B=find(A>98)

Откуда у вас текст, говорящий: «Было найдено 2 элемента», где 2 - это вообще, то есть это не текст, так что если я изменил B=find(A>90), он автоматически больше не будет 2.

1 Ответ

7 голосов
/ 06 мая 2010
some_number = 2;
text_to_display = sprintf('There were %d elements found',some_number);
disp(text_to_display);

Кроме того, если вы хотите подсчитать количество элементов, превышающее 98 в A, вам необходимо выполнить одно из следующих действий:

numel(find(A>98));

Или

sum(A>98);

sprintf - это очень элегантный способ отображения таких данных, и человеку с фоном C / C ++ довольно легко начать его использовать. Если вас не устраивает синтаксис спецификатора формата (см. Ссылку), вы можете использовать:

text_to_display = ['There were ' num2str(some_number) ' elements found'];

Но я бы порекомендовал sprintf:)

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