Mathematica矩阵的各种运算

Mathematica矩阵的各种运算
Mathematica矩阵的各种运算

Mathematica可进行矩阵的各种运算,如矩阵求逆、矩阵的转置、矩阵与向量的乘法等.下面列出主要的运算.记k为常数,u,v为向量,A,B为矩阵

k*A------------------------常数乘矩阵

k+u-----------------------向量u的每一个元素加上k

u+v----------------------向量的对应元素相加

u.v-----------------------向量的内积

u*v-----------------------向量的对应元素相乘

A.u---------------------矩阵乘向量

u.A-----------------------向量乘矩阵

A.B--------------------------矩阵乘矩阵

Transpose[A]-----------------求矩阵A的转置阵

Inverse[A]--------------------求矩阵A的逆矩阵

Det[A]-------------------------求矩阵A的行列式

Eigenvalues[A]-----------------求数字阵A的特征值

Eigentvectors[A]---------------求数字阵A的特征向量

LinearSolve[A,v]---------------求解线性方程组Ax=v

Chop[%n]-------------------舍去第n个输出中无实际意义小量

矩阵可以左乘以向量或右乘以向量, Mathematica也不区分“行”,或“列”向量,自动进行可能的运算.

例:

In[1]:=A={{a,b},{c,d}}; v={x,y};

In[2]:=A.v (A左乘以v)

Out[2]={ax+by,cx+dy}

In[3]:=v.A (A右乘以v)

Out[3]={ax+cy,bx+dy}

In[4]:=Inverse[A]

Out[4]=

如果矩阵的元素是近似数,则求出的逆矩阵也是近似的。

In[5]:=B={{1.2,5.7},{4.2,5.6}}; Inverse[B]

Out[5]=

In[6]:=%.B

Out[6]=

结果与单位矩阵有微小误差,用函数Chop消去无实际意义小量

In[7]:=Chop[%]

Out[7]={{1.,0},{0,1.}}

前面已介绍了用Solve解线性方程组,但对于矩阵形式Ax=v的线性方程组,用

LinearSolve[A,v]更方便.

In[8]:=M={{2,1},{1,4}}; LinearSolve[M,{a,b}]

