matlab2011教程之三字符串、胞元和构架数组.pdf
文本预览下载声明
第3 章 字符串、胞元和构架数组
3.1 MATLAB 的数据类型
图3.1-1 MATLAB 的数据类型
3.2 字符串数组
本节内容集中于字符串数组(以下简称串数组)。与数值数组相比,串数组在MATLAB
中的重要性较小,但它不可缺少。假如没有串数组及相应的操作,那么数据可视化将会遇
到困难,构作MATLAB 的宏指令也将会遇到困难。
既然字符串与数值是两种不同的数据类(Class ),那么它们的创建方式也就不同。数
值变量是通过在指令窗中数字赋值创建的。而字符变量的创建方式是:在指令窗中,先把
待建的字符放在“单引号对”中,再按[Enter]键。注意,这“单引号对”必须在英文状态下
输入。这“单引号对”是MATLAB 识别送来内容“身份”(是变量名、数字,还是字符串)
所必需的。
MATLAB 为数值数组设计了许多运算、函数和操作,但既没对串数组设计那么多运算,
也没设计那么多操作。然而正是这些串函数和串操作,为MATLAB 的文字表达、复杂字符
的组织、宏功能的发挥提供了有力的支持。
3.2.1 串数组的属性和标识
【例3.2-1】本例演示:串的基本属性、标识和简单操作。
(1)
1
a=This is an example.
a =
This is an example.
(2 )
size(a)
ans =
1 19
(3 )
a14=a(1:4)
ra=a(end:-1:1)
a14 =
This
ra =
.elpmaxe na si sihT
(4 )
Ua=double(a)
Ua =
Columns 1 through 13
84 104 105 115 32 105 115 32 97 110 32 101
120
Columns 14 through 19
97 109 112 108 101 46
char(Ua)
ans =
This is an example.
(5 )
w=find(a=aa=z);
Ua(w)=Ua(w)-32;
char(Ua)
ans =
THIS IS AN EXAMPLE.
(6 )
A=这是一个算例。;
A_s=size(A)
A56=A([5 6])
UCA=double(A)
A_s =
1 7
A56 =
算例
UCA =
Columns 1 through 6
36825 26159 19968 20010 31639 20363
Column 7
12290
char(UCA)
ans =
这是一个算例。
(7 )
b=Example 3.2-1
b =
Example 3.2-1
(8 )
ab=[a(1:7), ,b, .]%这里第2 个输入为空格串
2
ab =
This is Example 3.2-1 .
3.2.2 复杂串数组的创建
1 多行字符串数组的创建
【例3.2-2 】演示:多行串数组的“补空等长”直接输入法;非等长串数组借助char , str2mat ,
strvcat 等指令声称多行串数组。
(1)
clear
S=[This string array
has multiple rows.]
size(S)
S =
This string array
has multiple rows.
ans =
2 18
(2 )
S1=char(This string array,has two rows.)
size(S1)
S1 =
This string array
has two rows.
ans =
2 17
S2=str2mat(这,字符,串数组,,由4 行组成)
size(S2)
S2 =
这
字符
串数组
由4 行组成
ans =
5 5
S3=strvc
显示全部