如何在 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))
我想打印一些文本,然后打印一个变量,但我不知道该怎么做。
这是我目前拥有的:
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))