有些符号打不出来,你也可以参见(

http://210.41.4.20/course/22/23/sm00/Mathmatics/smf142.htm)

Out[8]=

(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)

50Mathematica线性代数运算命令与例题

50Mathematica线性代数运算命令与例题

第五章 线性代数运算命令与例题 线性代数中常用的工具是矩阵(向量)和行列式。用这些工具可以表示工程技术,经济工作中一些需要用若干个数量从整体上反映其数量关系的问题。用这些工具可以简明凝练而准确地把所要研究的问题描述出来,以提高研究的效率。在线性代数课程中我们看到了用这些工具研究齐次和非齐次线性方程组解的理论和解的结构,矩阵的对角化,二次型化标准形等问题的有力,便捷. 5.1向量与矩阵的定义 数学上矩阵是这样定义的: 由n m ?个数排成m 行n 列的数表 mn m m n n a a a a a a a a a Λ M M M Λ Λ21 2222111211 称为m 行n 列矩阵,特别,当m=1时就是线性代数中的向量。

记作: ????? ?? ?????=mn m m n n a a a a a a a a a A ΛM M M ΛΛ2122221 11211 两个n m ?矩阵称为同型矩阵。 线性代数中的运算对象是向量和矩阵,因此首先介绍向量和矩阵的输入。 5.1.1输入一个矩阵 命令形式1:Table[f[i,j],{i ,m},{j ,n}] 功能: 输入n m ?矩阵,其中f 是关于i 和j 的函数,给出[i , j]项的值. 命令形式2:直接用表的形式来输入 功能:用于矩阵元素表达式规律不易找到的矩阵的输入。 注意: 1.Mathematica 是采用一个二重表的形式来表示矩阵的,即用 {{…},{…},…,{…}} 其中表中的每个表元素都是等长的一维表,第一

个表元素是矩阵的第一行,第二个表元素是矩阵的第二行,一般,第n 个表元素是矩阵的第n 行。要看通常的矩阵形式可以用命令: MatrixForm[%] 2. 对应上述命令形式,输入一个向量的命令为 Table[f[j],{j,n}]或直接输入一个一维表{a1,a2,…,an},这里a1,a2,…,an 是数或字母。 例题 例 1.输入矩阵A=???? ??????---41381639121458561203 12、向量 b={1,4,7,-3}。 解:Mathematica 命令 In[1]:= a={{12,-3,0,2,1},{56,-8,-45,21,91},{3,6,81,13,4}} Out[1]:= {{12,-3,0,2,1},{56,-8,-45,21,91},{3,6,81,13,4}} In[2]:=b={1, 4, 7, -3} Out[2]:= {1, 4, 7, -3}

Mathematica线性代数运算命令与例题

第五章 线性代数运算命令与例题 线性代数中常用的工具是矩阵(向量)和行列式。用这些工具可以表示工程技术,经济工 作中一些需要用若干个数量从整体上反映其数量关系的问题。用这些工具可以简明凝练而准 确地把所要研究的问题描述出来,以提高研究的效率。在线性代数课程中我们看到了用这些 工具研究齐次和非齐次线性方程组解的理论和解的结构,矩阵的对角化,二次型化标准形等 问题的有力,便捷. 5.1向量与矩阵的定义 数学上矩阵是这样定义的: 由n m ?个数排成m 行n 列的数表 mn m m n n a a a a a a a a a 21222 21 11211 称为m 行n 列矩阵,特别,当m=1时就是线性代数中的向量。 记作: ????????????=mn m m n n a a a a a a a a a A 21 2222111211 两个n m ?矩阵称为同型矩阵。 线性代数中的运算对象是向量和矩阵,因此首先介绍向量和矩阵的输入。 5.1.1输入一个矩阵 命令形式1:Table[f[i,j],{i ,m},{j ,n}] 功能: 输入n m ?矩阵,其中f 是关于i 和j 的函数,给出[i , j]项的值. 命令形式2:直接用表的形式来输入 功能:用于矩阵元素表达式规律不易找到的矩阵的输入。 注意: 1.Mathematica 是采用一个二重表的形式来表示矩阵的,即用 {{…},{…},…,{…}} 其中表中的每个表元素都是等长的一维表,第一个表元素是矩阵的第一行,第二个表元素是 矩阵的第二行,一般,第n 个表元素是矩阵的第n 行。要看通常的矩阵形式可以用命令: MatrixForm[%] 2. 对应上述命令形式,输入一个向量的命令为 Table[f[j],{j,n}]或直接输入一个一维表{a1,a2,…,an},这里a1,a2,…,an 是数或字母。

利用Mathematica软件实现线性方程组求解

利用Mathematica 软件实现线性方程组求解 摘要:Mathematica 作为一款独特的数学软件,有强大的数值计算和符号计算能力,具有很强的实用性,而线性方程组在线性代数中具有重要的地位.针对线性方程组的解具有零解、唯一解、无穷解的情况,文章借助Mathematica 数学软件分别给出求解的算法以及如何直接调用内部函数求解线性方程组的方法.文章中主要利用高斯-约当(Gauss-Jordan )消元法、矩阵的LU 分解法求解线性方程组,并用Mathematica 软件对这两种算法予以实现.同时给出了带有可读性好的求解过程、能用于各种逆矩阵和线性方程组求解的通用程序,利用Mathematica 数学软件实现对求逆矩阵和线性方程组的可读性计算. 关键字:Mathematica ;线性方程组;可读性计算;算法 引言 1.Mathematica 软件功能简介 Mathematica 作为一款独特的数学软件,有强大的数值计算和符号计算能力.同时,线性方程组是连接矩阵和向量组的纽带,也是矩阵和向量组的直接应用.在我们的实际工作中出现的大量数学模型,他们最后都可以化为解线性方程组,所以对线性方程组的解的研究是非常重要的. 在数学的许多分支中都涉及到线性方程组的问题,我们通常分齐次与非齐次两大类以及未知量个数与方程个数相等或不等对其进行求解,在系数矩阵为方阵时,还可以按照行列式是否为零进行分类.对于线性方程组的求解,其算法是非常清楚的,就是利用矩阵的行初等变换将对应的增广矩阵化为行最简矩阵,然后就可写出通解.但是由于整个过程涉及到大量数字运算,往往会因计算过程中不小心出现一些计算错误而导致错误的结论,有时甚至出现对没解的方程求出有解,或相反.然而,如果利用数学软件Mathematica ,可以将大家从繁琐的数字运算中解脱出来,而将注意力集中在基本概念和基本算法的学习上,从而增加学习兴趣,提高学习效率.笔者从事了一年多大学生创新实验《基于数学软件的高等代数解题实践研究》,通过实践发现,如果能够通过计算机编程让计算机自动求解各种线性方程组,这将是非常快速、方便的.因此本文以Mathematica 数学软件为平台,通过举例、演示与实验来理解线性方程组中的一些抽象概念和理论,并简捷直观地用计算机来解决复杂的线性方程组的求解问题,化简过难、过繁的运算技巧. 本文根据Mathematica 软件强大的数值计算无误差的特点和符号计算功能,总结Mathematica 的关于线性方程组计算的功能、命令,总结了求解线性方程组的解的算法,并给出带有可读性好的求解过程、能用于各种线性方程组求解的通用程序,实现线性方程组的可读性计算. 由于本章用到线性代数的许多基本知识,有必要对相关的概念和性质做一下说明. 定义1 如两个方程组具有完全相同的解,则称两个方程组为等价方程组. 定义2 关于方程组的初等运算有三种类型: 1) 交换方程组中两个方程:i j R R ?,称为交换运算. 2) 用一个非零的实数乘以某一方程:i i R R λ→,称为倍法运算. 3) 某方程加上另一个方程的倍数:i j i R R R λ+→,称为消法运算. 定理1 若一个方程由另一个方程经过有限次初等运算得到的,则这两个方程组等价.

Mathematica矩阵的各种运算

