第六讲_matlab字符串数组、元胞数组和构架数组分解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

12
4. 串数组的ASCII码 指令abs和double可以显示串数组对应的ASCII码数值 数组,指令char则可把ASCII码数值数组转换成串数组。 5. 字符串ASCII码数组的操作
可以对ASCII码数组进行数值数组的各种运算。但 其结果就变成一般数值向量的运算,而不再是字符串 的运算。 注意:
A(:, :, 1) = [1 0 2 5; 4 1 8 7; 3 2 6 3];
A(:, :, 2) = [3 5 4 1; 2 6 2 1; 4 2 3 0] A(:,:,1) = 1 0 2 4 1 8 3 2 6
5 7 3
A(:,:,2) = 3 5 4 2 6 2 4 2 3
ຫໍສະໝຸດ Baidu
1 1 0
7

必须在英文状态下输入“单引号对”。
将多个字符串变量直接用“,”连接,可构成一个较 长的新字符串变量。
13
【例】串数组基本操作 >> string='this is an example!' string = this is an example! >> s_1=string(end:-1:1) s_1 = !elpmaxe na si siht >> s_2=string(end:-2:1) 字符取一个元素得到s_2 s_2 = !lmx as it %输入字符串string
>>s2=size(String2) s2 = 1 19
10
>> whos Name Size Bytes Class String1 1x1 2 char array String2 1x19 38 char array String3 1x14 28 char array s1 1x4 8 char array s2 1x2 16 double array Grand total is 40 elements using 92 bytes 在MATLAB中,字符串是作为字符数组来引入的; 一个字符串由多个字符组成,用单引号('')来界定; 字符串是按行向量进行存储的,每一字符 (包括空格) 是以其ASCII码的形式存放。
14
0
1
1
0
1
>> STRING=string; %定义新串STRING,其内容与string相同 >> STRING(w)=char(string(w)-32) %将小写字符转换成大写字符(ASCII码相差32) STRING = THIS IS AN EXAMPLE!
>> Str=['Exm03_2.m',string(5:end)] %构造新的字符串Str Str = Exm03_2.m is an example!

(1,1) (2,1) (3,1) (1,2) (2,2) (3,2) (1,3) (2,3) (3,3) (1,4) (2,4) (3,4)
(1,1)
(1,2) (2,2) (3,2)
(1,3) (2,3) (3,3)
(1,4) (2,4) (3,4)

(2,1) (3,1)


4
• 三维数组,可对应至一个 X - Y - Z 三维立体坐标,如下图所示:
Z(页)
Y(列)
X(行)
5
• 三维数组元素的寻址:可以(行、列、页)来确定。 • 以维数为 3×4×2 的三维数组为例,其寻址方式如下 图所示:
数组 A 是三维数组,其中 A(:,:,1)代表第一页的二维数 组,A(:,:,2)代表第二页的二维数组。
6
• 多维数组的建立
– 建立一个简单的多维数组,可直接由 MATLAB 命令视 窗内输入(使用“[ ]”操作符) – 例:由两个相同大小二维数组创建三维数组
执行命令:whos A,得到如下结果:
Name A
Size 3x4x2
Bytes 192
Class double array
Grand total is 24 elements using 192 bytes
8
二、字符串数组(Character String Array)
【例】字符串入门
9
>>String1='b'; >>String2='This is an example!'; % 英文字母、空格、 数字、标点、中文字符 >>String3='例子''char array'''; %都是占一个元素位, 两个字节 >>s1=class(String1) s1 = char
%倒序排列string得到s_1
%倒序排列string且每隔一个
>> w=string>='a'&string<='z' w= Columns 1 through 12 1 1 1 1 0 1 1 Columns 13 through 19 1 1 1 1 1 1 0
%找出所有小写英文字符,用逻辑数组表示
第六讲 多维、字符串、 元胞、结构数组
2
一、多维数组
• 多维数组的定义
在 MATLAB 的数据类型中,向量可视为一维 数组,矩阵可视为二维数组,对于维数 (Dimensions)超过2的数组均可视为「多维数组
」(Multidimesional Arrays,简称N-D Arrays)

3
• 将两个二维(平面)数组叠在一起,就 构成三维数组,第三维称为「页」 (Page),如下图所示:

字符串数组的属性和标识 1. 创建串数组 必须将待建字符放在“单引号对”中,当串中本 身包含单引号时,每个单引号符用“连续的两个单引 号”表示。 2. 串数组的大小
11
size指令可获得串数组的大小。串中的每一个字符, 包括中英文字符、空格、标点都算一个元素。 3. 串数组的元素标识 按从左至右的顺序依次用1、2、3、4…等标识元 素在串中的位置。
15
复杂字符串数组的创建
1. 多行串数组的直接创建 必须保证各行等长,可以利用增减“空格”来实现。
>> s=['Hello, ' %6个字符 'Nice to meet you! '] %17个字符 ??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. >> s=['Hello,',' '*ones(1,11) 'Nice to meet you!'] s= Hello, Nice to meet you! %补充11个空格 >>size(s) ans = 2 17
相关文档
最新文档