我有3个可变长度的矢量,但是在1到5之间(包括两者)。我需要在代码运行时打印出来(以“漂亮”的方式)。
尼斯:=我想让所有的矢量打印出来,使每次迭代中每个矢量的起始值对齐。
我尝试了什么:
当前不良版本
for it = 1:length(a)
fprintf('%4.4f',a(it))
端
和其他两个相似。
这使他们错位。如果第一个向量只有长度为1,那么一切都搞砸了。
我用0填充空位置并打印
for it=1:5
fprintf(' %4.4f ',a(it))
end
但这很草率,因为它给读者留下了错误的印象。读者会认为向量是全长的,值为0。
但是,这会正确打印出来。所有载体都适当对齐。
示例
在我的代码中,a,b,c是数字,但假设a,b,c是字符串列表。 a是我今天看到的动物,b是我吃的午餐,c是我今天去的地方。它们每天都有所不同。
编辑:在最后一行,大象应该是红色(正确的版本)。
答案 0 :(得分:1)
修改“草率版本”,您只需打印空格而不是零:
for it=1:5
if a(it) == 0
% print 11 spaces
fprintf(' ')
else
fprintf(' %4.4f ',a(it))
end
end