代数及其应用_第1页
代数及其应用_第2页
代数及其应用_第3页
代数及其应用_第4页
代数及其应用_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、代数及其应用中国民用航空学院 理学院陈尚弟第1章 mathematica软件 在代数中的应用 1.1 mathematica系统简介1.2 mathematica在线性代数中的应用1.3 mathematica应用实例 1.1 mathematica系统简介 mathematica是由位于美国伊利诺州的伊利诺州大学香槟(champaign)分校附近的wolfram research 公司开发的一套专门进行数学计算的软件。从1988年问世至今,已广泛地应用到工程、应用数学、计算机科学、财经、生物、药学、生命科学以及太空科学等领域,深受科学家、学生、教授、研究人员及工程师们的喜爱。数以万计的论文、

2、科学报告、期刊杂志、图书资料、计算机绘图等都是mathematica的杰作。 早在1995年发表的mathematica3.0版,可谓数学计算机软件史上的一大创新,而1999年发表的mathematica4.0,则达到了这类软件的顶峰。mathematica除了提供数值处理与绘图的功能之外,还具有符号计算的能力,使您能够处理多项式的各种运算、函数的微分、积分、解微分方程、统计,甚至可以制作电脑动画及音效等等。 mathematica对计算机的要求不高,只要能运行office系列软件便能够运行mathematica4.建议您的计算机配置达到如下要求: 1. 操作系统: windows95wind

3、owsnt3.51以上的版本 2.cpu处理器:intel、cyrix或amd586级以上的中央处理器。 3.硬盘空间: 除了具备120mb的硬盘空间用以安装mathematica之外,还必须由60mb的剩余硬盘空间作为交换文件(swap files)的存取空间。若进行较复杂的运算,则必须保证有100mb的剩余硬盘空间。 4.内存:至少32mb。建议64mb以上。1.1.1 mathematica基本操作 本节介绍mathematica的基本操作。其中包括基本运算、manthmatica的输入输出以及与操作界面的互动等。基本运算基本运算 在工作窗口中输入2+3,再按shift+enter组合键

4、(先按住shift键不放,再按enter键)执行这个简单的运算,这时在工作窗口中会显示如下图所示的结果: 图中的in1= 与out1 是mathematica自动生成的,而inx与outx中的数字x表示的是本次计算是运行mathmatica之后的第x 次计算。输入算式时不能输入这些序号,否则系统将会提示错误信息。如果您的工作窗口中没有如上图所示的工具栏和标尺,可以在format下拉菜单中分别单击show ruler和show toolbar显示它们。 注意:启动mathmatica之后,进行第一次数学计算通常会占用较长的时间,因为这时mathmatica正把计算的核心文件(kernel fil

5、es)加载到内存。第二次及以后的计算就会快得多。mathmatica的常用语法 基本运算 mathematica的基本运算包括加、减、乘、除与乘方等。可以按照一般数学表达式的书写格式输入这些基本运算。例如2+4、2-4、5/72、32等都符合mathematica的语法标准(注意:mathematica以号表示乘方运算)。 乘法的表示方法 在mathematica中,乘法的表示方法比较特殊,除了用*号之外,还可以用空格表示乘法,这一点类似于习惯的手写格式。下面三种情况都是合法的乘法运算: x*y xy x(y+1) | | | 乘号 在两个变量中间插入 变量与整个括号相乘 一个空格表示相乘 在

6、mathematica的语法中规定x2属于变量,而2x则表示数字2乘以变量x,注意:2与x之间没有空格,如果在2与x之间加上一个空格,仍然表示数字2乘以变量x。 2x 表示2*x x2 表示变量x2 x2 表示x*2 变量与乘法的区别 变量与函数的表示方法变量与函数的表示方法 习惯上在输入mathematica的内部函数时第一个字母必须大写,变量必须用方括号括起来,而圆括号表示计算的优先级别。下图说明了变量与常数的使用规则。 变量通常用小写 函数中的变量必须用方括号括起来 | | x=siny*(6+4w) | 圆括号具有较高的计算优先级 内部函数的第一个字母必须大写 变量可以时几个 常量的第

