26

假设我有一个名为 " x" 和的变量x=5

我想要做:

disp('x is equal to ' + x +'.');

并打印该代码:

x 等于 5。

这就是我习惯在 Java 中做事的方式,所以它们必须是在 MATLAB 中执行此操作的类似方式。

谢谢

4

3 回答 3

69

如果你想使用disp,你可以构造这样的字符串来显示:

disp(['x is equal to ',num2str(x),'.'])

我个人更喜欢使用fprintf,它将使用以下语法(并让我对 x 的值的格式进行一些控制)

fprintf('x is equal to %6.2f.\n',x);

当然,您也可以作为字符串提供,并获得与(给予或采取几个换行符)x相同的输出。disp

fprintf('x is equal to %s\n',num2str(x))
于 2011-10-05T04:50:58.923 回答
1

在 matlab 中打印出一些标量变量是一团糟(见上面的答案)。在您的搜索路径中有这样的功能有助于:

function echo(varargin)
str = '';
for k=1:length(varargin)
    str = [str ' ' num2str(varargin{k})];
end 
disp(str)
于 2015-02-28T18:04:39.950 回答
0

只需在 disp() 中嵌套一个 sprintf()。

    disp(sprintf("X is equal to %d.",x));
于 2019-08-13T20:30:41.270 回答