如何在MATLAB中将数字变量转换为字符串

1 matlab text

A=rand(10)
B=find(A>98)
Run Code Online (Sandbox Code Playgroud)

你怎么有文字说"找到2个元素",其中2是一般的,即它不是文本,所以如果我改变B=find(A>90)它将自动不再是2.

Jac*_*cob 7

some_number = 2;
text_to_display = sprintf('There were %d elements found',some_number);
disp(text_to_display);
Run Code Online (Sandbox Code Playgroud)

此外,如果要计算大于98in 的元素数A,则应使用以下其中一项:

numel(find(A>98));
Run Code Online (Sandbox Code Playgroud)

要么

sum(A>98);
Run Code Online (Sandbox Code Playgroud)

sprintf是一种非常优雅的显示此类数据的方式,对于具有C/C++背景的人来说,它很容易开始使用它.如果您对format-specifier语法不熟悉(请查看链接),那么您可以使用:

text_to_display = ['There were ' num2str(some_number) ' elements found'];
Run Code Online (Sandbox Code Playgroud)

但我会建议sprintf:)

  • 如果您不关心保存字符串,可以通过简单地调用`fprintf`(并且不保存任何输出)来跳过对disp的调用,这也将输出到显示器.请注意,您可能希望添加"\n"以确保显示新行. (3认同)