12

假设我有一个变量A=5,我想输出它,但在它的前后添加了一些文本。像这样的东西:( "There are 5 horses." 注意5应该是可变变量A

如果我写:disp("There are "),disp(A),disp(" horses.") 我得到:

There are 
5
 horses.

但我希望一切都在一条线上。

我怎么做?

4

2 回答 2

21

您可以使用:

A = 5
printf("There are %d horses\n", A)

输出:

There are 5 horses

甚至

disp(["There are ", num2str(A), " horses"])

甚至

disp(strcat("There are ", num2str(A), " horses"))

但是您必须添加一些内容,因为 octave/matlab 不允许在字符串末尾放置空格,因此输出为:

ans = There are5 horses
于 2013-03-07T09:40:43.117 回答
2

根据官方文档

请注意,输出disp始终以换行符结尾。

因此,为了避免换行,您应该使用替代方法来输出每个字符串的数据,或者先连接一个字符串,然后再连接disp它。

列出了选项

于 2019-04-14T13:14:06.480 回答