2

1、0、セルコマンドを使用してマトリックスサイズを事前に割り当てる方法についてはよく知っていますが、文字列についてはどうでしょうか。

data自分自身の数値ではなく、これらの数値のASCII文字を出力したい場合、各値が1〜255の間にあるという名前のマトリックスがあるとします。

msg='';

    for i = 1 : length(data)
        msg=horzcat(msg,floor(data(i))); % horzcat doesn't ignore spaces
    end

msg

上記のコードでは、Matlabはmsgループが終了する前のサイズを認識していません。私が本当にやりたいのはmsg、ループが開始する前に変数のサイズを宣言することです。

どうやってやるの ?

4

1 に答える 1

4

マトリックスと同じように、文字列を事前に割り当てるために使用できますchar(文字列は単なるchar配列です)。

msg = char(zeros(100,1));

ただし、これはおそらく必要なものではありません(文字列を事前に割り当てる人は誰もいません)。これがあなたがやりたいことだとすれば

数値の代わりにこれらの数値のASCII文字を出力したい場合、各値が1〜255のデータという名前のマトリックスがあるとします。

char(data)ASCII/Unicode値を表示するために簡単に行うことができます。

于 2013-03-13T23:41:22.290 に答える