テキスト データ型と数値データ型の有効な組み合わせ
行列内のすべての要素が同じ型であれば、大部分の MATLAB® データ型要素で行列および配列を作成することができます。行列の作成時に異なるデータ型の要素を含む場合、MATLAB ではいくつかの要素が変換され、結果として作成される行列のすべての要素が同じ型になるようにします。
データ型の変換は、クラスに対してあらかじめ設定された優先順位に基づき行われます。次の表に、異なる型との間でもエラーが生成されることなく連結できる 6 つのクラスを示します。この表には例外が 1 つあり、logical 値は char データ型には変換できません。
型 | string | character | integer | single | double | logical |
|---|---|---|---|---|---|---|
string | string | string | string | string | string | string |
character | string | character | character | character | character | 無効 |
integer | string | character | integer | integer | integer | integer |
single | string | character | integer | single | single | single |
double | string | character | integer | single | double | double |
logical | string | 無効 | integer | single | double | logical |
たとえば、double と single の行列を連結すると、常に single 型の行列が生成されます。このため、MATLAB では double の要素が single の要素に変換されます。
x = single(1); y = double(2); z = [x y]
z =
1×2 single row vector
1 2他のデータ型を string と連結すると、他のデータ型は string に変換され、string 配列に新しい要素として追加されます。
s = "Hello"; c = 'world'; x = [1 2 3]; newstr = [s c x]
newstr =
1×5 string array
"Hello" "world" "1" "2" "3"+ 演算子を使用して、他のデータ型をテキストとして string に追加できます。次のようにスカラーを配列と結合すると、各要素にテキストが追加されます。
s = "Hello"; c = 'world'; x = [1 2 3]; newstr = s + c + x
newstr =
1×3 string array
"Helloworld1" "Helloworld2" "Helloworld3"