广州大学学生实验报告2matlab程序设计.docx
- 文档编号:1161110
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:15
- 大小:39.24KB
广州大学学生实验报告2matlab程序设计.docx
《广州大学学生实验报告2matlab程序设计.docx》由会员分享,可在线阅读,更多相关《广州大学学生实验报告2matlab程序设计.docx(15页珍藏版)》请在冰豆网上搜索。
广州大学学生实验报告2matlab程序设计
广州大学学生实验报告
开课学院及实验室:
机械与电气工程学院 计算机楼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 25]);(3)x(1:
3) ;(4)x(3:
end);(5)x(3:
-1:
1);(6)x(find(x>0.5)) ;(7)x([12 3443 21])。
在这里假设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).
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的根。
四、实验过程、结果(程序和运行结果截屏)和分析
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,10]
X1=
1 2 3 45 67 8 9 10
>>X2=[1:
4,9:
-1:
5]
X2=
1 2 3 49 8 7 65
>>X3=logspace(1,2,51)
X3=
Columns 1through7
10.0000 10.471310.964811.4815 12.022612.5893 13.1826
Columns8 through14
13.803814.454415.1356 15.848916.5959 17.378018.1970
Columns15through21
19.054619.952620.8930 21.877622.908723.988325.1189
Columns 22through28
26.302727.5423 28.8403 30.199531.6228 33.1131 34.6737
Columns29through35
36.3078 38.0189 39.810741.686943.6516 45.7088 47.8630
Columns36through42
50.118752.4807 54.9541 57.5440 60.2560 63.0957 66.0693
Columns43 through49
69.1831 72.4436 75.857879.4328 83.176487.0964 91.2011
Columns 50through 51
95.4993100.0000
>>
2.一维数组子数组的寻访和赋值
以冒号生成法创建一个第一个元素为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:
2
X4=
Columns1through7
0 0.1000 0.20000.3000 0.4000 0.5000 0.6000
Columns8 through 14
0.7000 0.8000 0.90001.00001.1000 1.20001.3000
Columns15through21
1.4000 1.5000 1.60001.7000 1.80001.9000 2.0000
>>X4(6)
ans=
0.5000
>>X4([257])
ans =
0.1000 0.40000.6000
>>X4(1:
3)
ans=
00.1000 0.2000
>>X4(4:
end)
ans =
Columns1through 6
0.3000 0.40000.5000 0.60000.70000.8000
Columns7through12
0.9000 1.00001.1000 1.2000 1.3000 1.4000
Columns13through18
1.5000 1.6000 1.7000 1.8000 1.90002.0000
>>X4(end:
-1:
end-2)
ans =
2.00001.9000 1.8000
>>X4(find(X4>0.5))
ans=
Columns 1through 8
0.6000 0.7000 0.80000.9000 1.0000 1.1000 1.2000 1.3000
Columns 9through15
1.4000 1.5000 1.60001.7000 1.8000 1.9000 2.0000
>>X4(3)=[0]
X4 =
Columns 1through 6
00.1000 0 0.30000.40
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广州大学 学生 实验 报告 matlab 程序设计