数値のテキストへの変換
この例では、数値をテキストに変換し、より大きいテキストに追加する方法を説明します。たとえば、ラベルまたはタイトルをプロットに追加し、プロットの特性を説明する数値をラベルに含める場合などです。
string への変換
ある数値を、それを表す string に変換するには、関数 string を使用します。
str = string(pi)
str = "3.1416"
関数 string は、数値配列を、同じサイズの string 配列に変換します。
A = [256 pi 8.9e-3]; str = string(A)
str = 1×3 string
"256" "3.141593" "0.0089"
関数 compose を使用して、出力テキストの形式を指定できます。この関数は精度、フィールド幅および指数表記の書式指定子を受け入れます。
str = compose("%9.7f",pi)str = "3.1415927"
入力が数値配列の場合、compose は string 配列を返します。指数表記を使用して数値を表す string 配列を返します。
A = [256 pi 8.9e-3];
str = compose("%5.2e",A)str = 1×3 string
"2.56e+02" "3.14e+00" "8.90e-03"
string への数値の追加
テキストと数値を組み合わせる最もシンプルな方法は、plus 演算子 (+) を使用することです。この演算子は、他のオペランドが string であれば自動的に数値を string に変換します。
たとえば、正弦波をプロットします。波の周波数を計算し、その値を表す string をプロットのタイトルに追加します。
X = linspace(0,2*pi); Y = sin(X); plot(X,Y) freq = 1/(2*pi); str = "Sine Wave, Frequency = " + freq + " Hz"
str = "Sine Wave, Frequency = 0.15915 Hz"
title(str)

場合によっては、既存のテキストが文字ベクトル、または文字ベクトルの cell 配列に格納されています。ただし、plus 演算子は、他のオペランドが string であれば自動的にこれらのデータ型も string に変換します。数値をこれらのデータ型と組み合わせるには、まず数値を string に変換してから、plus を使用してテキストを組み合わせます。
str = 'Sine Wave, Frequency = ' + string(freq) + {' Hz'}
str = "Sine Wave, Frequency = 0.15915 Hz"
文字コード
データに Unicode® 値を表す整数が含まれている場合は、関数 char を使用してそれらの値を対応する文字に変換します。この出力は文字ベクトルまたは文字配列です。
u = [77 65 84 76 65 66]; c = char(u)
c = 'MATLAB'
Unicode 値を変換すると、テキストに特殊文字も含めることができます。たとえば、度記号の Unicode 値は 176 です。char(176) を string に追加するには、plus を使用します。
deg = char(176); temp = 21; str = "Temperature: " + temp + deg + "C"
str = "Temperature: 21°C"
16 進数値と 2 進数値
テキストを使用するか、"リテラル" を使用することにより、コード内で 16 進数や 2 進数を表すことができます。推奨される表現方法は、リテラルとして記述することです。16 進数リテラルと 2 進数リテラルはそれぞれ、接頭辞 0x と 0b を使用して記述できます。ただし、そのような値は、関数 dec2hex または dec2bin を使用して表すと便利な場合があります。
たとえば、2 進数値でビットを設定します。リテラルを使用して 2 進数値を指定した場合、その数値は整数として保存されます。いずれかのビットを設定後、関数 dec2bin を使用して、新しい 2 進数値をテキストとして表示します。
register = 0b10010110
register = uint8
150
register = bitset(register,5,0)
register = uint8
134
binStr = dec2bin(register)
binStr = '10000110'
参考
dec2bin | dec2hex | char | string | compose | plus