Mathematica可进行矩阵的各种运算,如矩阵求逆、矩阵的转置、矩阵与向量的乘法等.下面列出主要的运算.记k为常数,u,v为向量,A,B为矩阵 k*A------------------------常数乘矩阵 k+u-----------------------向量u的每一个元素加上k u+v----------------------向量的对应元素相加 u.v-----------------------向量的内积 u*v-----------------------向量的对应元素相乘 A.u---------------------矩阵乘向量 u.A-----------------------向量乘矩阵 A.B--------------------------矩阵乘矩阵 Transpose[A]-----------------求矩阵A的转置阵 Inverse[A]--------------------求矩阵A的逆矩阵 Det[A]-------------------------求矩阵A的行列式 Eigenvalues[A]-----------------求数字阵A的特征值 Eigentvectors[A]---------------求数字阵A的特征向量 LinearSolve[A,v]---------------求解线性方程组Ax=v Chop[%n]-------------------舍去第n个输出中无实际意义小量 矩阵可以左乘以向量或右乘以向量, Mathematica也不区分“行”,或“列”向量,自动进行可能的运算. 例: In[1]:=A={{a,b},{c,d}}; v={x,y}; In[2]:=A.v (A左乘以v) Out[2]={ax+by,cx+dy} In[3]:=v.A (A右乘以v) Out[3]={ax+cy,bx+dy} In[4]:=Inverse[A] Out[4]= 如果矩阵的元素是近似数,则求出的逆矩阵也是近似的。 In[5]:=B={{1.2,5.7},{4.2,5.6}}; Inverse[B] Out[5]= In[6]:=%.B Out[6]= 结果与单位矩阵有微小误差,用函数Chop消去无实际意义小量 In[7]:=Chop[%] Out[7]={{1.,0},{0,1.}} 前面已介绍了用Solve解线性方程组,但对于矩阵形式Ax=v的线性方程组,用 LinearSolve[A,v]更方便. In[8]:=M={{2,1},{1,4}}; LinearSolve[M,{a,b}]

Mathematica作为一个优秀的符号计算系统

第4节Mathematica基础 Mathematica作为一个优秀的符号计算系统, 不同于一般的计算软件或简单编程, 它以符号记录计算的精确结果, 能达到任意位的精度(只要你拥有足够的内存). 并且, 它还有教强的作图以及简单的编程功能. 因此, 在科学研究, 在工程应用, 在诸多领域中,Mathematica 将是一个得心应手的工具.希望这些简单的讲述,能让大家对Mathematica软件有个初步的了解. 其实Mathematica本身的帮助是非常强大的, 相信在你上手这个软件之后, 会更轻松地读懂并发现它的帮助中的各项内容的.适用版本:简记Mathematica为math math 1.2 for DOS,math 2.2 for Windows, math 3.0 for win95, math 3.0 for UNIX. 教程目录: 01 简介02 试试你的math 03 基本计算 04 代数变换05 微积分运算(2-1) 06 微积分运算(2-2) 07 矩阵/表的运算08 表的运算.2 09 二维图形 10 三维图形11 基本图元作图12 表达式与纯函数 13 转化规则与参数14 过程编程15 程序包 4.1简介 我们平日用到编程语言时, 大家都知道编程中用到的整型,实型, 甚至双精度数, 都只是一个近似的数, 其精度有限, 有效数字有限, 在很多时候达不到实际需要的要求. 符号计算与数值计算的区别就在于符号计算以准确值记录计算的每一步的结果, 如果需要时, 可以将精确表示按需要计算成任意位数的小数表示出来(只要机器内存足够大). 最常见的符号计算系统有maple, mathematica, redues等,这些软件各有侧重, 比如,maple内存管理及速度比math 好, 但是图形方面不如math; redues没找到, 没用过, 未明; 而用得较多的matlab编程环境特好, 和C语言接口极其简单, 符号计算采用Maple内核, 数值计算功能很强. 所以, 就实用而全面来说,math是一个很好用的软件. math软件不仅能够进行一般的+-*/及科学函数如Sin, Log等计算, 而且能进行因式分解, 求导, 积分, 幂级数展开, 求特征值等符号计算, 并且, math有较强的图元作图, 函数作图, 三维作图及动画功能. 4.2试试你的math math自发布以来, 目前比较常见的有math 1.2 for DOS,math 2.2 for Windows, math 3.0/4.0 for win95, math 3.0/4.0 for UNIX. DOS下的math的好处就是系统小, 对机器要求低, 在386机器4M内存下就能运行得很好(机器再低点也是可以用的, 比如说286/2M). 在DOS下直接键入math<回车>即可进入math系统, 出现的提示符In[1]:=,这时就可以进行计算了, 键入math函数, 回车即可进行运算. 如果输入的Quit, 则退出math. 这里要注意的是, math区分大小写的, 一般 math的函数均以大写字母开始的. windows下的math对机器要求就要高一些了, math3.0更是庞大,安装完毕有100M之多(2.2大约十多兆). 同windows下的其他软件一样,math可以双击图标运行, 在File菜单下有退出这一项. windows下的math有其优越性, 就是可以在windows下随心所欲地拷贝粘贴图形.math3.0更是能输入和显示诸如希腊字母, 积分符号, 指数等数学符号. DOS的math

矩阵运算及方程组求解

附录Ⅰ 大学数学实验指导书 项目五 矩阵运算与方程组求解 实验1 行列式与矩阵 实验目的 掌握矩阵的输入方法. 掌握利用Mathematica (4.0以上版本) 对矩阵进行转置、加、减、 数乘、相乘、乘方等运算, 并能求矩阵的逆矩阵和计算方阵的行列式. 基本命令 在Mathematica 中, 向量和矩阵是以表的形式给出的. 1. 表在形式上是用花括号括起来的若干表达式, 表达式之间用逗号隔开. 如输入 {2,4,8,16} {x,x+1,y,Sqrt[2]} 则输入了两个向量. 2. 表的生成函数 (1) 最简单的数值表生成函数Range, 其命令格式如下: Range[正整数n]—生成表{1,2,3,4,…,n }; Range[m, n]—生成表{m ,…,n }; Range[m, n, dx]—生成表{m ,…,n }, 步长为d x . 2. 通用表的生成函数Table. 例如,输入命令 Table[n^3,{n,1,20,2}] 则输出 {1,27,125,343,729,1331,2197,3375,4913,6859} 输入 Table[x*y,{x,3},{y,3}] 则输出 {{1,2,3},{2,4,6},{3,6,9}} 3. 表作为向量和矩阵 一层表在线性代数中表示向量, 二层表表示矩阵. 例如,矩阵 ??? ? ??5432 可以用数表{{2,3},{4,5}}表示.

