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