MATLAB 續行

Ammar Ali 2022年7月18日
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 會給出一個錯誤,指出第一個輸入必須是字串陣列或字元向量元胞陣列。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - MATLAB String