输入 A={{2,3},{4,5}} 则输出 {{2,3},{4,5}} 命令MatrixForm[A]把矩阵A 显示成通常的矩阵形式. 例如,输入命令: MatrixForm[A] 则输出 ??? ? ??5432 注:一般情况下,MatrixForm[A]所代表的矩阵A 不能参与运算. 下面是一个生成抽象矩阵的例子. 输入 Table[a[i,j],{i,4},{j,3}] MatrixForm[%] 则输出 ???? ?? ? ??]3,4[]2,4[]1,4[]3,3[]2,3[]1,3[]3,2[]2,2[]1,2[]3,1[]2,1[]1,1[a a a a a a a a a a a a 注:这个矩阵也可以用命令Array 生成,如输入 Array[a,{4,3}]//MatrixForm 则输出与上一命令相同. 4. 命令IdentityMatrix[n]生成n 阶单位矩阵. 例如,输入 IdentityMatrix[5] 则输出一个5阶单位矩阵(输出略). 5. 命令DiagonalMatrix[…]生成n 阶对角矩阵. 例如,输入 DiagonalMatrix[{b[1],b[2],b[3]}] 则输出 {{b[1],0,0},{0,b[2],0},{0,0,b[3]}} 它是一个以b[1], b[2], b[3]为主对角线元素的3阶对角矩阵. 6. 矩阵的线性运算:A+B 表示矩阵A 与B 的加法;k*A 表示数k 与矩阵A 的乘法; A.B 或 Dot[A,B]表示矩阵A 与矩阵B 的乘法. 7. 求矩阵A 的转置的命令:Transpose[A]. 8. 求方阵A 的n 次幂的命令:MatrixPower[A,n]. 9. 求方阵A 的逆的命令:Inverse[A].

50Mathematica线性代数运算命令与例题.doc

第五章 线性代数运算命令与例题 线性代数中常用的工具是矩阵 (向量 )和行列式。用这些工具可以表示工程技术,经济工 作中一些需要用若干个数量从整体上反映其数量关系的问题。 用这些工具可以简明凝练而准 确地把所要研究的问题描述出来, 以提高研究的效率。 在线性代数课程中我们看到了用这些 工具研究齐次和非齐次线性方程组解的理论和解的结构, 矩阵的对角化, 二次型化标准形等 问题的有力,便捷 . 5.1 向量与矩阵的定义 数学上矩阵是这样定义的 : 由 m n 个数排成 m 行 n 列的数表 a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn 称为 m 行 n 列矩阵,特别,当 m=1 时就是线性代数中的向量。 a 11 a 12 a 1n 记作: A a 21 a 22 a 2n a m1 a m2 a mn 两个 m n 矩阵称为同型矩阵。 线性代数中的运算对象是向量和矩阵,因此首先介绍向量和矩阵的输入。 5.1.1 输入一个矩阵 命令形式 1:Table[f[i,j] , {i , m} , {j , n}] 功能 : 输入 m n 矩阵,其中 f 是关于 i 和 j 的函数,给出 [i , j] 项的值 . 命令形式 2:直接用表的形式来输入 功能 :用于矩阵元素表达式规律不易找到的矩阵的输入。 注意 : 1.Mathematica 是采用一个二重表的形式来表示矩阵的,即用 {{ },{ }, ,{ }} 其中表中的每个表元素都是等长的一维表, 第一个表元素是矩阵的第一行, 第二个表元素是 矩阵的第二行,一般,第 n 个表元素是矩阵的第 n 行。要看通常的矩阵形式可以用命令 : MatrixForm[%] 2. 对应上述命令形式,输入一个向量的命令为 Table[f[j] , {j,n}] 或直接输入一个一维表 { a1,a2, ,an},这里 a1,a2, ,an 是数或字母。

Mathematica 基本运算

Mathematica 基本运算 a+ mathematica数学实验(第2版) b+c 加 a-b 减 a b c 或a*b*c 乘 a/b 除 -a 负号 a^b 次方 Mathematica 数字的形式 256 整数 2.56 实数 11/35 分数 2+6I 复数 常用的数学常数 Pi 圆周率,π=3.141592654… E 尤拉常数,e=2.71828182… Degree 角度转换弧度的常数,Pi/180 I 虚数,其值为√-1 Infinity 无限大 指定之前计算结果的方法 % 前一个运算结果 %% 前二个运算结果 %%…%(n个%) 前n个运算结果 %n 或Out[n] 前n个运算结果 复数的运算指令 a+bI 复数 Conjugate[a+bI] 共轭复数 Re[z], Im[z] 复数z的实数/虚数部分 Abs[z] 复数z的大小或模数(Modulus) Arg[z] 复数z的幅角(Argument) Mathematica 输出的控制指令 expr1; expr2; expr3 做数个运算,但只印出最后一个运算的结果

expr1; expr2; expr3; 做数个运算,但都不印出结果 expr; 做运算,但不印出结果 常用数学函数 Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x] 三角函数,其引数的单位为弧度 Sinh[x],Cosh[x],Tanh[x],… 双曲函数 ArcSin[x],ArcCos[x],ArcTan[x] 反三角函数 ArcCot[x],ArcSec[x],ArcCsc[x] ArcS inh[x],ArcCosh[x],ArcTanh[x],… 反双曲函数 Sqrt[x] 根号 Exp[x] 指数 Log[x] 自然对数 Log[a,x] 以a为底的对数 Abs[x] 绝对值 Round[x] 最接近x的整数 Floor[x] 小于或等于x的最大整数 Ceiling[x] 大于或等于x的最小整数 Mod[a,b] a/b所得的馀数 n! 阶乘 Random[] 0至1之间的随机数(最新版本已经不用这个函数,改为使用RandomReal[])Max[a,b,c,...],Min[a,b,c,…] a,b,c,…的极大/极小值 数值设定 x=a 将变数x的值设为a x=y=b 将变数x和y的值均设为b x=. 或Clear[x] 除去变数x所存的值 变数使用的一些法则 xy 中间没有空格,视为变数xy x y x乘上y 3x 3乘上x x3 变数x3 x^2y 为x^2 y次方运算子比乘法的运算子有较高的处理顺序 四个处理代数指令 Expand[expr] 将expr展开 Factor[expr] 将expr因式分解 Simplify[expr] 将expr化简成精简的式子 FullSimplify[expr] Mathematica 会尝试更多的化简公式,将expr化成更精简的式子 多项式/分式转换函数 ExpandAll[expr] 把算式全部展开 Together[expr] 将expr各项通分在并成一项 Apart[expr] 把分式拆开成数项分式的和 Apart[expr,var] 视var以外的变数为常数,将expr拆成数项的和 Cancel[expr] 把分子和分母共同的因子消去 分母/分子的运算 Denominator[expr] 取出expr的分母 Numerator[expr] 取出expr的分子