7、一个字母大写 英文字母的组合 | | val=mod15.5,2pi | 若函数有两个以上的参数则参数之间用逗号隔开1.1.2 数学表达式的输入 mathmatica提供了多种数学表达式的方法.除了用键盘输入外,还可以使用工具栏或者快捷输入运算符、矩阵或数学表达式。数学表达式二维格式的输入数学表达式二维格式的输入 mathematica提供了两种格式的数学表达式。形如x/(2+3x)+12/(2y-z+w)的称为一维格式,形如 的称为二维格式。1223(2)xxyzw 一维格式适用于简短的运算或仅提供纯文字的dos界面的输入环境; 二维格式则适用于进行比较复杂的数学运算或windows界面的输

8、入环境。矩阵的二维格式输入方法矩阵的二维格式输入方法 输入二维格式的矩阵,步骤如下: (1)单击input下拉菜单中的create table/matrix/palette命令。 (2)在弹出的对话框中选择matrix,并输入行数与列数。 (3)单击ok按钮。 另外,也可以单击基本输入工具栏上的 按钮完成矩阵二维格式的输入。 如果修改矩阵,例如增加一行或一列,可以使用快捷键。快捷键及其功能列表如下:功能快捷键增加一行ctr.,增加一列ctr.enter跳过矩阵的输入ctr.space或方向键mathematica 的运算类型的运算类型 mathematica 的运算类型可以概况为数值运算数值运

9、算(numerial calculation)和符号运算符号运算(symbolic calculation)两种。数值运算可以再细分为精精确(确(exact)运算)运算与近似近似(approximate)运算运算。整数与整数相加减以及分数的运算等等都属于精确运算,而含有小数点的运算则属于近似值运算(或浮点运算)。符号运算包括不定积分的求解、函数的微分以及多项式的化简与分解等。精确运算精确运算 通常把整数称为精确数(exact number),因为它不带任何小数。其它如 等数也属于精确数。如果数值运算的结果是精确数,则称这一运算为精确运算。精确数能够保持计算的精度,不会因小数的取舍而导致计算上的

10、误差,因此在实际运算中,应当尽可能地用精确数表示运算结果。 2,3/4,sin2,近似运算近似运算 精确值固然可以保持计算的精度,而近似值(或称为浮点数)会让我们有大小的概念。sin(2)对大多数人而言只是个符号,但是若把它化成近似值sin(2)=0.909297则会让我们有量的概念。虽然mathematica会尽可能精确数来保持计算的精度,但我们也可以用一些技巧强制mathematica把计算结果转换成近似值。例如 计算2+1.4 in7=2+1.4/2 注::计算结果是一个浮点数。 out7=2.7 计算322.3 in8:=3x22.3 运算结果也是一个浮点数。 out8=14.7737

11、 如果sin函数的自变量是一个浮点数, m a t h e m a t i c a 会 自 动 用 近 似 值 表 示 运 算 in9=sin2.0 结果。 out9=0.909297浮点数乘以精确sin(2),运算结果是 in10=3+2.2sin2浮点数。 out10=5.00045这是一个精确运算。 in11= out11= n命令可以将精确值化成近似值。注意,mathematica默认的有效数字位 in12=n数为6位。 out12=4.5558122符号运算符号运算 数值运算只是mathematica运算功能的一小部分,mathematica的真正用武之地表现在它的符号运算能力上。本

12、节将对mathematica的符号运算作初步介绍,用来比较它与数值运算的不同。在后续的章节中,我们将会把学习的重心转到mathematica的符号运算上。计算 in1:= 我们注意到积分的结果是 out1= 一个符号运算式,而不是数值运算式22/uaudu22uaduu22222 auaua u22222 auaua u-alog 基本数学运算基本数学运算 有了mathematica运算的基本概念之后,现在可以学习一些简单的数学运算。 manthmatica将数值分成了整数、实数(含有小数点的数,或称近似值或浮点数)和复数。分数可以看作是两个整数相除;整数的有效位数可以认为是无数位;而实数的有

13、效位数则可以认为是有限的。整数的运算整数的运算 整数的基本运算命令(一) factorialn或n! 计算n的阶乘。modm, n 计算m/n的余数,其中m,n 必须为整数quotientm, n 计算m/n的商,其中m, n必 须为整数整数的基本运算命令(二)factorintgern 因数分解gcdx1, x2, 求最大公约数lcmx1, x2, 求最小公倍数divisorsn 求所有可以整除n的整数randominteger, m,n 随机产生m到n之间的整数,其中m,n为primen 求第n个质数(2为第一个质数)primeqn 判断整数n是否为质数,若是,运算结果为true, 否则结

