《maple在线性代数中的应用.ppt》由会员分享,可在线阅读,更多相关《maple在线性代数中的应用.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学实验数学实验 Maple Maple 在在线性代数中的应用线性代数中的应用一一、解线性方程、解线性方程基本命令基本命令:解一个方程:解一个方程solve(方程)或方程)或 solve(方程,未知量)方程,未知量)或或 solve(方程方程,未知量未知量)解解线性方组:线性方组:solve(方程方程1,方程,方程2,)或或 solve(方程方程1,方程,方程2,未知量未知量)注注:若方程组无解,则不显示结果。:若方程组无解,则不显示结果。如:如:二二、矩阵、矩阵最新的线性代数程序包最新的线性代数程序包需调入线性代数程序包,有两种分别是:需调入线性代数程序包,有两种分别是:linalg Lin
2、earAlgebr调入时用命令:调入时用命令:with(linalg)with(LinearAlgebr)主要讲主要讲linalg程序包,程序包,LinearAlgebr程序包的用程序包的用法与法与linalg一样,只是增加了一些新功能。一样,只是增加了一些新功能。1、向量、向量向量的输入命令:向量的输入命令:vector(a1,a2,an)或或array(1.n,a1,a2,an)vector(维数维数,分量值分量值):定义分量值相等的向量:定义分量值相等的向量.如:如:也也可以用函数来定义分量值,先定义一个函数可以用函数来定义分量值,先定义一个函数f,再再用命令用命令 vector(维数维
3、数,f)如:如:注注:在在linalg线性包中没有提供列向量的输入命令,线性包中没有提供列向量的输入命令,若要输入列向量只有通过矩阵的方法;若要输入列向量只有通过矩阵的方法;向量的下标是从向量的下标是从1开始的,若从开始的,若从0开始,利用开始,利用type 函数查看将不是向量。函数查看将不是向量。要要访问向量的某一元素可直接用格式:访问向量的某一元素可直接用格式:向量名向量名分量序号分量序号如:如:向量向量v1、v2的运算:加、减、数乘分别用命令的运算:加、减、数乘分别用命令evalm(v1+v2)evalm(v1-v2)evalm(k*v1)如:如:2、矩阵、矩阵矩阵的输入命令:矩阵的输入
4、命令:matrix(行数行数,列数列数,元素元素1,元素元素2,)或或 matrix(行数行数,列数列数,第第1行元素行元素,第第2行元素行元素,)或或 matrix(第第1行元素行元素,第第2行元素行元素,)array(第第1行元素行元素,第第2行元素行元素,)或或 array(1.m,1.n,第第1行元素行元素,第第2行元素行元素,)如:如:特殊矩阵的输入:特殊矩阵的输入:用用命令命令 array(1.m,1.n,特殊矩阵名称特殊矩阵名称)特殊矩阵名称:特殊矩阵名称:sparse(零矩阵零矩阵)identity(单位矩阵单位矩阵)对角矩阵用命令:对角矩阵用命令:diag(主对角线上元素主对
5、角线上元素)数量矩阵用命令:数量矩阵用命令:band(主对角线上元素主对角线上元素,n)如:如:矩阵矩阵A、B的运算:加、减、数乘分别用命令的运算:加、减、数乘分别用命令evalm(A+B)evalm(A-B)evalm(k*A)如:如:矩阵矩阵A、B乘法运算用命令乘法运算用命令evalm(A&*B)如:如:矩阵矩阵A的的k次幂的运算用命令:次幂的运算用命令:evalm(Ak)如:如:矩阵矩阵A的转置用命令:的转置用命令:transpose(A)如:如:求求矩阵矩阵A的秩用命令:的秩用命令:rank(A)如:如:求求矩阵矩阵A的的逆矩阵用命令:逆矩阵用命令:inverse(A)或或evalm(
6、A(-1)如:如:解用解用矩阵表示的线性方程组用矩阵表示的线性方程组用Ax=b命令:命令:linsolve(A,b)如:如:注注:当方程组无解时,不返回任何结果;当方程组无解时,不返回任何结果;当方程组有无穷多解时,当方程组有无穷多解时,linsolve可用参数方式可用参数方式 表达方程组的解表达方程组的解.此时用命令:此时用命令:linsolve(A,b,r,v)其中:其中:r用来储存矩阵的秩,用来储存矩阵的秩,v用来表示独立的变量用来表示独立的变量如:如:如果方程组不是写成矩阵形式,可以用如果方程组不是写成矩阵形式,可以用 genmatrix命令来生成矩阵形式命令来生成矩阵形式.生成系数矩
7、阵用:生成系数矩阵用:genmatrix(方程方程1,方程方程2,x,y,)生成增广矩阵用:生成增广矩阵用:genmatrix(方程方程1,方程方程2,x,y,flag)使用使用submatrix(,1.m,1.n)可以从可以从 增广矩阵增广矩阵A中提出系数矩阵。中提出系数矩阵。使用使用col(A,A中最后中最后1列的列数列的列数)可以从可以从 增广矩阵增广矩阵A中提出常数项矩阵。中提出常数项矩阵。gausselim(A)可将增广矩阵可将增广矩阵A化为行阶梯形矩阵,化为行阶梯形矩阵,从而迅速地求出从而迅速地求出Ax=b的解。的解。如:如:求求方阵方阵A的行列式用命令:的行列式用命令:det(A
8、)求求方阵方阵A的的伴随矩阵用命令:伴随矩阵用命令:adj(A)如:如:求求方阵方阵A的特征多项式用命令:的特征多项式用命令:charpoly(A)求求方阵方阵A的的特征值用命令:特征值用命令:eigenvalues(A)求求方阵方阵A的的特征向量用命令:特征向量用命令:eigenvects(A)如:如:1.向量的输入及运算:向量的输入及运算:A:=vector(1,2,3,4);B:=vector(2,3,4,5);evalm(A+B);evalm(A-B);evalm(5*A);2.矩阵的输入及运算:矩阵的输入及运算:A:=array(1,2,3,4,2,3,4,5,3,4,5,6);B:
9、=array(4,3,2,1,5,4,3,2,6,5,4,3);evalm(A+B);evalm(A-B);evalm(5*A);C:=array(1,2,3,2,3,4,3,4,5);evalm(C&*A);3.矩阵的其它运算(需调用线性代数程序包)矩阵的其它运算(需调用线性代数程序包)with(linalg);A:=array(1,2,3,2,0,1,3,1,2);transpose(A);(A的转置)的转置)rank(A);(A的秩)的秩)det(A);(A的行列式的值)的行列式的值)adj(A);(A的伴随矩阵)的伴随矩阵)eigenvalues(C);(C的特征值)的特征值)eigenvects(C);(C的特征向量)的特征向量)C:=array(1,2,3,2,3,4,3,4,5);4.解线性方程组解线性方程组 A:=array(1,-1,-1,1,1,-1,-2,3,1,-1,1,-3);b:=vector(0,-1,2);linsolve(A,b,r,c);