如何在 disp 方法中将变量与字符串结合起来?

How do you combine variables with strings in the disp method?

我想打印一些文本,然后打印一个变量,但我不知道该怎么做。

这是我目前拥有的:

disp('Temperature is:');
disp(UU(90));
disp('After: ');
disp(timeInMinutes);
disp('minutes');

但我想将所有内容集中在一个 disp 中。

我试过在变量应该在的地方使用 %f,然后在末尾加上逗号和变量名,以及:disp('text ' + variable + 'more text');

您可以使用方括号 [ ]disp 函数内将所需的输出连接成单个字符串。您还需要使用 num2str 函数将数字转换为字符串。

试试这个:

disp(['Temperature is:' num2str(UU(90)) 'After: ' num2str(timeInMinutes) ' minutes']);

您还可以使用这个功能:

function superdisp(varargin)
    s= '';  
    for i=1:length(varargin)
        if isnumeric(varargin{i})
            s= [s num2str(varargin{i})];
        elseif ischar(varargin{i})
            s= [s varargin{i}];
        else
            error('Wrong argument!');
        end
    end
    disp(s);    % output the final string
end

用法示例:

superdisp('pi= ',pi,' e=',exp(1))

或者您可以使用 fprintf:

fprintf(1,'pi=%f e=%f\n',pi,exp(1))