matlab第三讲.ppt

上传人:豆**** 文档编号:33405467 上传时间:2022-08-10 格式:PPT 页数:37 大小:1.21MB
返回 下载 相关 举报
matlab第三讲.ppt_第1页
第1页 / 共37页
matlab第三讲.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《matlab第三讲.ppt》由会员分享,可在线阅读,更多相关《matlab第三讲.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、matlab第三讲第三讲 matlab最大的特色可以说是它的矩阵操作了,它提供的相关命最大的特色可以说是它的矩阵操作了,它提供的相关命令可以很方便的解决与矩阵有关的数据处理,我们在学习的时候就令可以很方便的解决与矩阵有关的数据处理,我们在学习的时候就可以体会到它的好处,这是可以体会到它的好处,这是c语言或者语言或者excel都无法比拟的都无法比拟的. 我们将重点学习一维数值数组和二维数值数组的创建访问和操作我们将重点学习一维数值数组和二维数值数组的创建访问和操作,并将结合中国大学生数学建模比赛的实例加以练习,避免纸上谈并将结合中国大学生数学建模比赛的实例加以练习,避免纸上谈兵。兵。3.1 一维

2、数组的创建和寻访一维数组的创建和寻访一、一维数组的创建一、一维数组的创建1.一维数组的创建一维数组的创建(1)逐个元素输入法)逐个元素输入法 向量的元素用中括号向量的元素用中括号括起来,如果是行向量,则元素之间用逗号或者是空括起来,如果是行向量,则元素之间用逗号或者是空格隔开;如果是列向量,则元素之间用分号隔开(分号表示换行)。格隔开;如果是列向量,则元素之间用分号隔开(分号表示换行)。例如例如: x=(1,2,3,4,5,6,7,8) x=1 2 3 4 5 6 7 8 ;% 一维一维 1x8 数组数组或或 x=1,2,3,4,5,6,7,8 ;% 一维一维 1x8 数组数组 size(x)

3、 %查询查询x的大小的大小ans=1 8注意:注意:sizesize这个命令很有用这个命令很有用, ,用于查询向量或者是矩阵的维数,用于查询向量或者是矩阵的维数,size(x)size(x)返回的是返回的是一个一行两列的数组,数组的第一个元素表示一个一行两列的数组,数组的第一个元素表示x x的行数,第二个元素表示的行数,第二个元素表示x x的列数,知道了的列数,知道了sizesize的用法,同学们还可以借助于帮助的用法,同学们还可以借助于帮助help sizehelp size进一步熟悉它的用法。进一步熟悉它的用法。例如例如: x=(1,2,3,4,5,6,7,8)T x=1;2;3;4;5;

4、6;7;8 ;% 一维一维 8x1 数组数组 size(x) %查询查询x的大小的大小ans=8 1(2)冒号生成法)冒号生成法这是通过这是通过“步长步长”设定,生成一维设定,生成一维“行行”数组的方法,通用的格式:数组的方法,通用的格式:x=a:c:ba是数组的第一个元素,是数组的第一个元素,c是间隔,若是间隔,若(b-a)是是c的整数倍,则所生成的整数倍,则所生成数组的最后一个元素等于数组的最后一个元素等于b,否则小于,否则小于b例:产生以起始值例:产生以起始值=1,增量值增量值=2,终止值终止值=13的数组的数组 x=1:2:13x = 1 3 5 7 9 11 13x=1:2:12x

5、= 1 3 5 7 9 11如果间隔为如果间隔为1,则可以缺省,则可以缺省例如:例如:x=1:10 x= 1 2 3 4 5 6 7 8 9 10(3)利用)利用linspace(起始值起始值,终止值终止值,元素数目元素数目) x=linspace(0,10,6); % 利用利用linspace,以起始值,以起始值=0,终止终止值值=10之间之间,元素数目元素数目=6x = 0 2 4 6 8 10二、一维数组的子数组寻访和赋值二、一维数组的子数组寻访和赋值例:例:x=8:-1:1x = 8 7 6 5 4 3 2 1 x(2) %访问访问x的第二个元素的第二个元素ans=7 x(2 4 5)

6、 %取取 x的第二、四、五个元素组成一个新的数组的第二、四、五个元素组成一个新的数组ans=7 5 4 x(1:5) % x的第前五个元素的第前五个元素ans = 8 7 6 5 4注意:注意:MATLAB中,访问向量中,访问向量x的第一个元素是的第一个元素是x(1),并且用的是圆括号,并且用的是圆括号(),注意与注意与C语言中的区别,不要混淆语言中的区别,不要混淆 x(7:end) % x的第七个元素后的元素的第七个元素后的元素ans = 2 1 x(8:-1:5) % x的第的第8个元素和第个元素和第5个元素的倒排个元素的倒排ans = 1 2 3 4 y=find(x5) % x中大于中

