打印不知道长度的矢量A-Priori :: MATLAB

时间:2013-02-24 06:28:42

标签: matlab printf

我有3个可变长度的矢量,但是在1到5之间(包括两者)。我需要在代码运行时打印出来(以“漂亮”的方式)。

尼斯:=我想让所有的矢量打印出来,使每次迭代中每个矢量的起始值对齐。

我尝试了什么:

  • 当前不良版本

    for it = 1:length(a)

    fprintf('%4.4f',a(it))

和其他两个相似。

这使他们错位。如果第一个向量只有长度为1,那么一切都搞砸了。

  • Sloppy Output Version

我用0填充空位置并打印

for it=1:5

fprintf(' %4.4f ',a(it))

end

但这很草率,因为它给读者留下了错误的印象。读者会认为向量是全长的,值为0。

但是,这会正确打印出来。所有载体都适当对齐。

示例

在我的代码中,a,b,c是数字,但假设a,b,c是字符串列表。 a是我今天看到的动物,b是我吃的午餐,c是我今天去的地方。它们每天都有所不同。

enter image description here

编辑:在最后一行,大象应该是红色(正确的版本)。

1 个答案:

答案 0 :(得分:1)

修改“草率版本”,您只需打印空格而不是零:

for it=1:5

    if a(it) == 0
        % print 11 spaces
        fprintf('           ')
    else
        fprintf(' %4.4f ',a(it))
    end

end