Mathematica运算(简版)

Mathematica运算(简版) Mathematica 基本运算 a+ b+c 加 a-b 减 a b c 或 a*b*c 乘 a/b 除 -a 负号 a^b 次方 Mathematica 数字的形式 256 整数 2.56 实数 11/35 分数 2+6I 复数 N[x] 将x转变为实数形式 N[x,n] 将小转变为最多具有n个数字位精度的近似实数 Rationalize[x] 给出x的近似有理数Rationalize[x,dx]给出误差在dx内的近似有理数ScientificForm[x]x的科学计数法 常用的数学常数 Pi 圆周率,π=3.141592654… E 尤拉常数,e=2.71828182… Degree 角度转换弧度的常数,Pi/180 I 虚数,其值为√ Infinity 无限大 数组处理 GCD[x,y,z] 计算x,y,z的最大公约数LCM[x,y,z] 计算x,y,z的最小公倍数 指定之前计算结果的方法 % 前一个运算结果 %% 前二个运算结果 %%…%(n个%) 前n个运算结果 %n 或 Out[n] 前n个运算结果 复数的运算指令 a+bI 复数 Conjugate[a+bI] 共轭复数 Re[z], Im[z] 复数z的实数/虚数部分 Abs[z] 复数z的大小或模数(Modulus) 常用数学函数 Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x]三角函数,其引数的单位为弧度 Sinh[x],Cosh[x],Tanh[x],…双曲函数 ArcSin[x],ArcCos[x],ArcTan[x] 反三角函数ArcCot[x],ArcSec[x],ArcCsc[x] ArcSinh[x],ArcCosh[x],ArcTanh[x],…反双曲函数Sqrt[x] 根号 Exp[x] 指数 Log[x] 自然对数 Log[a,x] 以a为底的对数 Abs[x] 绝对值 Round[x] 最接近x的整数 Floor[x] 小于或等于x的最大整数 Ceiling[x] 大于或等于x的最小整数 Mod[a,b] a/b所得的馀数

数学软件四大家Maple、MATLAB、MathCAD和Mathematica

