matlab实验报告实验3.docx
- 文档编号:5696633
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:18
- 大小:938.39KB
matlab实验报告实验3.docx
《matlab实验报告实验3.docx》由会员分享,可在线阅读,更多相关《matlab实验报告实验3.docx(18页珍藏版)》请在冰豆网上搜索。
matlab实验报告实验3
学生实验报告
开课学院及实验室:
机电学院2012年11月30日
学院
机电学院
年级、专业、班
姓名
学号
实验课程名称
MATLAB程序设计
成绩
实验项目名称
实验3:
数值数组及其运算
指导老师
一、实验目的
1、掌握一维数组的创建方法;掌握一维数组子数组的寻访和赋值方法;
2、掌握二维数组的创建方法;掌握二维数组子数组的寻访和赋值方法;
3、掌握数组的各种运算,理解数组运算和矩阵运算的区别。
二、实验原理
1、数组的创建和寻访
数值数组(NumericArray)和数组运算(ArrayOperations)始终是MATLAB的核心内容。
自MATLAB5.x版起,由于其“面向对象”的特征,这种数值数组(以下简称为数组)成为了MATALB最重要的一种内建数据类型(Built-inDataType),而数组运算就是定义在这种数据结构上的方法(Method)。
数组是指实数或复数组成的长方阵列(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列的数组。
执行数组运算的常用函数有三角函数和双曲函数、指数函数、复数函数、圆整函数和求余函数、坐标变换函数等。
三、实验内容
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、数组运算和矩阵运算
生成以下矩阵,
,并进行以下计算:
(1)B的第二列乘以A的第一列;
(2)使用MATLAB帮助系统查阅max函数的使用方法,并使用它求解B中的第二列与A中的第一列逐行元素相乘所得矢量中的最大值。
提示:
ln函数在matlab中为log
6、多项式的表达方式及其操作
(1)求根为5,2+i,2-i,2,3的对应线性方程表达式。
(2)求以下有理分式部分分式展开式,写出求解代码,并根据返回结果写出展开式的数学表达式
(3)使用roots函数求方程3x7+2x-1=0的根。
一、心得体会
Matlab有许多地方与c语言很相似,同样是操作命令。
但同时我们也需要细心找出其中的不同点,区分两种语言,归纳总结。
比如:
百分号%在c语言中的意义为:
(1)、取模运算符;
(2)、转义符。
但在matlab语言中则是注释说明的符号。
而在c语言中,注释说明所用符号为/**/又比如,分号“;”在matlab中有抑制计算结果显示的作用,而在c语言中并无此作用。
在做matlab的时候,要极其注意细节,即使只是一个标点符号的错漏,也会造成计算结果的错误。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)