14、果为false.分数与浮点数分数与浮点数 如果m, n属于整数,则分数m/n属于精确值。如果要把精确值化成近似值或浮点数,只要把分母或分子中的任一项化成浮点数,mathmatica就会自动用浮点数表示分式的运算结果。另外,还可以用n命令把精确值化成近似值。nnum或num/n 把精确数num化成浮点数(默认16位有效数字)nnum, n 把num化成具有n个有效数字的浮点数numberformnum, n 以n个有效数字表示num 虽然浮点数的默认的精确度位16位有效数字,但在大多数情况下,为了节省输出空间,mathematica只显示6位有效数字。内部常数内部常数pi 常数e 欧拉常数deg

15、ree 角度转换成弧度的常数,degree=/180infinity 常数i 虚数i 1.2 mathematicazai在线性代在线性代数中的应用数中的应用 数组运算是mathematica的强大功能之一,这个优点主要反映在矩阵的运算上,因为mathematica的矩阵是由数组构成的。mathematica不但可以完成基本向量与矩阵的运算,同时还可以处理矩阵的秩与零核空间,以及线性代数所包含的各种数学运算。1.2.1 一维与多维数组一维与多维数组 矩阵(array)是数组的延伸。在mathmatica中,向量(vector)是用一维数表示的,而矩阵(matrix)则是数组的数组(list o

16、f list, 即二维数组),但矩阵的各个次数组必须有相同的长度。 a,b,c 向量ai+bj+ck a,b, c,d 22矩阵 虽然数学上有行向量(column vector)和列向量(row vector)之分,但mathematica都用一维的数组表示这两种向量。这是一个向量 in1= a, b, c out1= a, b, cmatrixformne能够以 in2= matrixform%列的形式显示向量 out2/mtrixform=abc这是一个24的矩阵 in3=7,6,4,1, 2,6,12,3 out3= 7,6,4,1, 2,6,12,3matrixform能把矩阵显 in

17、4=matrixform%示成类似于手写的格式 out4/mtrixform=dimensions可计算矩阵的维度 in5=dimensions% out5=2, 4764126123一维数组与向量一维数组与向量 除了table命令之外,mathematica还提供了多个命令用以生成向量。下表了列出了与向量相关的命令及其格式。 tablef, i,n 用f生成包含n个元素的向量 arraya,n 生成一个a1,a2,an的向量 rangen 生成一个1,2,n向量 rangem,n 生成一个m,m+1,n的向量 rangem,n,d 生成m.m+d,n的向量 lengthlist 计算向量的长

18、度 二维矩阵二维矩阵有了向量的概念之后,理解矩阵就显得简单多了。向量只需1个标注便能存储所有的元素,而n维矩阵则需要n个标注。 tablef,i,m,j,n 生成一个mn矩阵 arraya,m,n 生成一个amn的矩阵 diagonalmatrixlist 生成一个对角矩阵 indentitymatrixn 生成一个nn单位矩阵 partlist,i或listi 提取矩阵的第i行 partlist,i,j或listi,j 提取矩阵的第i行第j列元素 dimensionslist 矩阵的阶数另外,mathematica也提供了把向量或矩阵输出成类似一般数学格式的命令,如下所示: columnfo

19、rmlist 将list输出成一列 tableformlist 将list输出成表格 matrixformlist 将list输出成矩阵1.2.2 向量运算向量运算向量的基本运算向量的基本运算 向量的点积和叉积可以用dot与cross命令运算。 dotv1, v2或v1.v2 计算向量v1, v2的点积 crossv1, v2 计算向量v1, v2的叉积 虽 然 在 数 学 上 标 量 不 能 和 向 量 相 加 , 但mathematica会把标量k看成k,k.,k再和向量相加。向量的大小与夹角向量的大小与夹角mathematica没有直接提供用以计算范数与向量之间夹角的命令,但我们可以根据

