预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共35页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章单元数组与结构数组3.1字符串数组4.利用命令input 格式input(out,in)%显示出字符串out的文本并等待终端的输入,in可省略;如果变量in是’s’,则输入的内容以字符串的形式进行保存。5.在字符串中用两个单引号来表示一个单引号 >>'It''sareferencebook.' ans= It'sareferencebook.3.字符串的查找 在字符串中寻找某个字符串可用函数findstr来实现。 格式:findstr(S1,S2)%S1、S2都为字符串,表示在较长的字符串中 查找较短的字符串出现的次数,并返回其位置3.1.3多行字符串数组的创建1.字符串转换成矩阵 将字符串转换成矩阵的函数为str2mat。例如: >>S={'数值','字符串','2012年6月'} S= '数值''字符串''2012年6月' >>M=str2mat(S) M= 数值 字符串 2012年6月3.2单元数组3.利用函数cell创建一个大小合适的空矩阵 格式:cell(m,n)%创建一个m×n的空细胞矩阵,矩阵所有行 必须要有相同的细胞数 【例3-2】创建2×3的细胞数组。 >>B=cell(2,3) >>B{1,1}='matrix',B{1,2}='laboratory',B{1,3}='MATLAB' >>B{2,1}=['12','34';'56','78'] >>B{2,2}=char('Toolboxs') >>B{2,3}=char('7.14','2012(a)')3.2.2单元数组的显示实际上,B{1}相当于B{1,1};B{2}相当于B{2,1};B{3}相当于B{1,2}。注意花括号与小括号的不同,花括号用于寻址单元的值,而小括号用于标示单元而不考虑这些单元的值。例如: >>B(1) ans= 'matrix' >>B(2) ans= [2x4char]3.3结构数组运行结果如下:可以继续添加其他学生数据的结构变量,只需要添加记录号即可: >>student(2).test=[92878581907882]; >>student(2).name='yangping'; >>student(2).sex='M'; >>student(2).age=22; >>student(2).num=20110502; >>student(2).add='qduinversity'; 可以继续在命令窗口中查询student的具体内容: >>student(1)%系统将开始的student默认为student(1) ans= test:[90868288927580] name:'zhaohua' sex:'F'; age:20; num:20110501 add:'qduinversity' 2.使用struct函数生成结构数组3.3.2结构数组的操作运行结果如下:3.在结构数组中调用元素项也可直接取出所有同学的姓名和分数,如执行命令: >>student.name ans= zhaohua ans= yangping >>student.test ans= 90868288927580 ans= 928785819078823.3.3结构数组与单元数组的转换 格式: C=struct2cell(S)%将结构数组S转化为单元数组C S=cell2struct(C)%将单元数组C转化为结构数组S3.4综合实例3.4.1建立学生班级档案数组试求:(1)建立任课教师和学生的结构数组teacher和student; (2)以建立的结构数组teacher和student为基础,创建班级的细胞数组,并显示教师和学生的信息。(2)创建教师结构数组 teacher(1).name='孙天宇'; teacher(1).course='高等数学'; teacher(2).name='刘梅芳'; teacher(2).course='大学英语'; teacher(3).name='王海涛'; teacher(3).course='计算机基础'; teacher(4).name='杨一凡'; teacher(4).course='机械制图';(5)查询第一个学生信息 class{1}(1).name%查询第一个学生的姓名 class{1}(1).course%查询第一个学生的学习课程 class{1}(1).score%查询第一个学生的成绩 class{2}.name%查询开课教师的姓名3.4.2股票价格走势预测(2)查找字符串,再求其出现的次数: N00=length(findstr(C,'00'))%今天下降明天还下降出现的次数 N01=length(findstr(C,'01'))%今天下降明天上升出现的次数 N10=length(