资源描述:
《maple在线性代数中的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数学实验Maple在线性代数中的应用一、解线性方程基本命令:解一个方程solve(方程)或solve(方程,未知量)或solve({方程},{未知量})解线性方组:solve({方程1,方程2,…})或solve({方程1,方程2,…},{未知量})注:若方程组无解,则不显示结果。如:二、矩阵最新的线性代数程序包需调入线性代数程序包,有两种分别是:linalgLinearAlgebr调入时用命令:with(linalg)with(LinearAlgebr)主要讲linalg程序包,LinearAlg
2、ebr程序包的用法与linalg一样,只是增加了一些新功能。1、向量向量的输入命令:vector([a1,a2,…,an])或array(1..n,[a1,a2,…,an])vector(维数,分量值):定义分量值相等的向量.如:也可以用函数来定义分量值,先定义一个函数f,再用命令vector(维数,f)如:注:①在linalg线性包中没有提供列向量的输入命令,若要输入列向量只有通过矩阵的方法;②向量的下标是从1开始的,若从0开始,利用type函数查看将不是向量。要访问向量的某一元素可直接用格式:向
3、量名[分量序号]如:向量v1、v2的运算:加、减、数乘分别用命令evalm(v1+v2)evalm(v1-v2)evalm(k*v1)如:2、矩阵矩阵的输入命令:matrix(行数,列数,[元素1,元素2,…])或matrix(行数,列数,[[第1行元素],[第2行元素],…])或matrix([[第1行元素],[第2行元素],…])array([[第1行元素],[第2行元素],…])或array(1..m,1..n,[[第1行元素],[第2行元素],…])如:特殊矩阵的输入:用命令array(1.
4、.m,1..n,特殊矩阵名称)特殊矩阵名称:sparse(零矩阵)identity(单位矩阵)对角矩阵用命令:diag(主对角线上元素)数量矩阵用命令:band([主对角线上元素],n)如:矩阵A、B的运算:加、减、数乘分别用命令evalm(A+B)evalm(A-B)evalm(k*A)如:矩阵A、B乘法运算用命令evalm(A&*B)如:矩阵A的k次幂的运算用命令:evalm(A^k)如:矩阵A的转置用命令:transpose(A)如:求矩阵A的秩用命令:rank(A)如:求矩阵A的逆矩阵用命令
5、:inverse(A)或evalm(A^(-1))如:解用矩阵表示的线性方程组用Ax=b命令:linsolve(A,b)如:注:①当方程组无解时,不返回任何结果;②当方程组有无穷多解时,linsolve可用参数方式表达方程组的解.此时用命令:linsolve(A,b,’r’,v)其中:r用来储存矩阵的秩,v用来表示独立的变量如:如果方程组不是写成矩阵形式,可以用genmatrix命令来生成矩阵形式.生成系数矩阵用:genmatrix({方程1,方程2,…},[x,y,…])生成增广矩阵用:genma
6、trix({方程1,方程2,…},[x,y,…],flag)使用submatrix(,1..m,1..n)可以从增广矩阵A中提出系数矩阵。使用col(A,A中最后1列的列数)可以从增广矩阵A中提出常数项矩阵。gausselim(A)可将增广矩阵A化为行阶梯形矩阵,从而迅速地求出Ax=b的解。如:求方阵A的行列式用命令:det(A)求方阵A的伴随矩阵用命令:adj(A)如:求方阵A的特征多项式用命令:charpoly(A)求方阵A的特征值用命令:eigenvalues(A)求方阵A的特征向量用命令:e
7、igenvects(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:=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,
8、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