Getting Started | ![]() ![]() |
キャラクタとテキスト
MATLABへテキストを入力するには、シングルコートを利用します。たとえば、
s = 'Hello'
結果は、今まで取り扱ってきた数値行列や配列と異なる種類のものです。これは、1行5列のキャラクタ配列です。
内部的に、キャラクタは数字として格納されますが、浮動小数点書式ではありません。ステートメント
a = double(s)
は、キャラクタ配列をASCIIコードの浮動小数点表現を含む数値行列に変換します。結果はつぎのようになります。
a = 72 101 108 108 111
s = char(a)
数字をキャラクタに変換することにより、ユーザのコンピュータで使用可能なフォントの種類を調べることができます。基本的なASCIIキャラクタセットの中のプリント可能なキャラクタは、整数
32:127
で表わされます(32よりも小さい整数は、プリントできない制御キャラクタを表わします)。これらの整数は、つぎのように適切な6行16列の配列に並べられます。
F = reshape(32:127,16,6)';
拡張ASCIIキャラクタセットの中のプリント可能なキャラクタは、F+128
によって表わされます。これらの整数がキャラクタとして解釈されるとき、結果は現在使われているフォントに依存します。つぎのステートメントをタイプします。
char(F) char(F+128)
そして、MATLABウィンドウに対して使われているフォントは変化します。PCでは、ファイル メニューの設定を選択します。ユーザの使っているコンピュータが Symbol フォントと Wingdings フォントをもっている場合は、それを使ってみてください。出力される一例を示します。
!"#$%&'()*+,-./ 0123456789:;<=>? @ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_ `abcdefghijklmno pqrstuvwxyz{|}~\x7f °¢§·¶ß®©™´¨
ÆØ \xb0 ±
¥µ¹²³
½ªº¾æø ¿¡¬
Ýý«»...þÀÃÕ ---""`'÷Þÿ\xd9 \xda ¤\xde \xdf ·ÂÊÁËÈÍÎÏÌÓÔ ÒÚÛÙ\xf5 ~¯\xf9 \xfa °¸\xfd \xfe \xff
鍵括弧の中の連結は、テキスト変数をより大きい文字列にします。ステートメント
h = [s, ' world']
h = Hello world
v = [s; 'world']
v = Hello world
h
の中で 'w'
の前にブランクが挿入されていなければならないことと、v
の中で2つの単語は同じ長さでなければならないことに注意してください。結果の配列は、共にキャラクタ配列で、h
は1行11列で、v
は2行5列です。
異なる長さのラインを含むテキストの内容を取り扱うには、キャラクタ配列を付け加えて同じ長さにするか、文字列のセル配列にするかの2つの方法があります。関数
char
は、複数行のラインを入力でき、各々のラインがすべて同じ長さになるようにブランクを加えることができます。そして、各ラインが行ごとに分割されたキャラクタ配列を作成します。たとえば、
S = char('A','rolling','stone','gathers','momentum.')
S = A rolling stone gathers momentum.
S
の最初の4つの行には、各行を同じ長さにするために必要なブランクがあります。また、1つのセル配列にテキストを格納することができます。たとえば、
C = {'A';'rolling';'stone';'gathers';'momentum.'}
C = 'A' 'rolling' 'stone' 'gathers' 'momentum.'
ブランクが追加されたキャラクタ配列を、つぎのコマンドで文字列からなるセル配列に変換できます。
C = cellstr(S)
S = char(C)
![]() |
セル配列 | 構造体 | ![]() |