1
A=rand(10)
B=find(A>98)
你怎么会有短信说“有发现2个元素”,其中2是一般的,即它不是文字,所以,如果我改变了B=find(A>90)
它会自动不再是2如何数值变量转换为字符串在MATLAB
A=rand(10)
B=find(A>98)
你怎么会有短信说“有发现2个元素”,其中2是一般的,即它不是文字,所以,如果我改变了B=find(A>90)
它会自动不再是2如何数值变量转换为字符串在MATLAB
some_number = 2;
text_to_display = sprintf('There were %d elements found',some_number);
disp(text_to_display);
另外,如果你想在计算元素A
比98
更大的数量,你应该执行下列操作之一:
numel(find(A>98));
或
sum(A>98);
sprintf
是显示这样的数据非常优雅的方式,它是很容易的人用C/C++的背景开始使用它。如果你不舒服的格式说明符语法(检查出的链接),那么你可以使用:
text_to_display = ['There were ' num2str(some_number) ' elements found'];
但我会建议sprintf
:)
如果你不关心节能的字符串,你可以跳过调用disp,只需调用'fprintf'(并不保存任何输出),这也将输出到显示器。请注意,您可能希望添加'\ n'来确保显示一个新行。 – Geoff 2010-05-06 19:02:45
@Geoff - 'disp'为你贴上换行符。另外,你可以只执行'disp(sprintf(...))'或'disp(['There''...])来避免temp变量。 – mtrw 2010-05-06 20:12:47
@mtrw:disp增加了三条换行符,从而浪费了宝贵的屏幕空间。因此,我会去fprintf,除非你必须保持字符串。 – Jonas 2010-05-06 20:53:05