数学软件四大家Maple、MATLAB、MathCAD和Mathematica 目前在科技和工程界上比较流行和著名的数学软件主要有四个,分别是MATLAB、Maple、MathCAD和Mathematica。它们在各自针对的目标都有不同的特色。下面就让我为你一一道来。 一、Maple 系统 Maple 是由Waterloo大学开发的数学系统软件,它不但具有精确的数值处理功能,而且具有无以伦比的符号计算功能。 Maple 的符号计算能力还是MathCAD和MATLAB等软件的符号处理的核心。Maple提供了2000余种数学函数,涉及范围包括:普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一套内置的编程语言,用户可以开发自己的应用程序,而且Maple自身的2000多种函数,基本上是用此语言开发的。 Maple采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形方式,产生的图形结果可以很方便地剪贴到Windows应用程序内。 二、MATLAB 系统 MATLAB原是矩阵实验室(Matrix Laboratory)在70年代用来提供Linpack和Eispack软件包的接口程序,采用C语言编写。从80年代出现3.0的DOS版本,逐渐成为科技计算、视图交互系统和程序语言。MATLAB可以运行在十几个操作平台上,比较常见的有基于Windows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平台的系统。 MATLAB程序主要由主程序和各种工具包组成,其中主程序包含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、μ分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且5.x版本还包含一套几十个的PDF文件,从MATLAB的使用入门到其他专题应用均有详细的介绍。 MATLAB是数值计算的先锋,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB在输入方面也很方便,可以使用内部的Editor或者其他任何字符处理器,同时它还可以与Word6.0/7.0结合在一起,在Word的页面里直接调用MATLAB 的大部分功能,使Word具有特殊的计算能力。 三、MathCAD 系统 MathCAD是美国Mathsoft公司推出的一个交互式的数学系统软件。从早期的DOS下的1.0和Windows下的4.0版本,到今日的8.0版本,功能也从简单的数值计算,直至引用Maple强大的符号计算能力,使得它发生了一个质的飞跃。 MathCAD是集文本编辑、数学计算、程序编辑和仿真于一体的软件。MathCAD7.0 Professional(专业版)运行在Win9X/NT 下,它的主要特点是输入格式与人们习惯的数学书写格式很近似,采用WYSWYG(所见所得)界面,特别适合一般无须进行复杂编程或要求比较特殊的计算。MathCAD 7.0 Professional 还带有一个程序编辑器,对于一般比较短小,或者要求计算速度比较低时,采用它也是可以的。这个程序编辑器的优点是语法特别简单。 MathCAD可以看作是一个功能强大的计算器,没有很复杂的规则;同时它也可以和Word、Lotus、WPS2000等字处理软件很好地配合使用,可以把它当作一个出色的全屏幕数学公式编辑器。 四、Mathematica 系统 Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与Maple类似,但它的符号计算不是基于Maple上的,而是自己开发的。 Mathematica的基本系统主要是用C语言开发的,因而可以比较容易地移植到各种平台上,Mathematica是一个交互式的计算系统,计算是在用户和Mathematica互相交换、传递信息数据的过程中完成的。Mathematica系统所接受的命令都被称作表达式,系统在接受了一个表达式之后就对它进行处理,然后再把计算结果返回。Mathematica对于输入形式有比较严格的规定,用户必须按照系统规定的数学格式输入,系统才能正确地处理,不过由于3.0版本引入输入面板,并且可以修改、重组输入面板,因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很好的改善。5.1版本可以用各种格式保存文件和剪贴内容,包括RTF、HTML、BMP等格式。 Mathematica的符号功能是最强的。且它的运行构架是最优的。符号运算效力与解析能力是最好的(数值运算当然是Matlab最好)。它的构架由核心系统与前端系统构成。两个系统既合作又独立。这个比Matlab的构架都要优秀。它是专为研究人员开发的。至于Maple的符号能力根本就比Mathematica弱很多的。它基本上是为中学生与大学生之学习研发的。不足以进行物理学与技术科学的运演。而Mathematica是最好的物理学科研的工具。Matlab是最好的技术科学数值求解的工具。朋友们应该知了。数值类的数学软件是Matlab最好最全。符号分析类的数学软件是Mathematica最好。 五、四种软件的比较 选用何种数学软件?如果仅仅是要求一般的计算或者是普通用户日常使用,首选的是MathCAD,它在高等数学方面所具有的能力,足够一般客户的要求,而且它的输入界面也特别友好。如果要求计算精度、符号计算和编程方面的话,最好同时使用Maple和Mathematica,它们在符号处理方面各具特色,有些Maple不能处理的,Mathematica却能处理,诸如某些积分、求极限等方面,这些都是比较特殊的。如果要求进行矩阵方面或图形方面的处理,则选择MATLAB,它的矩阵计算和图形处理方面则是它的强项,同时利用MATLAB的NoteBook功能,结合Word6.0/7.0的编辑功能,可以很方便地处理科技文章

用数学软件Mathematica做线性代数

用数学软件Mathematica做线性代数 作者:徐小湛 四川大学数学学院 xuxzmail@https://www.360docs.net/doc/2f10357306.html,

目录 前言 第一章行列式 行列式Det[A] 克拉默法则 第二章矩阵及其运算 矩阵的线性运算 矩阵的乘法 A.B 矩阵的转置Transpose[A] 逆矩阵Inverse[A] 矩阵方程 第三章矩阵的初等变换与线性方程组矩阵的行最简形RowReduce[A] 矩阵的秩MatrixRank[A] 齐次线性方程组 基础解系NullSpace[A] 非齐次线性方程组 求特解LinearSolve[A,b] 用Solve求线性方程组的解 第四章向量组的线性相关性 向量的线性表示 极大无关组

第五章相似矩阵及二次型 正交矩阵 矩阵的特征值Eigenvalues[A] 矩阵的特征向量Eigenvectors[A] 矩阵的对角化 矩阵的正交化Orthogonalize[P] 二次型的标准化 参考文献

前言 Mathematica是著名的数学软件,具有强大的的数学运算能力和绘图功能。 本文档用Mathematica来进行线性代数中的各种运算。 本文档中所有的例子都是用Mathematica 7编程和计算的,有的命令在版本较低的Mathematica可能无法执行。 另外,有的运算结果拷贝到Word时,格式有些变化,但是在Mathematica中的输出格式没有问题。 如有对本文档中的内容任何问题,请发邮件与作者讨论。 邮箱:xuxzmail@https://www.360docs.net/doc/2f10357306.html, xuxz 2010-9-4 返回目录

第一章 行列式 行列式 Det[A] 例 计算三阶行列式1 242 2 1342 A -=---(同济5版,3页) 输入: A={{1,2,-4},{-2,2,1},{-3,4,-2}}; Det[A] 输出: -14 例 计算四阶行列式31125134 20111533A ---=---(同济5版,12页) 输入: A={{3,1,-1,2},{-5,1,3,-4},{2,0,1,-1},{1,-5,3,-3}}; Det[A] 输出: 40 例 求解方程2 11 1 2 3 049 x x =(同济5版,3页) 输入: A:={{1,1,1},{2,3,x},{4,9,x^2}} Solve[Det[A] 0,x] 输出: {{x →2},{x →3}}

