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

时间:2016-08-21 01:33:14

标签: matlab disp

我想打印出一些文本,然后打印一个变量,但我无法弄清楚如何做到这一点。

这就是我现在所拥有的:

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

但我想将它全部放在一个disp中。

我已尝试使用变量所在的%f,然后在末尾添加逗号和变量名称以及:disp('text ' + variable + 'more text');

2 个答案:

答案 0 :(得分:2)

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

试试这个:

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

答案 1 :(得分:1)

您也可以使用此功能:

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))