上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作为一个字符数组的真正含义。