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

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

>>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码的形式存放。
执行命令: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
12
4. 串数组的ASCII码 指令abs和double可以显示串数组对应的ASCII码数值 数组,指令char则可把ASCII码数值数组转换成串数组。 5. 字符串ASCII码数组的操作
可以对ASCII码数组进行数值数组的各种运算。但 其结果就变成一般数值向量的运算,而不再是字符串 的运算。 注意:
%倒序排列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
%找出所有小写英文字符,用逻辑数组表示
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
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!
Z(页)
Y(列)
X(行)
5
• 三维数组元素的寻址:可以(行、列、页)来确定。 • 以维数为 3×4×2 的三维数组为例,其寻址方式如下 图所示:
数组 A 是三维数组,其中 A(:,:,1)代表第一页的二维数 组,A(:,:,2)代表第二页的二维数组。
6
• 多维数组的建立
– 建立一个简单的多维数组,可直接由 MATLAB 命令视 窗内输入(使用“[ ]”操作符) – 例:由两个相同大小二维数组创建三维数组

字符串数组的属性和标识 1. 创建串数组 必须将待建字符放在“单引号对”中,当串中本 身包含单引号时,每个单引号符用“连续的两个单引 号”表小。串中的每一个字符, 包括中英文字符、空格、标点都算一个元素。 3. 串数组的元素标识 按从左至右的顺序依次用1、2、3、4…等标识元 素在串中的位置。

(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 三维立体坐标,如下图所示:
第六讲 多维、字符串、 元胞、结构数组
2
一、多维数组
• 多维数组的定义
在 MATLAB 的数据类型中,向量可视为一维 数组,矩阵可视为二维数组,对于维数 (Dimensions)超过2的数组均可视为「多维数组
」(Multidimesional Arrays,简称N-D Arrays)

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

必须在英文状态下输入“单引号对”。
将多个字符串变量直接用“,”连接,可构成一个较 长的新字符串变量。
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
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
1 1 0
7
相关文档
最新文档