matlab实验3报告,matlab实验报告(实验3).doc

41528d3028836879cd698677c3999917.gifmatlab实验报告(实验3).doc

学生实验报告开课学院及实验室:机电学院2012年11月30日学院机电学院年级、专业、班姓名学号实验课程名称MATLAB程序设计成绩实验项目名称实验3:数值数组及其运算指导老师一、实验目的1、掌握一维数组的创建方法;掌握一维数组子数组的寻访和赋值方法;2、掌握二维数组的创建方法;掌握二维数组子数组的寻访和赋值方法;3、掌握数组的各种运算,理解数组运算和矩阵运算的区别。二、实验原理1、数组的创建和寻访数值数组(NumericArray)和数组运算(ArrayOperations)始终是MATLAB的核心内容。自MATLAB5.x版起,由于其“面向对象”的特征,这种数值数组(以下简称为数组)成为了MATALB最重要的一种内建数据类型(Built-inDataType),而数组运算就是定义在这种数据结构上的方法()。数组是指实数或复数组成的长方阵列(Array),可以是一维、二维、三维或更高的维数。不同维数的数组创建和访问的方法有相同之处,也有不同之处。一维数组的创建方法有:(1)逐个输入法;(2)冒号生成法;(3)定数线性采样法;(4)定数对数生成法。对于一维数组的寻访,常用的有以下几种类型:(1)x(3);(2)x([125]);(3)x(1:3);(4)x(3:end);(5)x(3:-1:1);(6)x(find(x>0.5));(7)x([12344321])。在这里假设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列的数组。执行数组运算的常用ijmnf(X)[x]函数有三角函数和双曲函数、指数函数、复数函数、圆整函数和求余函数、坐标变换函数等。三、实验内容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个元素,第二行为1~10共10个元素。然后运行改M文件,生成数组AM,并按以下方式寻访该数组:(1)寻访A的第一行;(2)寻访A的第三列;(3)同时寻访A的第三列和第五列;(4)把A的各列按自左至右的次序,首尾相接生成一个“一维长列”;(5)把A的第1行第1列、第2行第2列以及第1行第5列的元素重新赋值为10、20、30;(6)把A的第二行赋值为11~20。4、标准数组的生成和数组操作函数生成以下数组或矩阵:(1)长度为4的全1行数组和4×4的全1行数组;(2)5阶单位阵;(3)生成一矩阵A,第一行为1、2,第二行为3、4;并使用diag函数生成A的对角线元素所组成的对角阵。(4)生成一维数组A,其值为1~10,并使用reshape函数把其重排成2×5的数组B;(5)使用flipdim和fliplr函数对B进行翻转操作,从返回结果观察和总结各个函数的作用。注:flipdim的调用方式为:flipdim(B,1)和flipdim(B,2);其他均为function(B).总结:flipud(B)和flipdim(B,1)是等价的,都为按行上下翻转;fliplr(B)和flipdim(B,2)是等价的,都为按列左右翻转。5、数组运算和矩阵运算生成以下矩阵,,并进行以下计算:410AlnA7932(1)B的第二列乘以A的第一列;(2)使用MATLAB帮助系统查阅max函数的使用方法,并使用它求解B中的第二列与A中的第一列逐行元素相乘所得矢量中的最大值。提示:ln函数在matlab中为log6、多项式的表达方式及其操作(1)求根为5,2+i,2-i,2,3的对应线性方程表达式。(2)求以下有理分式部分分式展开式,写出求解代码,并根据返回结果写出展开式的数学表达式35231xx(3)使用roots函数求方程3x7+2x-1=0的根。一、心得体会Matlab有许多地方与c语言很相似,同样是操作命令。但同时我们也需要细心找出其中的不同点,区分两种语言,归纳总结。比如:百分号%在c语言中的意义为:(1)、取模运算符;(2)、转义符。但在matlab语言中则是注释说明的符号。而在c语言中,注释说明所用符号为/**/又比如,分号“;”在matlab中有抑制计算结果显示的作用,而在c语言中并无此作用。在做matlab的时候,要极其注意细节,即使只是一个标点符号的错漏,也会造成计算结果的错误。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值