线性代数的数学实验 1、 MATLAB的基本操作及求行 列式 g2、利用MATLAB进行矩阵运算 奇3、利用MATLAB:求方程组的解 4、利用MATLAB:求矩阵的特征 值与特征向量 安5、小结
线性代数的数学实验 1、MATLAB的基本操作及求行 列式 2、利用MATLAB进行矩阵运算 3、利用MATLAB求方程组的解 4、利用MATLAB求矩阵的特征 值与特征向量 5 、小结
1,I,MATLAB特点: 女1,数值计算和符号汗算动能 MATLAB的数值计算功能包括:矩阵运算、多项 式和有理分式运算、数据统计分析、数值积分、 优化处理等。符号计算将得到问题的解析解。 ÷2 MATLAB语言 MATLAB除了命令行的交互式操作以外,还可以 程序方式工作。使用MATLAB可以很容易地实现 C或FORTRANi语言的几乎全部功能,包括 Vindows图形用户界面的设计
1.1. MATLAB特点: ❖ 1. 数值计算和符号计算功能 MATLAB的数值计算功能包括:矩阵运算、多项 式和有理分式运算、数据统计分析、数值积分、 优化处理等。符号计算将得到问题的解析解。 ❖ 2.MATLAB语言 MATLAB除了命令行的交互式操作以外,还可以 程序方式工作。使用MATLAB可以很容易地实现 C或FORTRAN语言的几乎全部功能,包括 Windows图形用户界面的设计
MATLAB特点: 女3图动能 MATLAB提供了两个层次的图形命令:一种是对图形句柄进行的低 级图形命令,另一种是建立在低级图形命令之上的高级图形命令。 利用MATLAB的高级图形命令可以轻而易举地绘制二维、三维乃至 四维图形,并可进行图形和坐标的标识、视角和光照设计、色彩精 细控制等等。 。4应用正具箱 基本部分和各种可选的工具箱。 基本部分中有数百个内部函数。 其工具箱分为两大类:功能性工具箱和学科性工具箱。功能性 工具箱主要用来扩充其符号计算功能、可视建模仿真功能及文字处 理功能等。学科性工具箱专业性比较强,如控制系统工具箱、信号 处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱等,用 户可以直接利用这些工具箱进行相关领域的科学研究
MATLAB特点: ❖ 3.图形功能 MATLAB提供了两个层次的图形命令:一种是对图形句柄进行的低 级图形命令,另一种是建立在低级图形命令之上的高级图形命令。 利用MATLAB的高级图形命令可以轻而易举地绘制二维、三维乃至 四维图形,并可进行图形和坐标的标识、视角和光照设计、色彩精 细控制等等。 ❖ 4.应用工具箱 基本部分和各种可选的工具箱。 基本部分中有数百个内部函数。 其工具箱分为两大类:功能性工具箱和学科性工具箱。功能性 工具箱主要用来扩充其符号计算功能、可视建模仿真功能及文字处 理功能等。学科性工具箱专业性比较强,如控制系统工具箱、信号 处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱等,用 户可以直接利用这些工具箱进行相关领域的科学研究
常用基本命令: 矩阵运算 生成向量[1,2,3] 生成行向量a:delta:b 生成行向量:linspace 生成矩阵[1,2,3:4,5,6;7,8,9] 取第i行第j列a(,j)或a(心-1)*r+i) 取第i行所有列a(,) 取第i行到第j行所有列a(何,) 求矩阵行数列数[r,c=size(M) 生成零矩阵zeros(c,c) 生成全1矩阵ones(c,c) 生成单位矩阵eye(n) 生成以某向量为主对角线的矩阵diag(vec) 取矩阵主对角线元素生成列向量diag(M)
常用基本命令: 矩阵运算 ❖ 生成向量[1,2,3] ❖ 生成行向量a:delta:b ❖ 生成行向量linspace ❖ 生成矩阵[1,2,3;4,5,6;7,8,9] ❖ 取第i行第j列a(i,j)或a((j-1)*r+i) ❖ 取第i行所有列a(i,:) ❖ 取第i行到第j行所有列a(i:j,:) ❖ 求矩阵行数列数[r,c]=size(M) ❖ 生成零矩阵zeros(r,c) ❖ 生成全1矩阵ones(r,c) ❖ 生成单位矩阵eye(n) ❖ 生成以某向量为主对角线的矩阵diag(vec) ❖ 取矩阵主对角线元素生成列向量diag(M)
常用基本命令: 矩阵运算 求矩阵的秩rank(M 矩阵转置M.'(转置)M'(共轭转置) 将矩阵按列优先顺序重新排列reshape(M,r,c) 求行列式det(M 求特征多项式poly(M) 求矩阵的幂Mn 求矩阵每个元素求幂M.n 求矩阵特征值eigM) 求矩阵特征向量(Eigenvectors[M) 求矩阵的特征值与特征向量[vec,val]=eig(M 求矩阵的逆inv(M 求线性方程组Ax=b的解(LinearSolve[A,b]) 求线性方程组Ax=O的解空间的基(NullSpace[M) 将矩阵化为行最简(RowReduce[M)
常用基本命令: 矩阵运算 ❖ 求矩阵的秩rank(M) ❖ 矩阵转置M.’(转置) M’(共轭转置) ❖ 将矩阵按列优先顺序重新排列reshape(M,r,c) ❖ 求行列式det(M) ❖ 求特征多项式poly(M) ❖ 求矩阵的幂M^n ❖ 求矩阵每个元素求幂M.^n ❖ 求矩阵特征值eig(M) ❖ 求矩阵特征向量(Eigenvectors[M]) ❖ 求矩阵的特征值与特征向量[vec,val]=eig(M) ❖ 求矩阵的逆inv(M) ❖ 求线性方程组Ax=b的解(LinearSolve[A,b]) ❖ 求线性方程组Ax=0的解空间的基(NullSpace[M]) ❖ 将矩阵化为行最简 (RowReduce[M])
1.2、利用MATLAB求行列式 在MATLAB中我们只需借助函数det就可 以求出行列式的值,其格式为 det (A) 其中A为n阶方阵
1.2、利用MATLAB求行列式 在MATLAB中我们只需借助函数det就可 以求出行列式的值,其格式为 det (A) 其中A为n阶方阵.
2 0 -1 0 13 1 2 Examplel 求矩阵A= 01 3 1 的行列式的值: 解: -1201 >>clear >A=20-10;131-2;013-1;-1201 >det (A) 运行结果: ans=32 程序说明: 1.Clearl的作用是清除内存中的变量 2.矩阵的输入可以有两种格式,除程序中的输 入方式外,还可以如下输入: A=2,0,-1,0;1,3,1,-2;0,1,3,-1;-1,2,0,11
解: >> clear >> A=[2 0 -1 0;1 3 1 -2; 0 1 3 -1;-1 2 0 1]; >> det (A) 程序说明: 1.Clear的作用是清除内存中的变量. 2.矩阵的输入可以有两种格式,除程序中的输 入方式外,还可以如下输入: A=[2,0,-1,0;1,3,1,-2;0,1,3,-1;-1,2,0,1] 运行结果: ans= 32 Example1 求矩阵 的行列式的值. 1 2 0 1 0 1 3 1 1 3 1 2 2 0 1 0 A − − − − =
0 b 0 Example22计算行列式 0 -1 0 0 -1 d 解: >clear 声明变量 >syms a b c d >A=a100;-1b10:0-1c100-1d; >>DA=det(A) 生成符号矩阵 运行结课: DA=a*b*c*d+a*b+a*d+c*d+1 程序说明:函数det也可以用于计算含有变量的行列 式
Example2 计算行列式 1 0 0 1 1 0 0 1 1 0 0 1 a b c d − − − 解: >> clear >> syms a b c d >> A=[a 1 0 0;-1 b 1 0;0 –1 c 1;0 0 –1 d]; >> DA=det (A) 运行结果: DA= a b c d a b a d c d * * * * * * 1 + + + + 程序说明:函数det也可以用于计算含有变量的行列 式. 生成符号矩阵 声明变量
二、利用MATLAB进行矩阵运 算 1、矩阵的加、 (1)维数相同,」 即行数和列数都分别相等, (2) 矩阵相应位置的元素相加、减. 「1231 「32 4 Example33求矩阵A=21 2与矩阵B= 2 53 的 和与差. 331 2 3 1 解 程序设计: >>clear >>C=A+B; >>A=123;212;331] >>D=A-B; >>B=324;253;231]; >>C,D
二、利用MATLAB进行矩阵运 算 1、矩阵的加、减 (1) 维数相同,即行数和列数都分别相等. Example3 求矩阵 与矩阵 的 和与差. 1 2 3 2 1 2 3 3 1 A = 3 2 4 2 5 3 2 3 1 B = 程序设计: >> clear >> A=[1 2 3;2 1 2;3 3 1]; >> B=[3 2 4;2 5 3;2 3 1]; 解 (2) 矩阵相应位置的元素相加、减. >> C=A+B; >> D=A-B; >> C,D
运行结果: C= D= 7 -2 0 -1 6 5 0 -4 -1 5 6 2 1 0 0 例题分析: 1.进行加、减运算的矩阵必须是同型的. 2.在进行矩阵相加的运算时,A+B和B+A的值相 同,满足加法交换律
运行结果: C= 4 4 7 4 6 5 5 6 2 例题分析: 2.在进行矩阵相加的运算时,A+B和B+A的值相 同,满足加法交换律. 1.进行加、减运算的矩阵必须是同型的. D= -2 0 -1 0 -4 -1 1 0 0