Matlab:文字列配列と文字列の違い

序文

sprintf()を使用して出力をフォーマットすると、formatSpecが単一引用符で作成された文字列配列または文字列( 'str')で作成された文字列であることがわかりました。それで、私は疑問に思いました、2つの違いは何ですか、それぞれはどこに適用されますか?

公式文書

Character arrays and string arrays provide storage for text data in MATLAB®.

    A character array is a sequence of characters, just as a numeric array is a sequence of numbers. A typical use is to store short pieces of text as character vectors, such as c = 'Hello World'.

    A string array is a container for pieces of text. String arrays provide a set of functions for working with text as data. Starting in R2017a, you can create strings using double quotes, such as str = "Greetings friend". To convert data to string arrays, use the string function.

コード

str=sprintf('pi = %.5f',pi);  %输出类型为char
str1=sprintf(string('pi = %.5f'),pi);    %输出类型为string

出力結果:

%测试字符串数组
>> class(str)
ans =
char

>> str(1)
ans =
p

>> size(str)
ans =
     1    12

%测试string
>> class(str1)
ans =
string

>> size(str1)
ans =
     1     1
     
>> str1(1)
ans = 
  string
    "pi = 3.14159"

まとめ

それはドキュメントから見ることができます:

  1. 文字列配列は、char型の行列(ベクトル)と同等です。単一引用符で作成されました。インデックスを付けることができます。
  2. stringはクラスと同等です。string()関数を使用して、インスタンスオブジェクトを作成します。したがって、文字列を操作できる関数があります。サイズは1 * 1です。
元の記事47件を公開 いいね33 310,000以上

おすすめ

転載: blog.csdn.net/kaever/article/details/70207486
おすすめ