实验二 MATLAB矩阵分析与处理
MATLAB实验报告
实验一MATLAB操作基础实验目的和要求:1、熟悉MATLAB的操作环境及基本操作方法。
2、掌握MATLAB的搜索路径及设置方法。
3、熟悉MATLAB帮助信息的查阅方法实验内容:1、建立自己的工作目录,再设置自己的工作目录设置到MA TLAB搜索路径下,再试验用help命令能否查询到自己的工作目录。
2、在MA TLAB的操作环境下验证课本;例1-1至例1-4,总结MATLAB的特点。
例1-1例1-2例1-3例1-43、利用帮助功能查询inv、plot、max、round等函数的功能。
4、完成下列操作:(1)在matlab命令窗口输入以下命令:x=0:pi/10:2*pi;y=sin(x);(2)在工作空间窗口选择变量y,再在工作空间窗口选择回绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形,并分析图形的含义。
5、访问mathworks公司的主页,查询有关MATLAB的产品信息。
主要教学环节的组织:教师讲授实验目的、开发环境界面、演示实验过程,然后同学上机练习。
思考题:1、如何启动与退出MA TLAB集成环境?启动:(1)在windows桌面,单击任务栏上的开始按钮,选择‘所有程序’菜单项,然后选择MA TLAB程序组中的MA TLABR2008b程序选项,即可启动MATLAB系统。
(2)在MA TLAB的安装路径中找到MA TLAB系统启动程序matlab.exe,然后运行它。
(3)在桌面上建立快捷方式后。
双击快捷方式图标,启动MA TLAB。
退出:(1)在MA TLAB主窗口file菜单中选择exitMATLAB命令。
(2)在MA TLAB命令窗口中输入exit或quit命令。
(3)单击MATLAB主窗口的关闭按钮。
2、简述MATLAB的主要功能。
MATLAB是一种应用于科学计算领域的数学软件,它主要包括数值计算和符号计算功能、绘图功能、编程语言功能以及应用工具箱的扩展功能。
3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?使用‘;’隔开4、Help命令和lookfor命令有何区别?help是显示matlab内置的帮助信息一般是help 命令;而lookfor 关键词是通过关键词查找,“关键词”就是你要找的词语5、在MA TLAB环境下,建立了一个变量fac,同时又在当前目录下建立了一个m文件fac.m,如果需要运行fac.m文件,该如何处理?实验二MATLAB矩阵及运算实验目的和要求:1、掌握MATLAB数据对象的特点及运算规则2、掌握MATLAB建立矩阵的方法及矩阵处理的方法3、掌握MATLAB分析的方法实验内容:1.求下列表达式的值(1)(2)(3)(4)2.已知A=[-1,5,-4;0,7,8;3,61,7],B=[8,3,-1;2,5,3;-3,2,0] 求下列表达式的值:(1)A+6B和A^2-B+I(其中I为单位矩阵)。
matlab实验二
北京工业大学Matlab实验报告**: ***学号: ************: **实验二、Matlab 的基本计算(一)实验目的1.掌握建立矩阵的方法。
2.掌握Matlab 各种表达式的书写规则以及常用函数的使用。
3.能用Matlab 进行基本的数组、矩阵运算。
4.掌握矩阵分析的方法以及能用矩阵运算或求逆法解线性方程组。
5.掌握Matlab 中的关系运算与逻辑运算。
(二)实验环境1.计算机2.MATLAB7.0集成环境(三)实验内容及要求1、熟练操作MATLAB7.0运行环境;2、自主编写程序,必要时参考相关资料;3、实验前应写出程序大致框架或完整的程序代码;4、完成实验报告。
(四)实验程序设计1.利用diag 等函数产生下列矩阵。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=032570800a ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=804050702b2.利用reshape 函数将1题中的a 和b 变换成行向量。
3.产生一个均匀分布在(-5,5)之间的随机矩阵(10×2),要求精确到小数点后一位。
4.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=76538773443412A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=731203321B求下列表达式的值:(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵)(2) B A K *21=和B A K *.22=(3) 331^A K =和3.32^A K =(4) B A K /41=和A B K \42=(5) ],[51B A K =和]2:);],3,1([[52^B A K = 5.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.03216/15/14/15/14/13/14/13/12/1x x x(1)求方程的解(矩阵除法和求逆法)(2)将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变化。
2021年MATLAB)课后实验答案[1]
实验一 MATLAB运算基础欧阳光明(2021.03.07)1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)0 122sin851ze =+(2)21ln( 2z x=+,其中2120.455i x+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.5解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5. 下面是一个线性方程组:(1) 求方程的解。
(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M文件如下:实验三选择结构程序设计1. 求分段函数的值。
用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。
解:M文件如下:2. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90分~100分为A,80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E。
要求:(1) 分别用if语句和switch语句实现。
(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
实验二MATLAB矩阵分析和处理
实验二 MATLAB 矩阵分析和处理一、实验目的1.掌握生成特殊矩阵的方法。
2.掌握矩阵分析的方法。
4.用矩阵求逆法解线性方程组。
二、实验内容1.设有分块矩阵⎥⎦⎤⎢⎣⎡=⨯⨯⨯⨯22322333S O R E A ,其中E,R,O,S 分别为单位矩阵、随机矩阵、零矩阵和对角矩阵,试通过数值计算验证⎥⎦⎤⎢⎣⎡+=22S O RS R E A 。
解:>> E=eye(3);>> R=rand(3,2);>> O=zeros(2,3);>> S=diag(1:2);>> A=[E R;O S];A =1.0000 0 0 0.9501 0.48600 1.0000 0 0.2311 0.89130 0 1.0000 0.6068 0.76210 0 0 1.0000 00 0 0 0 2.0000>> A^2ans =1.0000 0 0 1.9003 1.45790 1.0000 0 0.4623 2.67390 0 1.0000 1.2137 2.28630 0 0 1.0000 00 0 0 0 4.0000>> [E R+R*S;O S^2]ans =1.0000 0 0 1.9003 1.45790 1.0000 0 0.4623 2.67390 0 1.0000 1.2137 2.28630 0 0 1.0000 00 0 0 0 4.0000所以⎥⎦⎤⎢⎣⎡+=22S ORS R E A .2.产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,求其行列式的值Hh 和Hp 以及他们的条件数Th 和Tp ,判断哪个矩阵性能更好,为什么?解:H=hilb(5)H =1.0000 0.5000 0.3333 0.2500 0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111 >> P=pascal(5)P =1 1 1 1 11 2 3 4 51 3 6 10 151 4 10 20 351 5 15 35 70>> Hh=det(H)Hh =3.7493e-012>> Hp=det(P)Hp =1>> Th=cond(H)Th =4.7661e+005>> Tp=cond(P)Tp =8.5175e+003由上式看出:帕斯卡矩阵性能更好,因为行列式为1,而希尔伯特矩阵条件数很差,使用一般方法求逆矩阵会因原始数据的微小变动产生不可靠的结果3.建立一个5x5矩阵,求它的行列式的值、迹、秩和X 数解:a=magic(5)a =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9>> b=det(a)b =5070000>> c=trace(a)c =65>> d=rank(a)d =5>> e=norm(a)e =65.0000>>4.已知⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=5881252018629A ,求特征值和特征向量,并分析其数学意义解:A=[-29 6 18;20 5 12;-8 8 5]A =-29 6 1820 5 12-8 8 5>> b=eig(A)b =-25.3169-10.518216.8351>> [v,b]=eig(A)0.7130 0.2803 0.2733-0.6084 -0.7867 0.87250.3487 0.5501 0.4050b =-25.3169 0 00 -10.5182 00 0 16.83515.下面是一个线性方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x(1) 求方程的解(2) 将方程右边向量第三个元素0.52改为0.53,并比较解的变化(3) 计算系数矩阵A 的条件数并分析结论解:(1) A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]A =0.5000 0.3333 0.25000.3333 0.2500 0.20000.2500 0.2000 0.1667>> C=[0.95;0.67;0.52]C =0.95000.67000.5200>> B=A\CB =1.20000.60000.6000>>(2)A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]A =0.5000 0.3333 0.25000.3333 0.2500 0.20000.2500 0.2000 0.1667>> C=[0.95;0.67;0.53]C =0.95000.67000.5300>> B=A\C3.0000-6.60006.6000(3)cond(A)ans =1.3533e+0036.建立A矩阵,试比较sqrtm(A)和sqrt(A),并分析他们的区别解:A=magic(3)A =8 1 63 5 74 9 2>> sqrtm(A)ans =2.7065 + 0.0601i 0.0185 + 0.5347i 1.1480 - 0.5948i0.4703 + 0.0829i 2.0288 + 0.7378i 1.3739 - 0.8207i0.6962 - 0.1430i 1.8257 - 1.2725i 1.3511 + 1.4155i>> sqrt(A)ans =2.8284 1.0000 2.44951.73212.2361 2.64582.00003.0000 1.4142区别:sqrt是求矩阵里每个元素的平方根,并组成一个新的矩阵。
2019年MATLAB)课后实验答案
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。
(2) 将方程右边向量元素b 3改为再求解,并比较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M 文件如下:123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=,,,,,,时的y 值。
第3章 MATLAB矩阵分析与处理1
(3) 希尔伯特矩阵 在MATLAB中,生成希尔伯特矩阵的函数 是hilb(n)。 使用一般方法求逆会因为原始数据的微小 扰动而产生不可靠的计算结果。MATLAB 中,有一个专门求希尔伯特矩阵的逆的函 数invhilb(n),其功能是求n阶的希尔伯特矩 阵的逆矩阵。
例3.4 求4阶希尔伯特矩阵及其逆矩阵。 命令如下: format rat %以有理形式输出 H=hilb(4) H=invhilb(4)
(5) 伴随矩阵 MATLAB生成伴随矩阵的函数是compan(p), 其中p是一个多项式的系数向量,高次幂系 数排在前,低次幂排在后。例如,为了求 多项式的x3-7x+6的伴随矩阵,可使用命令: p=[1,0,-7,6]; compan(p)
(6) 帕斯卡矩阵 我们知道,二次项(x+y)n展开后的系数随n 的增大组成一个三角形表,称为杨辉三角 形。由杨辉三角形表组成的矩阵称为帕斯 卡(Pascal)矩阵。函数pascal(n)生成一个n阶 帕斯卡矩阵。
12
(2)构造对角矩阵
如果V是一个m个元素的向量,diag(V)将产生一个m×m对角 矩阵,
其主对角线元素即为向量V的元素。
例如:
diag([1,2,-1,4])
ans =
1000
0200 0 0 -1 0 0004 例如: diag(1:3,-1)
ans = 0000 1000 0200 0030
46.7390 33.3411 25.2880 46.8095 24.1667
y = 0.6 + sqrt(0.1)*randn(5)
2024/8/10
Application of Matlab Language
2
3.1.2 用于专门学科的特殊矩阵 (1) 魔方矩阵 魔方矩阵有一个有趣的性质,其每行、每 列及两条对角线上的元素和都相等。对于n 阶魔方阵,其元素由1,2,3,…,n2共n2个整数 组成。MATLAB提供了求魔方矩阵的函数 magic(n),其功能是生成一个n阶魔方阵。
MATLAB)课后实验答案
实验一 MATLAB 运算基础1、 先求下列表达式得值,然后显示MATLAB 工作空间得使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0、5:2、5 解:4、 完成下列操作:(1) 求[100,999]之间能被21整除得数得个数。
(2) 建立一个字符串向量,删除其中得大写字母。
解:(1) 结果:(2)、 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果就是:实验二 MATLAB 矩阵分析与处理1、 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5、 下面就是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程得解。
(2) 将方程右边向量元素b 3改为0、53再求解,并比较b 3得变化与解得相对变化。
(3) 计算系数矩阵A 得条件数并分析结论。
解: M 文件如下:实验三 选择结构程序设计1、 求分段函数得值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得y 值。
第3章 MATLAB矩阵分析与处理
例3.2 建立随机矩阵: 建立随机矩阵: (1) 在区间 在区间[20,50]内均匀分布的 阶随机矩阵。 内均匀分布的5阶随机矩阵 内均匀分布的 阶随机矩阵。 (2) 均值为 、方差为 的5阶正态分布随机矩阵。 均值为0.6、方差为0.1的 阶正态分布随机矩阵 阶正态分布随机矩阵。 命令如下: 命令如下: x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5) 此外,常用的函数还有reshape(A,m,n),它在矩 此外,常用的函数还有 , 阵总元素保持不变的前提下,将矩阵A重新排成 阵总元素保持不变的前提下,将矩阵 重新排成 m×n的二维矩阵。 的二维矩阵。 × 的二维矩阵 如 A=[1 2 3;4 5 6]; reshape(A,3,2)
3.2.2 矩阵的转置与旋转 1.矩阵的转置 . 转置运算符是单撇号(’)。 转置运算符是单撇号 。 2.矩阵的旋转 . 利用函数rot90(A,k)将矩阵 旋转 的k倍, 将矩阵A旋转 利用函数 将矩阵 旋转90的 倍 时可省略。 当k为1时可省略。 为 时可省略
3.矩阵的左右翻转 . 对矩阵实施左右翻转是将原矩阵的第一列 和最后一列调换, 和最后一列调换,第二列和倒数第二列调 对矩阵A实 换,…,依次类推。MATLAB对矩阵 实 ,依次类推。 对矩阵 施左右翻转的函数是fliplr(A)。 施左右翻转的函数是 。 4.矩阵的上下翻转 . MATLAB对矩阵 实施上下翻转的函数是 对矩阵A实施上下翻转的函数是 对矩阵 flipud(A)。 。
第3章 MATLAB矩阵分析与处理 章 矩阵分析与处理
3.1 3.2 3.3 3.4 3.5 3.6 特殊矩阵 矩阵结构变换 矩阵求逆与线性方程组求解 矩阵求值 矩阵的特征值与特征向量 矩阵的超越函数
matlab矩阵运算实验报告
matlab矩阵运算实验报告Matlab矩阵运算实验报告一、引言矩阵运算是数学和工程领域中的重要概念之一,它在各个领域中都有广泛的应用。
Matlab作为一种强大的数学软件工具,提供了丰富的矩阵运算功能,可以帮助我们进行高效的数值计算和数据处理。
本实验报告将介绍Matlab中的矩阵运算功能,并通过实例展示其在实际问题中的应用。
二、矩阵运算的基本概念矩阵是由若干个数按照行和列排列形成的一个矩形阵列,它是线性代数中的基本工具。
在Matlab中,矩阵可以通过直接输入数值或使用内置函数生成。
矩阵运算包括加法、减法、乘法、转置等操作,这些操作可以对矩阵的每个元素进行运算,也可以对整个矩阵进行运算。
三、矩阵运算的实例分析1. 矩阵的创建与赋值在Matlab中,可以使用以下命令创建一个矩阵,并对其进行赋值操作:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];这样就创建了一个3行3列的矩阵A,并对其进行了赋值。
可以通过输入A来查看矩阵A的内容。
2. 矩阵的加法与减法矩阵的加法和减法是按照对应元素进行运算的。
例如,对于两个3行3列的矩阵A和B,可以使用以下命令进行加法运算:C = A + B;同样地,可以使用以下命令进行减法运算:D = A - B;这样就得到了矩阵C和D。
3. 矩阵的乘法矩阵的乘法是按照行乘以列的方式进行的。
例如,对于一个3行2列的矩阵A和一个2行4列的矩阵B,可以使用以下命令进行乘法运算:C = A * B;这样就得到了一个3行4列的矩阵C。
4. 矩阵的转置矩阵的转置是将矩阵的行和列进行交换的操作。
例如,对于一个3行2列的矩阵A,可以使用以下命令进行转置操作:B = A';这样就得到了一个2行3列的矩阵B。
四、矩阵运算的应用实例矩阵运算在实际问题中有着广泛的应用。
以下是一个简单的实例,通过矩阵运算来解决线性方程组的问题。
假设有一个线性方程组:2x + y = 4x + 3y = 6可以将其表示为矩阵形式:A = [2, 1; 1, 3];B = [4; 6];通过矩阵运算可以求解出未知数x和y的值:X = A \ B;这样就得到了未知数x和y的值。
实验二matlab矩阵分析与处理
《MATLAB及应用A》第二次上机作业一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:MATLAB运行结果:二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB中复制)。
MATLAB源程序:x=linspace(0,6);y1=sin(2*x);y2=sin(x.^2);y3=(sin(x)).^2;各条命令语句的功能如下:y1、y2、y3的值分别为:三、教材第55页习题三,第3题。
MATLAB源程序:MATLAB运行结果:四、选择题(1) i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后,a, b, c的值分别是多少?()(A) a=4, b=4, c=2.0000i(B) a=4, b=2.0000i, c=2.0000i(C) a=2.0000i, b=4, c=2.0000i(D) a=2.0000i, b=2.0000i, c=2.0000i(2) 求解方程x4-4x3+12x-9 = 0 的所有解,其结果为()(A) 1.0000, 3.0000, 1.7321, -1.7321(B) 1.0000, 3.0000, 1.7321i, -1.7321i(C) 1.0000i, 3.0000i, 1.7321, -1.7321(D) -3.000-0i, 3.0000i, 1.7321, -1.7321五、求[100,1000]之间的全部素数(选做)。
MATLAB源程序: MATLAB运行结果:一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:>> a=(0:-1:-9) %产生一个行向量aa =0 -1 -2 -3 -4 -5 -6 -7 -8 -9>> b=pow2(a) %对行向量a中的每一个元素分别求幂函数b =1.0000 0.5000 0.2500 0.1250 0.0625 0.0313 0.0156 0.007 8 0.0039 0.0020>> h=100*b %对行向量b中的每一个元素分别乘以100h =100.0000 50.0000 25.0000 12.5000 6.2500 3.1250 1.5625 0. 7813 0.3906 0.1953>> s1=sum(h) %对行向量h中的元素求和s1 =199.8047>> s=s1*2-100 %求出第10次落下时经过的高度s =299.6094>> h10=h(10)/2 %求出第10次反弹的高度h10 =0.0977二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB 中复制)。
MATLAB程序设计与应用课后实验答案
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
[A,B]
[A([1,3],:);B^2]
运算结果:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
A+6.*B
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
0 0 0 0
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
由ans,所以
2. 产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?
解:M文件如下:
输出结果:
H =
P =
1 1 1 1 1
Columns 57 through 60
Column 61
z4 =
0 0
2. 已知:
求下列表达式的值:
(1) A+6*B和A-B+I(其中I为单位矩阵)
(2) A*B和A.*B
(3) A^3和A.^3
(4) A/B及B\A
(5) [A,B]和[A([1,3],:);B^2]
解:
M文件:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
实验四 循环结构程序设计
一、实验目的
1. 掌握利用for语句实现循环结构的方法。
2. 掌握利用while语句实现循环结构的方法。
MATLAB矩阵分析与处理
THANKS
线性判别分析(LDA)
寻找最佳投影方向,使得同类数据投 影后尽可能接近,不同类数据投影后 尽可能远离。
数据可视化
散点图
展示两个变量之间的关系。
柱状图
展示一个或多个分类变量的频 数分布。
热力图
展示矩阵或数据集中的数值大 小,通过颜色的深浅表示数值 的大小。
可视化树
展示层次结构数据的图形表示 ,如决策树、组织结构图等。
矩阵的属性
维度
描述矩阵的行数和列数。
大小
描述矩阵中元素的数量。
类型
描述矩阵中元素的数据类型。
矩阵的基本操作
01
加法
对应元素相加。
02
减法
对应元素相减。
03
数乘
所有元素乘以一个数。
04
转置
将矩阵的行和列互换。
02 矩阵运算
矩阵加法与减法
矩阵加法
对应元素相加,结果矩阵与原矩阵具 有相同的维度。
矩阵减法
处理效果。
机器学习中的矩阵运算
数据矩阵的建立
在机器学习中,数据通常以矩阵形式表示,每一行表示一个样本,每一列表示一个特征。
矩阵运算在机器学习中的应用
通过矩阵运算,如线性代数运算、矩阵分解、特征值分解等,可以用于构建机器学习模型 ,如线性回归、逻辑回归、决策树等。
模型评估与优化
使用Matlab中的机器学习工具箱,可以对机器学习模型进行评估和优化,如交叉验证、 网格搜索等。
数值分析中的矩阵运算
数值分析中的矩阵运算
数值分析中涉及大量的矩阵运算,如矩阵乘法、矩阵除法、矩阵求 逆等。
矩阵运算在数值分析中的应用
通过这些矩阵运算,可以求解线性方程组、求解特征值问题、进行 矩阵分解等。
matlab 实验报告
matlab 实验报告Matlab实验报告引言:Matlab是一种强大的数值计算和可视化软件,广泛应用于科学、工程和经济等领域。
本实验报告将介绍我在使用Matlab进行实验过程中的一些经验和结果。
实验一:矩阵运算在这个实验中,我使用Matlab进行了矩阵运算。
首先,我创建了一个3x3的矩阵A和一个3x1的矩阵B,并进行了矩阵相乘运算。
通过Matlab的矩阵乘法运算符*,我得到了一个3x1的结果矩阵C。
接着,我对矩阵C进行了转置操作,得到了一个1x3的矩阵D。
最后,我计算了矩阵C和矩阵D的点积,并将结果输出。
实验二:数据可视化在这个实验中,我使用Matlab进行了数据可视化。
我选择了一组实验数据,包括时间和温度两个变量。
首先,我将数据存储在一个矩阵中,并使用Matlab的plot函数将时间和温度之间的关系绘制成曲线图。
接着,我使用Matlab的xlabel、ylabel和title函数添加了横轴、纵轴和标题。
最后,我使用Matlab的legend函数添加了图例,以便更好地理解图表。
实验三:数值积分在这个实验中,我使用Matlab进行了数值积分。
我选择了一个函数f(x)进行积分计算。
首先,我使用Matlab的syms函数定义了符号变量x,并定义了函数f(x)。
接着,我使用Matlab的int函数对函数f(x)进行积分计算,并将结果输出。
为了验证结果的准确性,我还使用了Matlab的diff函数对积分结果进行了求导操作,并与原函数f(x)进行了比较。
实验四:信号处理在这个实验中,我使用Matlab进行了信号处理。
我选择了一个音频文件,并使用Matlab的audioread函数读取了该文件。
接着,我使用Matlab的fft函数对音频信号进行了傅里叶变换,并将结果绘制成频谱图。
为了进一步分析信号的特征,我还使用了Matlab的spectrogram函数绘制了信号的时频图。
通过对信号的频谱和时频图的观察,我可以更好地理解信号的频率和时域特性。
(完整版)Matlab矩阵分析与处理
1程序:E=eye(3); %E为3行3列的单位矩阵R=rand(3,2); %R为3行2列的随机矩阵O=zeros(2,3); %O为2行3列的全0矩阵S=diag([2,3]); %S为对角矩阵A=[E R;O S];B1=A^2B2=[E R+R*S;O S^2] %验证B1=B2,即:A2=[E R+R*S;O S2]结果:B1=B2,原式得证。
2程序:H=hilb(5);P=pascal(5);Hh=det(H) %矩阵H的行列式值Hp=det(P) %矩阵P的行列式值Th=cond(H) %矩阵H的条件数Tp=cond(P) %矩阵P的条件数结果:所以,矩阵H的性能更好。
因为H的条件数Th更接近1。
3程序:A=[1 25 45 58 4;45 47 78 4 5;2 58 47 25 9 ;58 15 36 4 96;58 25 12 1 35]; Ha=det(A) %矩阵A的行列式值Ja=trace(A) %矩阵A的迹Za=rank(A) %矩阵A的秩Fa=norm(A) %矩阵A的范数结果:4程序:A=[-29 6 18;20 5 12;-8 8 5];[V D]=eig(A) %D为全部特征值构成的对角阵;V的列向量分别为相应的特征向量结果:5程序:A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6];b=[0.95 0.67 0.52]';X=A\b %方程的解c=[0.95 0.67 0.53]'; %将b3=0.52改为0.53Y=A\c %b3改变后的解t=cond(A) %系数矩阵的条件数结果:6程序:A=[4 2;3 9];B1=sqrtm(A) %矩阵A的平方根B2=sqrt(A)Sqrtm(A)求出的是矩阵A的平方根,即:A1^A1=A,求出的是A1Sqrt(A)求出的是A中每个元素的平方根,即:A2.^A2=A,求出的是A2。
第章MATLAB矩阵分析与处理
求方阵A的逆矩阵 可调用 函数inv(A)。
矩阵的 伪逆 假设矩阵A不是一个方阵,或者A是一个非 满秩的方阵时,矩阵A没有逆矩阵,但可以 找到一个与A的转置矩阵A’ 同型的矩阵 B, 使得:
称为单位矩阵。
(4) 托普利兹矩阵
M矩A阵T的LAB伪(中1逆,) 有提一取个专矩门求阵希的尔伯对特矩角阵线的逆元的函素数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。 假设矩阵A不是一个设方阵A,为或m者A×是一n个矩非阵满秩,的方d阵ia时g,(A矩阵)函A没数有逆用矩于阵,提但可取以找矩到阵一个A与主A的对转置角矩线阵A’元同素型的,矩阵产B,生使得:
常用的产生通用特殊矩阵的函数有:
zeros:产生全0矩阵(零矩阵)。 ones:产生全1矩阵(幺矩阵)。 eye:产生单位矩阵。 rand:产生0~1间 均匀分布 的随机矩阵。 randn:产生均值为0,方差为1的规范正态分布随 机矩阵。
例3.1 分别建立3×3、3×2和与矩阵A同样大小的零矩阵。
第3章 MATLAB矩阵分析与处置
MATLAB 强大的 计算才干 以 矩阵运算 为根底。
3.1 特殊矩阵 3.2 矩阵构造变换 3.3 矩阵求逆与线性方程组求解 3.4 矩阵求值 3.5 矩阵的特征值与特征向量 3.6 矩阵的超越函数
3.1 特殊矩阵 通用的特殊矩阵
用于专门学科的特殊矩阵
3.1.1 通用的特殊矩阵
1.矩阵的秩 矩阵线性无关的行数或列数称为矩阵的秩。 在MATLAB中,求矩阵秩的函数是rank(A)。
2.矩阵的迹 矩阵的迹 等于矩阵的对角线元素之和,也等 于矩阵的特征值之和。〔证明:<高等代数> 或<矩阵论>〕 在MATLAB中,求矩阵的迹的函数是trace(A)。
matlab矩阵实验报告
matlab矩阵实验报告Matlab矩阵实验报告引言:Matlab是一种强大的数学计算工具,广泛应用于科学研究、工程设计和数据分析等领域。
其中,矩阵操作是Matlab的一项重要功能,它提供了丰富的矩阵运算和处理函数。
本实验将通过几个具体的案例,展示Matlab中矩阵操作的应用和效果。
一、矩阵的创建与赋值在Matlab中,可以通过直接赋值、随机生成或者通过其他矩阵运算得到新的矩阵。
例如,我们可以使用以下代码创建一个3行4列的矩阵A,并为其赋予随机的整数值:A = randi([1, 10], 3, 4);这样,矩阵A中的元素就是1到10之间的随机整数。
二、矩阵运算Matlab提供了丰富的矩阵运算函数,包括加法、减法、乘法、除法、转置等。
我们可以通过以下代码演示这些运算的效果:B = A + 2; % 矩阵加法C = A - 2; % 矩阵减法D = A * 2; % 矩阵乘法E = A / 2; % 矩阵除法F = A.'; % 矩阵转置通过这些运算,我们可以快速对矩阵进行数值的调整和转换。
三、矩阵的索引与切片在Matlab中,我们可以使用索引和切片操作来获取矩阵中特定的元素或子矩阵。
例如,我们可以通过以下代码获取矩阵A中的第二行第三列的元素:x = A(2, 3);同样,我们也可以通过切片操作获取矩阵A中的某一行或某几行,例如:y = A(2, :); % 获取第二行的所有元素通过这样的操作,我们可以方便地提取出矩阵中我们感兴趣的部分。
四、矩阵的运算函数除了基本的矩阵运算外,Matlab还提供了许多常用的矩阵运算函数,如求矩阵的逆、行列式、特征值等。
例如,我们可以使用以下代码计算矩阵A的逆矩阵和行列式:invA = inv(A); % 矩阵的逆detA = det(A); % 矩阵的行列式这些函数可以帮助我们更方便地进行矩阵的运算和分析。
五、矩阵的应用案例矩阵在科学研究和工程设计中有着广泛的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的1、掌握生成特殊矩阵的方法。
2、掌握矩阵分析的方法。
3、用矩阵求逆法解线性方程组。
二、实验内容1、设有分块矩阵⎥⎦⎤⎢⎣⎡=⨯⨯⨯⨯22322333S O R E A ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证⎥⎦⎤⎢⎣⎡+=22S O RS R E A 。
> R=rand(3,2) R =0.2844 0.9883 0.4692 0.5828 0.0648 0.4235 >> B=R B =0.2844 0.9883 0.4692 0.5828 0.0648 0.4235>> A=[eye(3),B;zeros(2,3),diag([1,2])]A =1.0000 0 0 0.2844 0.98830 1.0000 0 0.4692 0.58280 0 1.0000 0.0648 0.42350 0 0 1.0000 00 0 0 0 2.0000 >> B+B*diag([1,2])ans =0.5688 2.96500.9384 1.74840.1296 1.2705>> A*Aans =1.0000 0 0 0.56882.9650 0 1.0000 0 0.9384 1.7484 0 0 1.0000 0.1296 1.2705 0 0 0 1.0000 0 0 0 0 0 4.0000由上述ans=A^2验证了⎥⎦⎤⎢⎣⎡+=22S O RS R E A 。
2、产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。
为什么? >> format rat >> H=hilb(5) H =1 1/2 1/3 1/4 1/5 1/2 1/3 1/4 1/5 1/6 1/3 1/4 1/5 1/6 1/7 1/4 1/5 1/6 1/7 1/8 1/5 1/6 1/7 1/8 1/9>> Hh=det(H)Hh =1/266716800000>> P=pascal(5)P =1 1 1 1 11 2 3 4 51 3 6 10 151 4 10 20 351 5 15 35 70 >> Hp=det(P)Hp =1>> Th=cond(H)Th =4.7661e+005>> Tp=cond(P)Tp =8.5175e+0035阶帕斯卡矩阵P的性能好。
矩阵的性能是由条件数决定的,条件数越接近于1其性能就越好。
由上机操作求得Th=4.7661e+005,Tp=8.5175e+003。
Tp的值更接近于1则其性能要好。
所以5阶帕斯卡矩阵P的性能好。
3、建立一个5×5矩阵,求它的行列式值、迹、秩和范数。
>> H=hilb(5)H =1 1/2 1/3 1/4 1/51/2 1/3 1/4 1/5 1/61/3 1/4 1/5 1/6 1/71/4 1/5 1/6 1/7 1/81/5 1/6 1/7 1/8 1/9>> Hh=det(H)Hh =1/266716800000>> format short>> trace(H)ans =1.7873>> r=rank(H) r = 5 >>>> Th1=norm(H,1) Th1 =2.2833>> Th2=norm(H) Th2 =1.5671>> Thinf=norm(H,inf) Thinf =2.28334、已知⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=5881252018629A求A 的特征值及特征向量,并分析其数学意义。
>> A=[-29,6,18;20,5,12;-8,8,5] A =-29 6 1820 5 12 -8 8 5>> [V ,D]=eig(A) V =0.7130 0.2803 0.2733 -0.6084 -0.7867 0.8725 0.3487 0.5501 0.4050 D =-25.3169 0 0 0 -10.5182 0 0 0 16.8351>> [V ,D]=eig(A,'nobalance') V =1.0000 0.3564 0.3132 -0.8533 -1.0000 1.0000 0.4890 0.6992 0.4642 D =-25.3169 0 0 0 -10.5182 0 0 0 16.8351在数学上,特别是线性代数中,对于一个给定的线性变换,它的特征向量(本征向量或称正规正交向量)是这样一个非零的向量v :当v 经过这个线性变换的作用之后,得到的新向量(长度也许改变)仍然与原来的v 保持在同一条线上。
一个特征向量的长度在该线性变换下缩放的比例称为其特征值(本征值)。
如果特征值为正,则表示v 在经过线性变换的作用后方向也不变;如果特征值为负,说明方向会反转;如果特征值为0,则是表示缩回零点。
但无论怎样,仍在同一条直线上。
5、下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解。
(2)将方程右边向量元素b3改为0.53,再求解,并比较b3的变化和解的相对变化。
(3)计算系数矩阵A的条件数并分析结论。
>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]A =0.5000 0.3333 0.25000.3333 0.2500 0.20000.2500 0.2000 0.1667>> b=[0.95,0.67,0.52]'b =0.95000.67000.5200>> x=inv(A)*bx =1.20000.60000.6000>> b=[0.95,0.67,0.53]'b =0.95000.67000.5300>> x=inv(A)*bx =3.0000-6.60006.6000>> Ta=cond(A)Ta =1.3533e+003矩阵的条件数决定矩阵的性能,条件数越接近于1其性能越好,通过上机操作,求出系数矩阵的条件数为1.3533e+003,和1相差很大,则其性能不好。
6、建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。
>> A=hilb(4)A =1 1/2 1/3 1/41/2 1/3 1/4 1/51/3 1/4 1/5 1/61/4 1/5 1/6 1/7>> B=sqrtm(A)B =2378/2609 119/351 1763/9148 342/2611119/351 241/683 777/3140 1745/96571763/9148 777/3140 210/871 736/3529342/2611 1745/9657 736/3529 1493/6707>> B*Bans =1 1/2 1/3 1/41/2 1/3 1/4 1/51/3 1/4 1/5 1/61/4 1/5 1/6 1/7>> C=sqrt(A)C =1 985/1393 780/1351 1/2985/1393 780/1351 1/2 1292/2889780/1351 1/2 1292/2889 881/21581/2 1292/2889 881/2158 765/2024>> C*Cans =25/12 1543/948 1481/1063 1741/14031543/948 77/60 995/902 2284/23191481/1063 995/902 19/20 1869/22011741/1403 2284/2319 1869/2201 319/420>> C.*Cans =1 1/2 1/3 1/41/2 1/3 1/4 1/51/3 1/4 1/5 1/61/4 1/5 1/6 1/7通过上机操作,sqrtm是对一个矩阵求平方根,即其值乘其值将还原成A矩阵,sqrt是对矩阵里的每一个元素求平方根,要对其还原,则要用点乘。
三、实验小结通过本次实验对矩阵的一些求值由了很好的了解,对一些特殊矩阵也掌握了其生成方法。
特别是对矩阵函数的一些区别有了一定的了解。
通过此次上机操作,掌握了线性方程组的求解方法。
相比起线性代数的笔算要方便多了,体会到了计算机软件的强大功能。