




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广州大学学生实验报告开课学院及实验室:机械与电气工程学院 计算机楼 301室 2014 年 10 月 30 日 学 院机械与电气工程学院年级、专业、班姓名学号实验课程名称MATLAB程序设计成绩实验项目名称实验一 基础准备及入门指 导 教 师一、实验目的1、掌握一维数组的创建方法;掌握一维数组子数组的寻访和赋值方法;2、掌握二维数组的创建方法;掌握二维数组子数组的寻访和赋值方法;3、掌握数组的各种运算,理解数组运算和矩阵运算的区别。二、实验原理1、数组的创建和寻访数值数组(Numeric Array)和数组运算(Array Operations)始终是MATLAB的核心内容。自MATLAB5.x版起,由于其“面向对象”的特征,这种数值数组(以下简称为数组)成为了MATALB最重要的一种内建数据类型(Built-in Data Type),而数组运算就是定义在这种数据结构上的方法(Method)。数组是指实数或复数组成的长方阵列(Array),可以是一维、二维、三维或更高的维数。不同维数的数组创建和访问的方法有相同之处,也有不同之处。一维数组的创建方法有:(1)逐个输入法;(2)冒号生成法;(3)定数线性采样法;(4)定数对数生成法。对于一维数组的寻访,常用的有以下几种类型:(1)x(3); (2)x(1 2 5) ;(3)x(1:3) ;(4)x(3:end) ;(5)x(3:-1:1) ;(6)x(find(x0.5) ;(7)x(1 2 3 4 4 3 2 1) 。在这里假设x是长度为5的一维数组。二维数组则是由实数或复数排列称矩形而成。二维数组和矩阵在数据结构上相同;一个矩形阵列是二维数组或矩阵取决于所使用的运算符号。二维数组的创建方法有:(1)直接输入法,用于生成较小数组;(2)利用M文件创建和保存数组,用于经常要调用的数组,尤其是较大而且复杂的数组。对于二维数组的寻访,常用的有以下几种类型:(1)全下标标识法,如A(2,3);(2)单下标标识法,如A(10),这种方法比较少用;(3)单下标全元素标识,如A(:),指的是A的各列按先左后右的次序、首尾相接排成“一维长列”后,得到的一维数组的全部元素,其结果是一个一维列数组;类似地,也需注意A(r,:)、A(:,c)的含义。(4)“逻辑1”标识。在MATLAB中,提供了相关的函数用作常用的标准数组的生成,如全0数组、全1数组、单位矩阵、对角阵、均匀分布的随机数组、正态分布的随机数组等,都有相关的生成函数。对于一些数组的特殊操作,MATLAB也提供了相应的操作函数。如提取对角元素或生成对角阵、逆时针旋转二维数组90度、提取数组下三角部分、提取数组上三角部分等,都有相应的函数。在应用中注意利用这些函数,可以事半功倍。2、数组运算数组运算是指无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素平等地实施同样的操作。数组运算包括加、减、乘、除、乘方等,除加减外,数组之间进行乘、除、乘方都必须在运算符号前加“.”,否则视为矩阵运算。此外,数组运算还包括转置、关系运算和逻辑运算。除了以运算符号执行数组运算外,也可以对数组施加函数,以函数形式进行数组运算。如对数组X执行函数f的运算:,其中X为m行n列的数组。执行数组运算的常用函数有三角函数和双曲函数、指数函数、复数函数、圆整函数和求余函数、坐标变换函数等。三、实验内容1、一维数组的创建 (1)、利用逐个输入法、冒号生成法以及定数线性采样法创建以下一维数组:X1=1,2,3,4,5,6,7,8,9,10(2)、利用冒号生成法创建以下数组: X2=(1,2,3,4,9,8,7,6,5)(3)、利用定数对数生成法创建一个第一个元素为10,最后一个元素为100,元素个数为51的一维数组X3。2、 一维数组子数组的寻访和赋值 以冒号生成法创建一个第一个元素为0,步长为0.1,最后一个元素为2的一维数组X4,并写出寻访或赋值的以下指令:a、 寻访X4的第6个元素;b、 同时寻访X4的第2、5、7个元素;c、 寻访前3个元素组成的子数组;d、 寻访除前3个元素外的全部的其他元素;e、 由后三个元素倒排构成的子数组;f、 由大于0.5的元素构成的子数组;g、 把第三个元素重新赋值为0;把当前x数组的第一、四个元素都赋值为1。3、二维数组的创建,子数组的寻访和赋值创建一个M文件(文件名为myMatrix.m),定义一个二维数组A,第一行为11至15、30至26共10个元素,第二行为110共10个元素。然后运行改M文件,生成数组AM,并按以下方式寻访该数组:(1) 寻访A的第一行;(2) 寻访A的第三列;(3) 同时寻访A的第三列和第五列;(4) 把A的各列按自左至右的次序,首尾相接生成一个“一维长列”;(5) 把A的第1行第1列、第2行第2列以及第1行第5列的元素重新赋值为10、20、30;(6) 把A的第二行赋值为1120。4、标准数组的生成和数组操作函数生成以下数组或矩阵:(1)长度为4的全1行数组和44的全1行数组;(2)5阶单位阵;(3)生成一矩阵A,第一行为1、2,第二行为3、4;并使用diag函数生成A的对角线元素所组成的对角阵。(4)生成一维数组A,其值为110,并使用reshape函数把其重排成25的数组B;(5)使用flipdim和fliplr函数对B进行翻转操作,从返回结果观察和总结各个函数的作用。注:flipdim的调用方式为:flipdim(B,1)和flipdim(B,2);其他均为function(B).5、数组运算和矩阵运算生成以下矩阵,并进行以下计算:(1) B的第二列乘以A的第一列;(2) 使用MATLAB帮助系统查阅max函数的使用方法,并使用它求解B中的第二列与A中的第一列逐行元素相乘所得矢量中的最大值。提示:ln函数在matlab中为log6、多项式的表达方式及其操作(1) 求根为5,2i,2i,2,3的对应线性方程表达式。(2) 求以下有理分式部分分式展开式,写出求解代码,并根据返回结果写出展开式的数学表达式(3) 使用roots函数求方程3x7+2x-1=0的根。四、实验过程、结果(程序和运行结果截屏)和分析1、一维数组的创建 (1)、利用逐个输入法、冒号生成法以及定数线性采样法创建以下一维数组:X1=1,2,3,4,5,6,7,8,9,10(2)、利用冒号生成法创建以下数组: X2=(1,2,3,4,9,8,7,6,5)(3)、利用定数对数生成法创建一个第一个元素为10,最后一个元素为100,元素个数为51的一维数组X3。 X1=1,2,3,4,5,6,7,8,9,10X1 = 1 2 3 4 5 6 7 8 9 10 X2=1:4,9:-1:5X2 = 1 2 3 4 9 8 7 6 5 X3=logspace(1,2,51)X3 = Columns 1 through 7 10.0000 10.4713 10.9648 11.4815 12.0226 12.5893 13.1826 Columns 8 through 14 13.8038 14.4544 15.1356 15.8489 16.5959 17.3780 18.1970 Columns 15 through 21 19.0546 19.9526 20.8930 21.8776 22.9087 23.9883 25.1189 Columns 22 through 28 26.3027 27.5423 28.8403 30.1995 31.6228 33.1131 34.6737 Columns 29 through 35 36.3078 38.0189 39.8107 41.6869 43.6516 45.7088 47.8630 Columns 36 through 42 50.1187 52.4807 54.9541 57.5440 60.2560 63.0957 66.0693 Columns 43 through 49 69.1831 72.4436 75.8578 79.4328 83.1764 87.0964 91.2011 Columns 50 through 51 95.4993 100.00002.一维数组子数组的寻访和赋值 以冒号生成法创建一个第一个元素为0,步长为0.1,最后一个元素为2的一维数组X4,并写出寻访或赋值的以下指令:a.寻访X4的第6个元素;b.同时寻访X4的第2、5、7个元素;c.寻访前3个元素组成的子数组;d.寻访除前3个元素外的全部的其他元素;e.由后三个元素倒排构成的子数组;f.由大于0.5的元素构成的子数组;g.把第三个元素重新赋值为0;h.把当前x数组的第一、四个元素都赋值为1。 X4=0:0.1:2X4 = Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 14 0.7000 0.8000 0.9000 1.0000 1.1000 1.2000 1.3000 Columns 15 through 21 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 X4(6)ans = 0.5000 X4(2 5 7)ans = 0.1000 0.4000 0.6000X4(1:3)ans = 0 0.1000 0.2000 X4(4:end)ans = Columns 1 through 6 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 Columns 7 through 12 0.9000 1.0000 1.1000 1.2000 1.3000 1.4000 Columns 13 through 181.5000 1.6000 1.7000 1.8000 1.9000 2.0000 X4(end:-1:end-2)ans =2.0000 1.9000 1.8000 X4(find(X40.5)ans = Columns 1 through 8 0.6000 0.7000 0.8000 0.9000 1.0000 1.1000 1.2000 1.3000 Columns 9 through 15 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 X4(3)=0X4 = Columns 1 through 6 0 0.1000 0 0.3000 0.4000 0.5000 Columns 7 through 12 0.6000 0.7000 0.8000 0.9000 1.0000 1.1000 Columns 13 through 18 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 Columns 19 through 21 1.8000 1.9000 2.0000 X4(1 4)=(1,1)X4 = Columns 1 through 8 1.0000 0.1000 0.2000 1.0000 0.4000 0.5000 0.6000 0.7000 Columns 9 through 16 0.8000 0.9000 1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 Columns 17 through 21 1.6000 1.7000 1.8000 1.9000 2.00003、二维数组的创建,子数组的寻访和赋值创建一个M文件(文件名为myMatrix.m),定义一个二维数组A,第一行为11至15、30至26共10个元素,第二行为110共10个元素。然后运行改M文件,生成数组AM,并按以下方式寻访该数组:(7) 寻访A的第一行;(8) 寻访A的第三列;(9) 同时寻访A的第三列和第五列;(10) 把A的各列按自左至右的次序,首尾相接生成一个“一维长列”;(11) 把A的第1行第1列、第2行第2列以及第1行第5列的元素重新赋值为10、20、30;(12) 把A的第二行赋值为1120。A=11:15,30:-1:26;1:10A(1,:)A(:,3)A(:,3,5)reshape(A,1,)A(1 12 5)=(10 20 30)A(2,:)=11:20A = 11 12 13 14 15 30 29 28 27 26 1 2 3 4 5 6 7 8 9 10ans =11 12 13 14 15 30 29 28 27 26ans = 13 3ans = 13 15 3 5ans = Columns 1 through 13 11 12 13 14 15 30 29 28 27 26 1 2 3 Columns 14 through 20 4 5 6 7 8 9 10A = 10 12 30 14 15 30 29 28 27 26 1 2 3 4 5 20 7 8 9 10A = 10 12 30 14 15 30 29 28 27 2611 12 13 14 15 16 17 18 19 204、标准数组的生成和数组操作函数生成以下数组或矩阵:(1)长度为4的全1行数组和44的全1行数组;(2)5阶单位阵;(3)生成一矩阵A,第一行为1、2,第二行为3、4;并使用diag函数生成A的对角线元素所组成的对角阵。(4)生成一维数组A,其值为110,并使用reshape函数把其重排成25的数组B;(5)使用flipdim和fliplr函数对B进行翻转操作,从返回结果观察和总结各个函数的作用。注:flipdim的调用方式为:flipdim(B,1)和flipdim(B,2);其他均为function(B). ones(1,4)ans = 1 1 1 1 ones(4)ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 eye(5)ans = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 A=1,2;3,4A = 1 2 3 4 B=diag(A)B = 1 4 A=1:10A = 1 2 3 4 5 6 7 8 9 10 B=reshape(A,2,5)B = 1 3 5 7 9 2 4 6 8 10 flipdim(B,1)ans = 2 4 6 8 10 1 3 5 7 9 flipdim(B,2)ans = 9 7 5 3 1 10 8 6 4 2 fliplr(B)ans = 9 7 5 3 1 10 8 6 4 25、数组运算和矩阵运算生成以下矩阵,并进行以下计算:(3) B的第二列乘以A的第一列;(4) 使用MATLAB帮助系统查阅max函数的使用方法,并使用它求解B中的第二列与A中的第一列逐行元素相乘所得矢量中的最大值。提示:ln函数在matlab中为log A=1 4 2;2 4 100;7 9 7;3 pi 42A = 1.0000 4.0000 2.0000 2.0000 4.0000 100.0000 7.0000 9.0000 7.0000 3.0000 3.1416 42.0000 B=log(A)B = 0 1.3863 0.6931 0.6931 1.3863 4.6052 1.9459 2.1972 1.9459 1.0986 1.1447 3.7377 C=B(:,2).*A(:,1)C = 1.3863 2.7726 15.38063.4342 y=max(C)y = 15.3806 A=1 4 2;2 4 100;7 9 7;3 pi 42A = 1.0000 4.0000 2.0000 2.0000 4.0000 100.0000 7.0000 9.0000 7.0000 3.0000 3.1416 42.0000 B=log(A)B = 0 1.3863 0.6931 0.6931 1.3863 4.6052 1.9459 2.1972 1.9459 1.0986 1.1447
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州工程职业学院《汽车检测与诊断技术》2023-2024学年第二学期期末试卷
- 2024年成囊材料项目投资申请报告代可行性研究报告
- 工程项目设计介绍
- 汽车日常维养核心要点
- 2025年广东佛山顺德区杏晖投资控股集团有限公司招聘笔试参考题库含答案解析
- 机械毕业设计致谢要点
- 高速公路定期检测项目技术状况指数MQI评定报告
- 2025年江苏南通市经济技术开发区总公司招聘笔试参考题库附带答案详解
- 汽车新纪元:零部件制胜-把握市场趋势开创未来
- 珠宝首饰店铺设计
- 入团考试试题及答案大学
- 2025年北京高考语文三轮复习之微写作
- 投资框架协议中英文版
- 50吨汽车吊性能表
- 暗黑破坏神2所有绿色套装(大图)
- 矿井安全避险系统有效性评估报告
- 砂石级配搭配计算表
- 光荣升旗手PPT课件
- 交通事故先予执行申请书
- 2021年2021年黑龙江省高考化学试题与答案
- 上海国金中心IFC商场平面图
评论
0/150
提交评论