没有合适的资源?快使用搜索试试~ 我知道了~
matlab字符串、元胞和构架数组
需积分: 32 1 下载量 201 浏览量
2010-06-04
21:24:58
上传
评论 1
收藏 131KB DOC 举报
温馨提示
试读
16页
介绍了数值数组(Numeric Array),这是读者比较熟悉的数据类型。本章将集中讲述另外三类数据:字符串数组(Character String Array)、元胞数组(Cell array)和构架数组(Structure array)
资源详情
资源评论
资源推荐
第三章 字符串、元胞和构架数组
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 字符串数组
3.1.1 字符串入门
【例 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
1
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 串数组的属性和标识
【例 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>='a'&a<='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
2
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-1' .
3.1.3 复杂串数组的创建
3.1.3.1 多行串数组的直接创建
【例 3.1.3.1-1】多行串数组的直接输入示例。
clear
S=['This string array '
'has multiple rows.']
S =
This string array
has multiple rows.
size(S)
ans =
2 18
3.1.3.2 利用串操作函数创建多行串数组
【例 3.1.3.2-1】演示:用专门函数 char , str2mat , strvcat 创建多行串数组示例。
S1=char('This string array','has two rows.')
S1 =
This string array
has two rows.
S2=str2mat('这','字符','串数组','','由 4 行组成')
S2 =
这
字符
串数组
由 4 行组成
S3=strvcat('这','字符','串数组','','由 4 行组成')
3
剩余15页未读,继续阅读
ai1013547
- 粉丝: 2
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0