1

我有 3 个可变长度的向量,但在 1 和 5 之间(包括两者)。我需要在代码运行时将它们打印出来(以“好”的方式)。

Nice := 我想让所有向量都以这样一种方式打印,即每次迭代中每个向量的起始值都是对齐的。

我试过的:

  • 当前错误版本

    因为它=1:长度(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是我今天去的地方。它们每天都在变化。

在此处输入图像描述

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

4

1 回答 1

1

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

for it=1:5

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

end
于 2013-02-24T21:16:17.750 回答