MATLAB 續行
本教程將討論如何在 Matlab 中使用 3 個點 (.
) 符號繼續一行。
MATLAB 續行
有時,在 Matlab 中編寫程式碼時,我們必須編寫很長的程式碼行,如果我們想檢視整個程式碼,這並不好。在 Matlab 中,我們可以在逗號後面的一行中使用 3 個點 ...
,然後移至下一行繼續編寫程式碼。
例如,讓我們使用 3 個點定義一個向量。請參閱下面的程式碼。
My_string = [1,2,3,...
4,5]
輸出:
My_string =
1 2 3 4 5
在上面的程式碼中,我們在第一行的向量中傳遞了 3 個值,然後使用逗號後面的 3 個點移動到下一行,並傳遞了另外兩個值。我們可以在上面的輸出中看到所有值都新增到同一個變數中。
我們也可以在函式引數的情況下進行此操作,定義其他資料型別等等。比如我們要寫一個長字串,又不想把整個字串寫在一行,可以把字串寫在第一行,在行尾加逗號和 3 個點並移動到下一行並在第二行寫下一行字串,依此類推。
例如,讓我們使用 3 個點定義一個字串。請參閱下面的程式碼。
My_string = ['hello world',...
' hello']
輸出:
My_string =
'hello world hello'
Matlab 在上面的輸出中自動將所有單詞儲存為單個字串,因為我們使用單引號定義了字串。如果我們使用雙引號定義字串,則輸出將不是單個字串。
因此,我們必須將字串定義為單引號或字元陣列才能使上述方法起作用。在上面的程式碼中,如果我們要寫另一行字串,我們必須在第二行末尾新增一個逗號和三個點,然後我們才能移動到第三行。
我們也可以使用 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()
函式。
例如,讓我們使用 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()
函式。對於使用大括號和單引號定義的字串,我們可以使用 strjoin()
函式而不是 join()
函式來附加給定陣列中的字串。
例如,讓我們使用大括號和單引號重複上面的示例。請參閱下面的程式碼。
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 會給出一個錯誤,指出第一個輸入必須是字串陣列或字元向量元胞陣列。