向量、行列式、矩阵与线性方程组实验-Mathematica

§13.4向量、行列式、矩阵与线性方程组实验 [学习目标] 1.会用Mathematica进行向量的计算; 2.能用Mathematica进行行列式的计算; 3.会利用Mathematica进行矩阵的运算与初等变换; 4.能利用Mathematica解线性方程组。 线性代数的数值计算程序并不稀奇,早有大量的算法和软件。然而这里是进行准确的符号运算,学习了本节以后,就可以摆脱冗繁的矩阵运算了。本节介绍用Mathematica实现线性代数运算的各种专用函数,它们基本上满足了线性代数计算的需求。读者将会看到,以下的一些计算功能是十分出色的。但从我国的教材来看,还有个别计算功能没有涉及,留有继续开发的余地。 一、矩阵的输入与输出 在Mathematica中向量和矩阵就是一个表。 {a1,a2,…,a n} 表示一个向量。 {{a11,a12,…,a1n},{a21,a22,…,a2n},…,{a m1,a m2,…,a mn}} 表示一个m行n列的矩阵,其中每一个子表表示矩阵的一行。 1.直接输入矩阵 直接输入矩阵的方法有3种,如下所述。 (1)按表的形式输入矩阵 既然矩阵和向量都是表,表的一般操作对于矩阵和向量仍然适用。但是,按表的格式键入矩阵和向量,会让人很不习惯。因此,Mathematica也提供了矩阵和向量的常规形式的输入、输出方法。 (2)由模板输入矩阵 基本输入模板中有输入2阶方阵的模板,单击该模板输入一个空白的2阶方阵。按“Ctrl +”使矩阵增加一列,按“Ctrl + Enter”使矩阵增加一行。如果矩阵不大,此法较方便。 (3)由菜单输入矩阵 如果输入行、列数较多的矩阵,可以打开主菜单的Input项,其中Create Table/Matrix/Palette 可用于建立一个矩阵,单击该项出现一个的对话框。选择Make:Matrix,再输入行数和列数,单击OK按钮,于是一个空白矩阵被输入到工作区窗口。 空白矩阵的每个小方块代表一个元素的位置,光标所在的小方块与众不同,可以用Tab 键将光标从一个方块跳到下一个方块,也可以用鼠标选中一个方块。 2.以矩阵形式输出矩阵 不管用何种方法输入矩阵,矩阵总是按表的形式输出。这既违背常规,又难于阅读。因此,Mathematica提供了以矩阵形式输出矩阵的函数: MatrixForm[list] 将表list按矩阵的形式输出。

Mathematica语言

Mathematica语言

附录Mathematica 软件简介 Mathematica是一个功能强大的数学软件.它集数值计算、符号运算,绘图功能于一身,堪称众多数学软件中的佼佼者.加之其语法规则简单,操作使用方便,深受广大科技工作者的喜爱,得到广泛的使用. 数学函数和常数 Mathematica提供了大量的数学函数,给运算带来很大方便. 下面列出一些常用的函数. 注:Mithematica提供的函数,其名称中的字母大小写是固定的(特别开头字母均为大写),不得误用;函数的自变量以方括号[ ]括起来. Mathemaica还提供了许多数学常数,下面列出了一些常数(均以大写字母开头).Pi -------------------π; E---------------------e ; Infinity--------------∞ I----------------------1 函数和常数均可参与运算,下面是一些运算的例子.

In[ l]:=Pi^2 Out[ 1]=π2 In[2]:=N[ Pi,11] Out[2]=3.1415626535 In[3]:=Log[E^8] Out[3]=8 In[4]:=Sin[Sqrt[%1]/6] Out[4]=1/2 用户不仅可以使用Mathemaica提供的函数和常数,还可以自定义函数和常数.方法如下: 形式功能 f[x_]:= expr-------------定义函数f f[x_,y_]:=exp r-----------定义多变量的函数f ?f------------------------显示函数的定义 Clear[f]-----------------清除f的定义 x=value-------------给变量x赋值 x=.清除变量x的值 注:定义函数时,在等式左端的方括号中的变量必须跟随下到线符号“_”;定义的函数或变量的名称不要使用大写字母开头,以免和Mathemaica的函数或常数混淆.例: In[1]:=f[x_]:=x^5;f[x_,y_]:=Sqrt[x^2+y^2];z=3; 其中输入语句后的分号“;”表示不显示输出结果,定义了函数、变量以后,便可以在运算中使用. In[4]:=f[2] Out[4]=32 In[5]:=f[1+b] Out[5]=(1+b)2 In[6]:=g[z,4] Out[6]=5 如果忘记了已定义的函数的内容,可以使用?f查询f的定义.当函数或变量使用完以后,最好将其清除,以免带来麻烦. 3.符号运算 符号运算即代数式的运算.它是Mathemaica的重要功能.下面简介符号运算的主要功能. (1)符号赋值 Mathemaica不仅可以把一个常值赋给一个符号,还可以把一个表达式赋给一个符

矩阵运算与方程组求解

