MATLAB ラインの継続
このチュートリアルでは、Matlab で 3つのドット(。
)記号を使用して線を続ける方法について説明します。
MATLAB ラインの継続
Matlab でコードを記述しているときに、長い行のコードを記述しなければならない場合があります。これは、コード全体を表示する場合には適切ではありません。Matlab では、コンマの後の行に 3つのドット ...
を使用してから、次の行に移動してコードの記述を続けることができます。
たとえば、3つのドットを使用してベクトルを定義しましょう。以下のコードを参照してください。
My_string = [1,2,3,...
4,5]
出力:
My_string =
1 2 3 4 5
上記のコードでは、最初の行のベクトルに 3つの値を渡し、次にそのコンマの後に 3つのドットを使用して次の行に移動し、さらに 2つの値を渡しました。上記の出力から、すべての値が同じ変数に追加されていることがわかります。
関数パラメーターの場合、他のデータ型の定義などの場合にも、この操作を実行できます。たとえば、長い文字列を書きたいが、文字列全体を 1 行に書きたくない場合は、最初の行に文字列を書き、行の最後にカンマを追加できます。3 ドットで次の行に移動し、2 行目に次の文字列を書き込みます。
たとえば、3つのドットを使用して文字列を定義しましょう。以下のコードを参照してください。
My_string = ['hello world',...
' hello']
出力:
My_string =
'hello world hello'
Matlab は、単一引用符を使用して文字列を定義したため、上記の出力ですべての単語を単一の文字列として自動的に保存しました。二重引用符を使用して文字列を定義すると、出力は単一の文字列にはなりません。
したがって、上記のメソッドが機能するには、文字列を一重引用符で囲むか、文字配列として定義する必要があります。上記のコードで、別の文字列行を記述したい場合は、2 行目の最後にコンマと 3つのドットを追加する必要があります。その後、3 行目に移動できます。
文字列を連結するために使用される strcat()
関数を使用して、上記の操作を実行することもできます。文字列の各行を一意の変数に保存する必要があります。その後、strcat()
関数内のすべての変数を渡すことができます。これにより、変数が結合され、単一の文字列が返されます。
strcat()
関数を使用すると、この関数は常に単一の文字列を返すため、一重引用符と二重引用符について心配する必要はありません。たとえば、strcat()
関数を使用して上記の例を繰り返しましょう。
以下のコードを参照してください。
s1 = 'hello'
s2 = ' world'
s3 = ' hello'
s4 = strcat(s1,s2,s3)
出力:
s1 =
'hello'
s2 =
' world'
s3 =
' hello'
s4 =
'hello world hello'
上記のコードでは、刺し傷の先頭に手動でスペースを追加する必要があります。それ以外の場合、単語はスペースなしで結合されます。スペースまたはその他の区切り文字を使用して文字列を結合する場合は、Matlab の join()
関数を使用できます。
文字列が二重引用符で囲まれ、ベクトル内に定義されていることを確認する必要があります。デフォルトでは、join()
関数は各文字列の間にスペースを追加しますが、別の区切り文字を追加する場合は、join()
関数内の 2 番目の引数として区切り文字を渡すことができます。
たとえば、join()
関数を使用して、最初にスペースを追加せずに上記の文字列を結合しましょう。以下のコードを参照してください。
s = ["hello world",...
"hello"]
s1 = join(s)
s2 = join(s,'-')
出力:
s =
1×2 string array
"hello world" "hello"
s1 =
"hello world hello"
s2 =
"hello world-hello"
スペースと -
区切り文字を使用して、上記のコードで指定された文字列を結合しました。二重引用符で定義されているため、指定された文字列は単一の文字列ではないことが出力でわかります。
一重引用符または中括弧を使用して文字列を定義する場合、join()
関数を使用することはできません。中括弧と一重引用符を使用して定義された文字列の場合、join()
関数の代わりに strjoin()
関数を使用して、指定された配列に文字列をアタッチできます。
たとえば、中括弧と一重引用符を使用して上記の例を繰り返しましょう。以下のコードを参照してください。
clc
clear
s = {'hello world',...
'hello'}
s1 = strjoin(s)
s2 = strjoin(s,'-')
出力:
s =
1×2 cell array
{'hello world'} {'hello'}
s1 =
'hello world hello'
s2 =
'hello world-hello'
Matlab は、最初の入力が文字列配列または文字ベクトルのセル配列でなければならないというエラーを表示するため、二重引用符を使用して上記の文字列を定義することはできません。