7、大于5的元素的位置的元素的位置y = 1 2 3 x(find(x5) %大家猜猜返回的是什么大家猜猜返回的是什么ans=ans= 8 7 6 8 7 6返回的是返回的是x x中大与中大与5 5的元素(按照它们在的元素(按照它们在x x中的顺序)中的顺序) x(3)= % 删除第三个元素删除第三个元素x = 8 7 100 4 3 2 1 x(8)=-1.1 % 加入第八个元素加入第八个元素x = 8 7 100 4 3 2 1 -1.1 x(4)=100 %给给x的第四个元素重新给值的第四个元素重新给值100 x = 8 7 6 100 4 3 2 1三、一维数组的操作三、一维数组的操作mi

8、n(x) %求求x最小的元素最小的元素ans=-1.1m,n=min(x)%min可以有两个返回值,大家看看可以有两个返回值,大家看看m,n各表示什么各表示什么m = -1.1n = 8注意:注意:m表示表示x中最小的元素,中最小的元素,n表示这个元素在表示这个元素在x中的位置中的位置max(x) %求求x最大的元素最大的元素ans=100m,n=max(x)%max可以有两个返回值可以有两个返回值,与与min类似类似m = 100n = 3注意:注意:m表示表示x中最大的元素,中最大的元素,n表示这个元素在表示这个元素在x中的位置中的位置m =-1.1000 1.0000 2.0000 3.

9、0000 4.0000 7.0000 8.0000 100.0000n = 8 7 6 5 4 2 1 3m,n=sort(x) %sort可以有两个返回值,大家看看可以有两个返回值,大家看看m,n各表示什么各表示什么注意:对比一下,注意:对比一下,x=(8,7, 100, 4, 3,2, 1, -1.1), m表示把表示把x中的元素按从小到大的顺序排序得到的新的向量,中的元素按从小到大的顺序排序得到的新的向量, n表示这个新的向量中的元素原来在表示这个新的向量中的元素原来在x中的位置中的位置sort(x) %对对x的元素按从小到大的顺序排序的元素按从小到大的顺序排序ans=-1.1 1 2

10、5 6 7 8 100m =-1.1000 1.0000 2.0000 3.0000 4.0000 7.0000 8.0000 100.0000n = 8 7 6 5 4 2 1 3m,n=sort(x) %sort可以有两个返回值,大家看看可以有两个返回值,大家看看m,n各表示什么各表示什么sort(x) %对对x的元素按从小到大的顺序排序的元素按从小到大的顺序排序ans=-1.1 1 2 5 6 7 8 100思考:把思考:把x中的元素按从大到小的顺序排序怎么办,中的元素按从大到小的顺序排序怎么办, 而且还想知道而且还想知道n新的向量中的元素原来在新的向量中的元素原来在x中的位置中的位置解

11、决:把解决:把n中的元素倒排中的元素倒排n=n(end:-1:1);%把把x中的元素按从大到小的顺序排序之后个元素原来的位置中的元素按从大到小的顺序排序之后个元素原来的位置m=x(n); %把把x中的元素按从大到小的顺序排序得到的新向量中的元素按从大到小的顺序排序得到的新向量mean(x) %求求x元素的平均值元素的平均值ans=15.4875sum(x) %求求x元素的总和元素的总和ans=123.9000abs(x) %对对x的元素取绝对值,得到一个新的向量的元素取绝对值,得到一个新的向量ans=8.0000 7.0000 100.0000 4.0000 3.0000 2.0000 1.0

12、000 1.10003.2 二维数组(矩阵)的创建和寻访二维数组(矩阵)的创建和寻访一、二维数组(矩阵)的创建一、二维数组(矩阵)的创建二维数组输入必须有以下三个要素:二维数组输入必须有以下三个要素:1.整个输入必须以方括号整个输入必须以方括号“”把所有元素括起来把所有元素括起来2.二维数组的行与行之间必须用分号二维数组的行与行之间必须用分号“;”或回车键或回车键【Enter】隔离隔离3.3.二维数组二维数组元素必须由逗号元素必须由逗号“,”,”或空格分隔或空格分隔【例】输入矩阵【例】输入矩阵987654321A(1 1)在键盘上输入下列内容)在键盘上输入下列内容:( :( 以以 ; ; 区隔

13、各列的元素区隔各列的元素) )A = 1,2,3; 4,5,6; 7,8,9 A = 1,2,3; 4,5,6; 7,8,9 (2 2)按)按【EnterEnter】键,指令被执行。键,指令被执行。(3 3)在指令执行后,)在指令执行后,MATLABMATLAB指令窗中将显示以下结果:指令窗中将显示以下结果:A =A = 1 2 3 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9 或者或者A=1,2,34,5,67,8,9 (以下是显示结果)(以下是显示结果)A = 1 2 3 4 5 6 7 8 9 二、二维数组的寻访和赋值二、二维数组的寻访和赋值1.访问格式:访问格式:A(r,

14、c) %输出输出A的第的第r行第行第c列的元素列的元素例:例:A(2,1) %输出输出A的第的第2行第行第1列的元素列的元素ans=4赋值格式:赋值格式:A(r,c)=s %给给A的第的第r行第行第c列的元素赋值列的元素赋值s例:例:A(2,1)=0 %给给A的第的第2行第行第1列的元素赋值列的元素赋值0A = 1 2 3 0 5 6 7 8 92.访问格式:访问格式:A(r,:) %输出输出A的第的第r行的所有元素行的所有元素例:例:A(2,:) %输出输出A的第的第2行所有元素行所有元素ans=0 5 6赋值格式:赋值格式:A(r,:)=S %给给A的第的第r行的所有元素赋值行的所有元素赋

