在MATLAB中建设一个字符串很是简朴。 事实上,在前面的示例中我们已经利用了许多次。 譬喻,在呼吁提示符下键入以下内容:

my_string = 'Yiibai Yiibai'

MATLAB执行上述语句并返回以下功效 -

Trial>> my_string = 'Yiibai Yiibai'

my_string =

    'Yiibai Yiibai'

MATLAB将所有变量视为数组,并将字符串视为字符数组。利用whos呼吁来查抄上面建设的变量 -


Trial>> whos
  Name           Size            Bytes  Class    Attributes

  ans            1x92              184  char               
  my_string      1x16               32  char               
  x              1x3               360  cell

有趣的是,可以利用uint8uint16等数字转换函数将字符串中的字符转换为数字代码。 char函数将整数向量转换回到字符 -

示例

建设剧本文件并在个中键入以下代码 -

my_string = 'Yiibai''s Tutorial';
str_ascii = uint8(my_string)        % 8-bit ascii values
str_back_to_char= char(str_ascii)  
str_16bit = uint16(my_string)       % 16-bit ascii values
str_back_to_char = char(str_16bit)

执行上面示例代码,获得以下功效 -

str_ascii =

  1×17 uint8 行向量

  1 至 15 列

    89   105   105    98    97   105    39   115    32    84   117   116   111   114   105

  16 至 17 列

    97   108


str_back_to_char =

    'Yiibai's Tutorial'


str_16bit =

  1×17 uint16 行向量

  1 至 15 列

    89   105   105    98    97   105    39   115    32    84   117   116   111   114   105

  16 至 17 列

    97   108


str_back_to_char =

    'Yiibai's Tutorial'

矩形字符数组

到今朝为止,我们接头的字符串是一维字符数组; 然而,我们需要存储更多维度的数据。在措施中存储更多的维度文本数据。这是通过建设矩形字符数组来实现的。

建设矩形字符阵列的最简朴的方法是按照需要垂直或程度毗连两个或更多个一维字符数组。

通过以下任一方法垂直组合字符串 -

  • 利用MATLAB毗连运算符[]并用分号(;)脱离每一行。 请留意,在这种要领中,每行必需包括沟通数量的字符。对付差异长度的字符串,应该按照需要填充空格字符。

  • 利用char函数。假如字符串的长度差异,则char将较短的字符串填充到尾部空缺处,以使每行具有沟通的字符数。

  • 示例

    建设剧本文件并在个中键入以下代码 -

    doc_profile = ['Bara Tli                             '; ...
                   'Sr. Surgeon                          '; ...
                   'R N Tagore Cardiology Research Center']
    doc_profile = char('Bara Tli', 'Sr. Surgeon', ...
                       'RN Tagore Cardiology Research Center')
    

    运行文件时,会显示以下功效 -

    Trial>> doc_profile = ['Bara Tli                             '; ...
                   'Sr. Surgeon                          '; ...
                   'R N Tagore Cardiology Research Center']
    doc_profile = char('Bara Tli', 'Sr. Surgeon', ...
                       'RN Tagore Cardiology Research Center')
    
    doc_profile =
    
      3×37 char 数组
    
        'Bara Tli                             '
        'Sr. Surgeon                          '
        'R N Tagore Cardiology Research Center'
    
    
    doc_profile =
    
      3×36 char 数组
    
        'Bara Tli                            '
        'Sr. Surgeon                         '
        'RN Tagore Cardiology Research Center'
    

    可以通过以下任一方法程度组合字符串 -

  • 利用MATLAB毗连运算符 - []并用逗号(;)或空格脱离输入字符串。该要领保存输入数组中的任何尾随空格。
  • 利用字符串通接函数 - strcat。 此要了解删除输入中的尾随空格。
  • 示例

    建设剧本文件并在个中键入以下代码 -

    name =     'Myra Yli                             ';
    position = 'Sr. Surgeon                          '; 
    worksAt =  'R N Tagore Cardiology Research Center';
    profile = [name ', ' position ', ' worksAt]
    profile = strcat(name, ', ', position, ', ', worksAt)
    

    Matlab教程

    2017-11-02


    在MATLAB中建设一个字符串很是简朴。 事实上,在前面的示例中我们已经利用了许多次。 譬喻,在呼吁提示符下键入以下内容:my_string = Yiibai Yiibai&