- 3
- 0
- 约 16页
- 2016-12-26 发布于贵州
- 举报
字符串、元胞和构架数组
MATLAB 6.x版的内建数据类型(Built-in data type)就有5种以上,此外还有许多其他专门设计的类(Class),如符号类、内联函数类、控制工具包中的线性时不变模型类、神经网络类等。就程序设计而言,MATLAB 6.x版采用了面向对象编程技术。数据和编程的改变使用户能更简捷而自然地解决复杂的计算问题(如符号计算问题、多变量控制系统问题、神经网络问题)。本章内容根据MATLAB6.5编写,但绝大部分内容适用于其他MATLAB6.x版本。
第二章介绍了数值数组(Numeric Array),这是读者比较熟悉的数据类型。本章将集中讲述另外三类数据:字符串数组(Character String Array)、元胞数组(Cell array)和构架数组(Structure array)。它们之间的基本差别见表3-1。
表3-1 四种数据类型基本构成比较表
数组类型 基本组分 组分内涵 基本组分占用字节数 数值数组 元素 双精度实数标量
或双精度复数标量 8
16 字符串数组 元素 字符 2 元胞数组 元胞 可以存放任何类型、任何大小的数据。 不定 构架数组 构架 只有挂接在构架上的“域”才能存放数据。数据可以是任何类型、任何大小。 不定 字符串数组
字符串入门
【例3.1.1-1】先请读者实际操作本例,以体会数值量与字符串的区别。
clear
a=12345.6789
class(a)
a_s=size(a)
a =
1.2346e+004
ans =
double
a_s =
1 1
b=S
class(b)
b_s=size(b)
b =
S
ans =
char
b_s =
1 1
whos
Name Size Bytes Class
a 1x1 8 double array
a_s 1x2 16 double array
ans 1x4 8 char array
b 1x1 2 char array
b_s 1x2 16 double array
Grand total is 10 elements using 50 bytes
串数组的属性和标识
【例3.1.2-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)
ascii_a=double(a)
ascii_a =
Columns 1 through 12
84 104 105 115 32 105 115 32 97 110 32 101
Columns 13 through 19
120 97 109 112 108 101 46
char(ascii_a)
ans =
This is an example.
(5)
w=find(a=aa=z);
ascii_a(w)=ascii_a(w)-32;
char(ascii_a)
ans =
THIS IS AN EXAMPLE.
(6)
A=这是一个算例。;
A_s=size(A)
A56=A([5 6])
ASCII_A=double(A)
A_s =
1 7
A56 =
算例
ASCII_A =
Columns 1 through 6
54754 51911 53947 47350 52195 49405
Column 7
41379
char(ASCII_A)
ans =
这是一个算例。
(7)
b=Example 3.1.2-1
b =
Example 3.1.2-1
(8)
ab=[a(1:7), ,b, .]
ab =
This is Example 3.1.2-
原创力文档

文档评论(0)