15、值S注意:注意:A的第的第r行的元素个数必须与行的元素个数必须与S的元素个数相同的元素个数相同例:例:A(2,:) =8:10%给给A的第的第2行所有元素赋值行所有元素赋值8 9 10A = 1 2 3 8 9 10 7 8 93.访问格式:访问格式:A(:,c) %输出输出A的第的第c列所有元素列所有元素例:例:A(:,1) %输出输出A第第1列所有元素列所有元素ans = 1 8 7赋值格式:赋值格式:A(:,c)=S %给给A的第的第c列所有元素赋值列所有元素赋值S注意:注意:A的第的第c列的元素个数必须与列的元素个数必须与Sa的元素个数相同的元素个数相同例:例:A(:,1)=-1;-2

16、;-3 %给给A的第的第1列所有元素赋值列所有元素赋值-1;-2;-3 A = -1 2 3 -2 9 10 -3 8 94. 访问格式:访问格式:A(:) %由由A的各列按自左到右的次序,首尾相接而的各列按自左到右的次序,首尾相接而成的成的“一维一维”长列数组长列数组ans = -1 -2 -3 2 9 8 3 10 9赋值格式:赋值格式:A(:)=D %D必须是一个一维的数组,并且元素个数与必须是一个一维的数组,并且元素个数与A相同相同例:例:A(:)=-9:-1A = -9 -6 -3 -8 -5 -2 -7 -4 -1思考:把思考:把A的的1、3行组成一个新矩阵行组成一个新矩阵B,命令

17、:命令:B=A(1 3,:)把把A的各行改变顺序,按照的各行改变顺序,按照3、2、1行得到一个新的矩阵行得到一个新的矩阵命令:命令:A=A(end:-1:1,:)删除删除A的第的第1、2行,行,命令:命令:A(1 2,:)=注意:对于列的操作是一样的道理注意:对于列的操作是一样的道理下面看一个实例:下面看一个实例:附件附件2 数据数据1300多名病人按照多名病人按照4种疗法服药大约每隔种疗法服药大约每隔8周测试的周测试的CD4浓度。浓度。第第1列是病人编号,第列是病人编号,第2列是列是4种疗法的代码:种疗法的代码:第第3列是病人年龄,第列是病人年龄,第4列是测试列是测试CD4的时刻(周),的时

18、刻(周),第第5列是测得的列是测得的CD4,取值,取值log(CD4+1).题目是通过这些数据得出不同年龄段的人应用不同疗法的疗效。题目是通过这些数据得出不同年龄段的人应用不同疗法的疗效。那么首先应该处理这些数据,现阶段我们主要练习用那么首先应该处理这些数据,现阶段我们主要练习用matlab处理处理数据。数据。1.导入数据导入数据首先我们应该把这些数据构成的一个大的矩阵导入首先我们应该把这些数据构成的一个大的矩阵导入matlab,方法,方法有二:有二:(1)把文本文档把文本文档(.txt文件文件)中的矩阵导入中的矩阵导入matlab的的workspace(注意注意,文本文档中只能是一个矩阵的形

19、式文本文档中只能是一个矩阵的形式,不能含有其他的文字符号不能含有其他的文字符号)首先把文档所在处设为当前的路径,以便首先把文档所在处设为当前的路径,以便matlab能够找到能够找到,最好给最好给这个文本重命名,最好是英文名,这个文本重命名,最好是英文名,比如说我们把比如说我们把“附件附件2.txt”,命名为,命名为data.txt,设置好路径,在,设置好路径,在command window中输入中输入load data.txt回车之后就会发现在回车之后就会发现在workspace中出现了一个变量:中出现了一个变量:data这就完成了文本文档中矩阵的导入这就完成了文本文档中矩阵的导入注意注意:格