附录Ⅰ 大学数学实验指导书 项目五 矩阵运算与方程组求解 实验1 行列式与矩阵 实验目的 掌握矩阵的输入方法. 掌握利用Mathematica (4.0以上版本) 对矩阵进行转置、加、减、 数乘、相乘、乘方等运算, 并能求矩阵的逆矩阵和计算方阵的行列式. 基本命令 在Mathematica 中, 向量和矩阵是以表的形式给出的. 1. 表在形式上是用花括号括起来的若干表达式, 表达式之间用逗号隔开. 如输入 {2,4,8,16} {x,x+1,y,Sqrt[2]} 则输入了两个向量. 2. 表的生成函数 (1) 最简单的数值表生成函数Range, 其命令格式如下: Range[正整数n]—生成表{1,2,3,4,…,n }; Range[m, n]—生成表{m ,…,n }; Range[m, n, dx]—生成表{m ,…,n }, 步长为d x . 2. 通用表的生成函数Table. 例如,输入命令 Table[n^3,{n,1,20,2}] 则输出 {1,27,125,343,729,1331,2197,3375,4913,6859} 输入 Table[x*y,{x,3},{y,3}] 则输出 {{1,2,3},{2,4,6},{3,6,9}} 3. 表作为向量和矩阵 一层表在线性代数中表示向量, 二层表表示矩阵. 例如,矩阵 ??? ? ??5432 可以用数表{{2,3},{4,5}}表示. 输入 A={{2,3},{4,5}} 则输出 {{2,3},{4,5}}

命令MatrixForm[A]把矩阵A 显示成通常的矩阵形式. 例如,输入命令: MatrixForm[A] 则输出 ??? ? ??5432 注:一般情况下,MatrixForm[A]所代表的矩阵A 不能参与运算. 下面是一个生成抽象矩阵的例子. 输入 Table[a[i,j],{i,4},{j,3}] MatrixForm[%] 则输出 ???? ?? ? ??]3,4[]2,4[]1,4[]3,3[]2,3[]1,3[]3,2[]2,2[]1,2[]3,1[]2,1[]1,1[a a a a a a a a a a a a 注:这个矩阵也可以用命令Array 生成,如输入 Array[a,{4,3}]//MatrixForm 则输出与上一命令相同. 4. 命令IdentityMatrix[n]生成n 阶单位矩阵. 例如,输入 IdentityMatrix[5] 则输出一个5阶单位矩阵(输出略). 5. 命令DiagonalMatrix[…]生成n 阶对角矩阵. 例如,输入 DiagonalMatrix[{b[1],b[2],b[3]}] 则输出 {{b[1],0,0},{0,b[2],0},{0,0,b[3]}} 它是一个以b[1], b[2], b[3]为主对角线元素的3阶对角矩阵. 6. 矩阵的线性运算:A+B 表示矩阵A 与B 的加法;k*A 表示数k 与矩阵A 的乘法; A.B 或 Dot[A,B]表示矩阵A 与矩阵B 的乘法. 7. 求矩阵A 的转置的命令:Transpose[A]. 8. 求方阵A 的n 次幂的命令:MatrixPower[A,n]. 9. 求方阵A 的逆的命令:Inverse[A]. 10.求向量a 与b 的内积的命令:Dot[a,b]. 实验举例 矩阵的运算

Mathematica基本运算指令

基本运算 a+b+c 加 a-b 减 a b c 或 a*b*c 乘 a/b 除 -a 负号 a^b 次方 Mathematica 数字的形式 256 整数 2.56 实数 11/35 分数 2+6I 复数 常用的数学常数 Pi 圆周率,π=3.141592654… E 尤拉常数,e=2.71828182… Degree 角度转换弧度的常数,Pi/180 I 虚数,其值为√-1 Infinity 无限大 指定之前计算结果的方法 % 前一个运算结果 %% 前二个运算结果 %%…%(n个%) 前n个运算结果 %n 或 Out[n] 前n个运算结果 复数的运算指令 a+bI 复数 Conjugate[a+bI] 共轭复数 Re[z], Im[z] 复数z的实数/虚数部分 Abs[z] 复数z的大小或模数(Modulus) Arg[z] 复数z的幅角(Argument) Mathematica 输出的控制指令 expr1; expr2; expr3 做数个运算,但只印出最后一个运算的结果 expr1; expr2; expr3; 做数个运算,但都不印出结果 expr; 做运算,但不印出结果 常用数学函数 Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x] 三角函数,其引数的单位为弧度Sinh[x],Cosh[x],Tanh[x],… 双曲函数

ArcSin[x],ArcCos[x],ArcTan[x] 反三角函数 ArcCot[x],ArcSec[x],ArcCsc[x] ArcSinh[x],ArcCosh[x],ArcTanh[x],…反双曲函数 Sqrt[x] 根号 Exp[x] 指数 Log[x] 自然对数 Log[a,x] 以a为底的对数 Abs[x] 绝对值 Round[x] 最接近x的整数 Floor[x] 小于或等于x的最大整数 Ceiling[x] 大于或等于x的最小整数 Mod[a,b] a/b所得的馀数 n! 阶乘 Random[] 0至1之间的随机数(最新版本已经不用这个函数,改为使用RandomReal[]) Max[a,b,c,...],Min[a,b,c,…] a,b,c,…的极大/极小值 数值设定 x=a 将变数x的值设为a x=y=b 将变数x和y的值均设为b x=. 或 Clear[x] 除去变数x所存的值 变数使用的一些法则 xy 中间没有空格,视为变数xy x y x乘上y 3x 3乘上x x3 变数x3 x^2y 为 x^2 y次方运算子比乘法的运算子有较高的处理顺序 四个处理指令 Expand[expr] 将 expr展开 Factor[expr] 将 expr因式分解 Simplify[expr] 将 expr化简成精简的式子 FullSimplify[expr] Mathematica 会尝试更多的化简公式,将 expr化成更精简的式子 多项式/分式转换 ExpandAll[expr] 把算式全部展开

相关文档
最新文档