20、它们的数学表达式来定义它们。向量a,b,c的范数为 向量f, g的夹角由下来公式来求得 向量的范数计算公式 in1=normvect_:= 向量的夹角计算公式 in2=anglev1_, v2:= 222| , , |a b cabc1cos|fgfg2,apply plus vect1. 2 1* 2v varccosnorm vnorm v1.2.3 矩阵的基本运算矩阵的基本运算 mathematica提供了完整的矩阵运算命令,来协助处理矩阵的运算。基本矩阵运算基本矩阵运算 常用的矩阵运算包括矩阵的加法、乘法、常数乘以矩阵、矩阵的转置与逆矩阵。a_1+a_2 计算矩阵a_1+a_2c*m

21、常数c乘以矩阵ma_1a-2 两个矩阵相乘an 对矩阵a的每个元素进行n次方运算inversea 求矩阵a的逆矩阵transposea 求矩阵a的转置matrixpowera,n 求矩阵a的n次方matrixexpa 求矩阵a的幂,即eatra 求矩阵求矩阵a的迹,即对角线元素的和的迹,即对角线元素的和 当然,有些数学上的限制,使得执行矩阵运算命令时会产生警告或错误信息。例如一个矩阵可能本身没有逆矩阵,而我们却对它进行invrse运算, mathematics会提示错误信息。 另外,对一个行向量或列向量进行transpose运算,mathematica会提示错误信息。如果对1n或n1矩阵进行t

22、ranspose运算,则不会发生这类问题。 a1,a2,an 1n矩阵 a1, a2,an n1矩阵 矩阵元素的操作命令矩阵元素的操作命令 mathematica还提供了一些命令用以删除矩阵的行或列,或者将具有相同行数的矩阵组合成一个新的矩阵。因为这些命令属于内部命令,所以在调用它们之前须先加载linearalgebrmatrixmanipulation函数库。矩阵基本操作命令(一)矩阵基本操作命令(一) appendcolumnsm1, m2, 以列方式合并矩阵m1, m2, appendrowsm1, m2, 以行方式合并矩阵m1, m2, bolckmatrixblocks 将多个矩阵b

23、locks重新组成一 个 新的矩阵 矩阵基本操作命令(二)矩阵基本操作命令(二) takecolumnsm,n 提取矩阵m的前n列 takecolumnsm,-n 提取矩阵m的倒数第n列 takecolumnsm, n1,n2 提取矩阵m第n1列到第n2列 takerowsm,n 提取矩阵m的前n行 takerowsm,-n 提取矩阵m的倒数第n行 takerowsm, n1, n2 提取矩阵m第n1行到第n2行 submatrixm, pos,dim 从m的pos位置开始,提取维 度为 dim的子矩阵 1.2.4 矩阵初等行变换矩阵初等行变换所谓的基本行运算是指下面的三种运算方式: (1)

24、用一个非零的常数乘以矩阵的某一行. (2)将矩阵的任意两行互换。 (3) 将某一行乘以某个常数之后再与另一行相加。用mathematica进行初等行变换,需要四个命令 agumenta, b 扩展矩阵a:b addrowa, r1, r2, m 将矩阵a的r1行乘以m, 再与a的 r2行相加 mulrowa,r,m 将矩阵a的第r列乘以m swaprowa, r1, r2 将矩阵a的第r1行与第r2行互换 用初等行变换既可解线性方程组,又可求矩阵的逆。 如果想快速求得矩阵如果想快速求得矩阵a的简约行梯形矩的简约行梯形矩阵,可用阵,可用rowreduce命令。命令。 rowreducea 将矩阵

25、a化成简约行梯形矩阵 1.2.5 行列式行列式 deta 计算矩阵a的行列式 minors 计算ann的子行列式,其中第i,j 个元素元素是移去第n-i+1列与n-j+1 行之后的行列式. mapreverse, minorsa,0,1 同上,但第i,j个元 素是移去第i列与第 j行所得行列式的值 代数余子式cij=(-1)i+jmapreverse, minorsm, 0,1i,j矩阵a的伴随矩阵:adjointa_:=transposecofactora利用伴随矩阵可求得a的逆矩阵:adjointa/deta/matrixform1.2.6 特征值与特征向量特征值与特征向量 mathematica 所提供的eigenvalueseigenvectors与eigensystem命令可以方便地求出矩阵a的特征值与特征向量。 eigenvaluesa 求矩阵a的特征值 eigenve

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论