20、式是格式是load+空格空格+单引号单引号+文档名文档名.txt+单引号单引号(2)FileImport Data出现以下窗口,选择好文件出现以下窗口,选择好文件“打开打开”就可以了就可以了选择选择“Next”选择选择“Finish”,workspace中就出现了中就出现了data这个变这个变量量(2)操作练习)操作练习导入数据以后,我们做一些矩阵操作的练习导入数据以后,我们做一些矩阵操作的练习1)把所有使用第一种疗法的病人的数据找出来,生成的新矩阵命名为)把所有使用第一种疗法的病人的数据找出来,生成的新矩阵命名为program1,并查看这个矩阵的大小,把,并查看这个矩阵的大小,把progra

21、m1里里cd4浓度出现了浓度出现了0的所在的所在行删除。行删除。命令:命令:place1=find(data(:,2)=1);%找出找出data中第二列的等于中第二列的等于1的元素所在位置的元素所在位置 program1=data(place1,:);% 把把data中第二列的等于中第二列的等于1的元素所在行提取出来组成一个新的矩阵的元素所在行提取出来组成一个新的矩阵%program1program1_size=size(program1); %查询查询program1的大小的大小zeroplace=find(program1(:,5)=0);%找出找出program1第五列中等于第五列中等于

22、0的元素的位置的元素的位置program1(zeroplace,:)=;% 把把program1第五列中等于第五列中等于0的元素所在行删除的元素所在行删除2) 把把program1里的病人数据按年龄从里的病人数据按年龄从大到小大到小的顺序排列的顺序排列命令:命令:m,n=sort(program1(:,3);%把把program1的第三列的元素按从小到大的顺序排列的第三列的元素按从小到大的顺序排列,n返回的是返回的是%排列之后各元素原来的位置排列之后各元素原来的位置program1=program1(n,:);%把把program1各行的顺序改变了,按照第三列的序改变的各行的顺序改变了,按照第

23、三列的序改变的%目前的序是从小到大目前的序是从小到大,要求是从大到小要求是从大到小,所以在把各行的顺序变一下所以在把各行的顺序变一下program1=program1(end:-1:1,:);% 把把program1各行的顺序改变了,按照第三列的从大到小的序改各行的顺序改变了,按照第三列的从大到小的序改%变的变的3)找出找出program1里年龄大于里年龄大于30岁的病人,把这些病人的数据保存岁的病人,把这些病人的数据保存到矩阵到矩阵program1_30中中,计算最后一列的平均值,找出最后一列计算最后一列的平均值,找出最后一列的最大最小值及他们所在的位置的最大最小值及他们所在的位置这个问题作

24、为作业,保存在这个问题作为作业,保存在exercise3_0.m中中作业:作业:1.以起始值以起始值0,终止值,终止值2,产生含有,产生含有20个等距元素的一维数组个等距元素的一维数组x(1)用两种不同的指令实现)用两种不同的指令实现(2)查询)查询x的大小的大小(3)访问)访问x的第三个元素的第三个元素(4)给)给x的第四个元素赋值的第四个元素赋值0(5)取)取 x的第一、五、六个元素组成一个新的数组的第一、五、六个元素组成一个新的数组y(6) 取取x的第前六个元素组成一个新的数组的第前六个元素组成一个新的数组z(7) x的第十个元素后的元素的第十个元素后的元素(8) x的第十个元素和第二个

25、元素的倒排的第十个元素和第二个元素的倒排(9) x中大于中大于的元素的元素(10)给给x的第十个元素重新给值的第十个元素重新给值-1(11)删除第二十个元素删除第二十个元素(12)求)求x最大的元素,最小元素,求平均值,求和,按从达到小顺序排列最大的元素,最小元素,求平均值,求和,按从达到小顺序排列x的元素的元素把解决这道题的命令保存在把解决这道题的命令保存在exercise3_1.m中中2.矩阵矩阵1)输入这个矩阵)输入这个矩阵2)输出)输出A的第三行第三列的元素的第三行第三列的元素3)给)给A的第一行第三列的元素赋值的第一行第三列的元素赋值1004)输出)输出A的第三行的第三行5)把)把A

26、的第二行元素改为跟第一行一样的第二行元素改为跟第一行一样6)把)把A的第一列元素改为跟第三列一样的第一列元素改为跟第三列一样7)用)用A(:)命令使命令使把解决这道题的命令保存在把解决这道题的命令保存在exercise3_2.m中中9327108501A963852741A交作业的方式交作业的方式我的我的Email: 每个同学建立自己的文件夹,文件夹名称:学号每个同学建立自己的文件夹,文件夹名称:学号_姓名姓名_哪次的哪次的作业,把作业交给各个院系指定的同学。作业,把作业交给各个院系指定的同学。 文件夹中的文件:这几次的作业,要求为文件夹中的文件:这几次的作业,要求为m文件,文件,m文件的名称文件的名称每次作业都有要求每次作业都有要求

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