广州大学学生实验报告matlab程序设计Word下载.docx
- 文档编号:19028739
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:14
- 大小:35.32KB
广州大学学生实验报告matlab程序设计Word下载.docx
《广州大学学生实验报告matlab程序设计Word下载.docx》由会员分享,可在线阅读,更多相关《广州大学学生实验报告matlab程序设计Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
对于一维数组的寻访,常用的有以下几种类型:
(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).
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的根。
四、实验过程、结果(程序和运行结果截屏)和分析
>
X1=[1,2,3,4,5,6,7,8,9,10]
X1=
12345678910
X2=[1:
4,9:
5]
X2=
123498765
X3=logspace(1,2,51)
X3=
Columns1through7
10.000010.471310.964811.481512.022612.589313.1826
Columns8through14
13.803814.454415.135615.848916.595917.378018.1970
Columns15through21
19.054619.952620.893021.877622.908723.988325.1189
Columns22through28
26.302727.542328.840330.199531.622833.113134.6737
Columns29through35
36.307838.018939.810741.686943.651645.708847.8630
Columns36through42
50.118752.480754.954157.544060.256063.095766.0693
Columns43through49
69.183172.443675.857879.432883.176487.096491.2011
Columns50through51
95.4993100.0000
2.一维数组子数组的寻访和赋值
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=
00.10000.20000.30000.40000.50000.6000
0.70000.80000.90001.00001.10001.20001.3000
1.40001.50001.60001.70001.80001.90002.0000
X4(6)
ans=
0.5000
X4([257])
0.10000.40000.6000
X4(1:
3)
00.10000.2000
X4(4:
end)
Columns1through6
0.30000.40000.50000.60000.70000.8000
Columns7through12
0.90001.00001.10001.20001.30001.4000
Columns13through18
1.50001.60001.70001.80001.90002.0000
X4(end:
end-2)
2.00001.90001.8000
X4(find(X4>
0.5))
Columns1through8
0.60000.70000.80000.90001.00001.10001.20001.3000
Columns9through15
X4(3)=[0]
00.100000.30000.40000.5000
0.60000.70000.80000.90001.00001.1000
1.20001.30001.40001.50001.60001.7000
Columns19through21
1.80001.90002.0000
X4([14])=([1,1])
1.00000.10000.20001.00000.40000.50000.60000.7000
Columns9through16
0.80000.90001.00001.10001.20001.30001.40001.5000
Columns17through21
1.60001.70001.80001.90002.0000
(7)寻访A的第一行;
(8)寻访A的第三列;
(9)同时寻访A的第三列和第五列;
(10)把A的各列按自左至右的次序,首尾相接生成一个“一维长列”;
(11)把A的第1行第1列、第2行第2列以及第1行第5列的元素重新赋值为10、20、30;
(12)把A的第二行赋值为11~20。
A=[11:
15,30:
26;
1:
10]
A(1,:
)
A(:
3)
[3,5])
reshape(A'
1,[])
A([1125])=([102030])
A(2,:
)=11:
20
A=
11121314153029282726
12345678910
11121314153029282726
13
3ans=
1315
35
Columns1through13
11121314153029282726123
Columns14through20
45678910
10123014153029282726
123452078910
11121314151617181920
ones(1,4)
1111
ones(4)
eye(5)
10000
01000
00100
00010
00001
A=[1,2;
3,4]
12
34
B=diag(A)
B=
1
4
A=[1:
B=reshape(A,2,5)
13579
246810
flipdim(B,1)
flipdim(B,2)
97531
108642
fliplr(B)
97531
108642
(3)B的第二列乘以A的第一列;
(4)使用MATLAB帮助系统查阅max函数的使用方法,并使用它求解B中的第二列与A中的第一列逐行元素相乘所得矢量中的最大值。
A=[142;
24100;
797;
3pi42]
1.00004.00002.0000
2.00004.0000100.0000
7.00009.00007.0000
3.00003.141642.0000
B=log(A)
01.38630.6931
0.69311.38634.6052
1.94592.19721.9459
1.09861.14473.7377
C=B(:
2).*A(:
1)
C=
1.3863
2.7726
15.3806
3.4342
y=max(C)
y=
15.3806
A=[142;
(4)求根为5,2+i,2-i,2,3的对应线性方程表达式。
(5)求以下有理分式部分分式展开式,写出求解代码,并根据返回结果写出展开式的数学表达式
(6)使用roots函数求方程3x7+2x-1=0的根。
(1)
x=[5,2+i,2-i,2,3];
A=poly(x)
A=.
1-1476-204275-150
(2)
A=[1,0,1,0,1,1];
B=[1,1,-2,1];
[P,r]=deconv(A,B)
P=
1-14
r=
000-710-3
fx=poly2str(P,'
x'
fx=
x^2-1x+4
(3)
P=[3,0,0,0,0,0,2,-1];
x=roots(P)
x=
-0.8756+0.4740i
-0.8756-0.4740i
-0.0740+0.9556i
-0.0740-0.9556i
0.7046+0.5007i
0.7046-0.5007i
0.4898+0.0000i
五、实验心得
本次实验中初步接触了数组与矩阵的创建和操作。
在实验过程中,由于对公式不熟悉,花费了很多时间,但比第一次做感觉轻松很多。
我总结出做该课程需要十分细心,特别要注意标点符号的大小写,稍微弄错就无法得出正确结果。
同时,做题过程我发现matlab与C语言相比有相同点,也有很大不同,比如分号的使用,因此不能完全用C语言的思想做该课程。
通过这次做报告,我对这门课程的兴趣更加浓烈了,但也发现对这门课程了解太少,以后需要多花时间学习,多动手操作以取得更大进步。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广州大学 学生 实验 报告 matlab 程序设计