我们只想说我在MATLAB中键入if ( in_array(2, range(1,7)) ) {
echo 'Number 2 is in range 1-7';
}
。它给了我这个输出:
2+3
为什么输出会在2个换行符之后出现?我该如何纠正?
理想情况下,我会得到以下输出
>> 2+3
ans =
5
答案 0 :(得分:2)
您可以使用format
命令更改打印时变量的显示方式。在您的情况下,您可能希望使用'compact'
选项
format compact
这将删除所有不必要的换行符。
2+3
% ans=
% 5
不幸的是,没有内置的方法可以在同一行上显示所有内容,因为MATLAB的显示是为了处理多维数据而构建的。如果你真的想要,可以重载display
命令。您可以创建一个名为@double
的文件夹,然后在该
display
的函数
@double/
display.m
然后在display.m
内你可以做这样的事情
function display(x)
% If it's a scalar, then show it all on one line
if isscalar(x)
fprintf('%s = %g\n', inputname(1), x);
else
% Otherwise use the built-in display command
builtin('display', x)
end
end
然后,当您拥有double
变量
>> 2 + 3
% ans = 5
如果您想重载其他类型数据(uint16
,int8
,uint8
)的显示,则需要执行相同操作除了将副本放在他们的@
文件夹中之外。