1

可変長の3つのベクトルがありますが、1から5(両方を含む)の間に制限されています。コードの実行中に(「適切な」方法で)それらを印刷する必要があります。

ニース:=各反復の各ベクトルの開始値が整列するように、すべてのベクトルを出力させたい。

私が試したこと:

  • 現在の悪いバージョン

    it = 1:length(a)の場合

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

    終わり

他の2つについても同様です。

これにより、位置がずれます。最初のベクトルが長さ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 に答える