MATLAB基础及其应用教程
上QQ阅读APP看书,第一时间看更新

2.5.1 字符串变量与一维字符数组

当把某个字符串赋值给一个变量后,这个变量便因取得这一字符串而被MATLAB作为字符串变量来识别。更进一步,当观察MATLAB的工作空间窗口时,字符串变量的类型是字符数组类型(即char array)。而从工作空间窗口去观察一个一维字符数组时,也发现它具有与字符串变量相同的数据类型。由此推知,字符串与一维字符数组在运算处理和操作过程中是等价的。

1.给字符串变量赋值

用一个赋值语句即可完成字符串变量的赋值操作,现举例如下。

【例2.49】 将3个字符串分别赋值给S1、S2、S3这3个变量。

        >> S1='go home', S2=’朝闻道,夕死可矣’, S3='go home. 朝闻道,夕死可矣’
        S1 =
        go home
        S2 =
        朝闻道,夕死可矣
        S3 =
        go home. 朝闻道,夕死可矣

2.一维字符数组的生成

因为向量的生成方法就是一维数组的生成方法,而一维字符数组也是数组,与数值数组的不同是字符数组中的元素是一个个字符而非数值。因此,原则上生成向量的方法就能生成字符数组。当然最常用的还是直接输入法。

【例2.50】 用3种方法生成字符数组。

        >>Sa=['I love my teacher,  ' 'I' ' love truths ' 'more profoundly.']
        Sa =
        I love my teacher, I love truths more profoundly.
        >>Sb=char('a':2:'r')                       %冒号法
        Sb =
        acegikmoq
        >>Sc=char(linspace('e', 't',10))           %函数法
        Sc =
        efhjkmoprt

本例中,char( )是一个将数值转换成字符串的函数,2.5.2节将有讨论。另外,请注意观察Sa在工作空间窗口中的各项数据,尤其是size的大小,不要以为它只有4个元素,从中体会Sa作为一个字符数组的真正含义。