1、123F表是由一些元素聚集成的一个整体表是由一些元素聚集成的一个整体F形式形式:,4F 表可以参与数学函数运算表可以参与数学函数运算 函数作用到表中的每一个元素上函数作用到表中的每一个元素上 运算后还是一个表运算后还是一个表【问题问题】%5*%5=?5FRangen生成生成1,2,n Rangem,n生成生成m,n Rangem,n,步长步长 n,m为为整整数数6FTableexpr,expr 表元素的表元素的通项通项表示,可运算表示,可运算 表的生成方式表的生成方式“循环描述循环描述”一般一般var,num1,num2,divar,num1,num2var,numnum7产生一个产生一个0到
2、到1之间的之间的随机实数随机实数Random数型数型,区间区间8非表!非表!9FArrayf,n表元素是函数表元素是函数f分别作用到分别作用到1,2,n上的值上的值Arrayf,n1,n2,n为为整整数数10FArrayf,n1,n2,ini1,ini2,生成生成一个一个n1 n2 表,表,其中其中inii为为ni的初始值的初始值(缺省为(缺省为1)11FNestList函数函数f,初值初值x,递推次数递推次数n 生成生成x,fx,ffx,有有n+1个元素个元素Nest函数,表达式,n12In1:=Nest f,x,3O ut1=f f f x与Nest有关的函数nFixedPointf,xn
3、Foldf,x,a,b,给出ffx,a,b13nFoldList同样可以用来生成列表nSelect列表,逻辑判断可以从列表中选取满足逻辑判断的子列表14Map(/)Mapf,expr or fexprapplies f to each element on the first level in expr.Mapf,expr,levelspecapplies f to parts of expr specified by levelspec.Apply()Applyf,expror fexpr replaces the head of expr by f.Applyf,expr,levelspe
4、creplaces heads in parts of expr specified by levelspec.前缀(Prefix)fx即fx,fgx即fgx后缀(Postfix)/x/f即fx如果自变量为多个,利用Sequence函数嵌入(Infix)xfyfz即fx,y,z,15FLengthlist表表list的的长度长度FCountlist,pattlist中中patt出现的出现的次数次数FPositionlist,patt list中中patt出现的出现的位置位置FMemberQlist,patt 测试测试patt 是否是是否是list中的中的元素元素FVectorQlist测试测试
5、list是否有向量结构是否有向量结构FMatrixQlist测试测试list是否有矩阵结构是否有矩阵结构1617FFristlist取出取出list的第一个元素的第一个元素FLastlist取出取出list的最后一个元素的最后一个元素Flistn取出取出list中的第中的第n个元素个元素Flist-n取出取出list中倒数第中倒数第n个元素个元素18深层次深层次和和组合组合提取提取19取出一部分的操作:取出一部分的操作:FTakelist,n从从list中拿出前中拿出前n个元素做成的个元素做成的一表一表FTakelist,m,n 从从list中拿出第中拿出第m到第到第n个元个元 素做成的一表素
6、做成的一表FRestlist从从list去掉第一个元素后的表去掉第一个元素后的表FDroplist,n得到的表比原表少前得到的表比原表少前n个元素个元素20FPrependlist,expr把把expr放在放在list最前最前FAppendlist,expr 把把expr放在放在list最后最后FInsertlist,expr,n把把expr插入插入list中的第中的第n个个位置位置21FPlusa1,an把把a1,an全部全部相加相加FTimesa1,an 把把a1,an全部全部相乘相乘等效命令等效命令:Plusa1,anApplyPlus,list Timesa1,an ApplyTime
7、s,list 其中其中lista1,an22排列组合、集合的交、并、余等运算排列组合、集合的交、并、余等运算向量和矩阵的表示向量和矩阵的表示例例 求求300以内既形如以内既形如3k+7,又形如,又形如5k+2的数字集合的数字集合23Join合并InterSection(ESC+inter+ESC)交集Union(ESC+un+ESC)并集Complement余 Tally统计元素个数Sort排序Entropy熵Mean平均值24一层表一层表作为向量作为向量两层表两层表作为矩阵作为矩阵行向量的向量行向量的向量1.矩阵的生成矩阵的生成FArraya,m,n FTable a,i,m,j,n 生成一
8、个生成一个m n 的矩阵,矩阵元为的矩阵,矩阵元为aij25 两个特殊矩阵的生成两个特殊矩阵的生成FIdentityMatrix nn阶单位阵阶单位阵FDiagonalMatrix list生成一生成一n阶对角阵,阶对角阵,对角元依次为表的元素对角元依次为表的元素2.输出格式输出格式FMatrixFormmat把把mat输出一矩阵输出一矩阵形式形式FColumnFormvec把把vec输出一列输出一列263.矩阵内部元素的提取矩阵内部元素的提取Fai,j矩阵矩阵a的矩阵元的矩阵元aijFai矩阵矩阵a的第的第i行行FTransposeaj矩阵矩阵a的第的第j列列FTakea,i1,i2,j1,
9、j2矩阵矩阵a的第的第i1到到i2行行,第第j1到到j2列的子矩阵列的子矩阵aRangei1,i2,Rangej1,j227【问题问题】B3,2=?2829快捷键:加行Ctrl+Enter加列Ctrl+,3031321.矩阵的集合形式矩阵的集合形式如如 a,b,c,d2.矩阵的常规形式矩阵的常规形式如如 11122122aaaa333.矩阵形式的转换矩阵形式的转换FInputm矩阵矩阵m的输入形式(默认)的输入形式(默认)FOutputm矩阵矩阵m的输出形式(默认)的输出形式(默认)FMatrixFormm矩阵矩阵m的常规形式的常规形式FTableFormm矩阵矩阵m的表形式的表形式FCFor
10、mm矩阵矩阵m的的C语言形式语言形式FFortranFormm矩阵矩阵m的的Fortran形式形式FTexFormm矩阵矩阵m的的Tex形式形式34Fk a数数k与向量与向量a的数乘的数乘Fa.b 或或 Dota,b 向量向量a和和b的的点积点积FSqrtApplyplus,a2向量向量a的的模模FCrossa,b向量向量a和和b的的叉积叉积FDota,Cross b,c混合积混合积 Dota,bInnerTimes,a,b 内积内积 Crossa,bOuterTimes,a,b 外积外积KroneckerProducta,b直积直积352412,3311,夹已已知知向向量量求求 ,与与的的角
11、角 36利用直积构造密度矩阵利用直积构造密度矩阵In283:=16,26,26Expand KroneckerProduct,Conjugate;MatrixFormOut283=16,13,26Out285/MatrixForm=1613261321321313326132133212CalculusVectorAnalysisn可以方便的计算梯度、散度、旋度等矢量分析n可以方便改变坐标系统3738FDetm 矩阵的行列式矩阵的行列式FInversem 矩阵的逆矩阵的逆FTransposem 矩阵的转置矩阵的转置FTrm矩阵的迹矩阵的迹FDimensionsm 矩阵的维数矩阵的维数FMatr
12、ixPowerm矩阵的矩阵的n次幂次幂FMatrixExpm 矩阵的指数矩阵的指数FMatrixRankm 矩阵的秩矩阵的秩nPseudoInverse广义逆广义逆n SingularValueList奇异值奇异值nNormm,p范数范数3940F加法加法 “+”F减法减法 “”F数乘矩阵数乘矩阵k A或或k*AF乘法乘法 “.”或或 Dot,注意:注意:“.”或或 Dot,也是矩阵和矢量也是矩阵和矢量的乘积运算的乘积运算【问题问题】如何区分行向量和列向量如何区分行向量和列向量?41增加行增加行增加列增加列4251086131131341598A设例例61,AAA求43放在运算放在运算命令最后
13、,命令最后,会给出结会给出结果的矩阵果的矩阵形式形式44例例 求矩阵求矩阵A的伴随矩阵的伴随矩阵输入输入 coA=DetA*InverseA 即可!即可!12352461023085309Adet0A 45问题:如果问题:如果DetA0,怎么办怎么办?输入:输入:yA=A+y IdentityncoA=DetyA*InverseyA/.y-0 使得使得 DetyA0n为为A的阶的阶4647注:对符号矩阵,不必采用这种方法,直接计算注:对符号矩阵,不必采用这种方法,直接计算48FNullSpaceA 求求Ax=0的基础解系的基础解系FLinearSolveA,a 求求Ax=a的特解的特解Inve
14、rseA.aFRowReduceA将将A化为最简形式化为最简形式Axa491234123412343033405980 xxxxxxxxxxxx求求的的基基础础解解系系和和通通解解501234123412343133445986xxxxxxxxxxxx例例求求的的全全部部解解51*782111c,8101820ccR方方程程组组全全部部解解为为5212341234123341222320 xxxxxxxxxxx 例Axa5354 对比对比Solve、LinearSolve、Inverse(1)当方程存在当方程存在唯一解唯一解时,三种方法等价时,三种方法等价(2)系数矩阵系数矩阵不是方阵不是方阵
15、即使方程有解,即使方程有解,Inverse失效,失效,Solve给出通解,给出通解,LinearSolve给出特解给出特解(3)当方程当方程无解无解时,时,Solve给出空集解,给出空集解,LinearSolve指出无解指出无解,Inverse失效失效55 RowReduceA将将A化为最简形化为最简形,从而判,从而判定构成矩阵;定构成矩阵;A的向量组的线性相关性、求出的向量组的线性相关性、求出向量组的最大无关组、向量在基下的坐标等向量组的最大无关组、向量在基下的坐标等1231232390360 xxxxxx例例系数矩阵为系数矩阵为 2,3,-9,3,6,-15613231702503xxxx
16、化简后的方程与原方程化简后的方程与原方程等价等价,但更简单,但更简单RowReduce的优势所在的优势所在【问题问题】对比对比RowReduce和和NullSpace 57123(1,2,1)(0,3,1)(2,1,3)线关判判定定向向量量组组的的性性相相性性结论:结论:A的最简形中非零行的个数为的最简形中非零行的个数为3,知向,知向量组是线性无关的量组是线性无关的5812345(1,2,1,3),(0,6,3,1)(3,2,1,3),(1,1,1,1),(0,4,5,6)求求以以下下向向量量组组的的一一个个最最大大无无关关组组,并并线线性性表表示示其其余余向向量量1234,为一最大无关组51
17、23413747111183015101559FEigenvaluesA求矩阵求矩阵A的特征值的特征值FEigenvectorsA求矩阵求矩阵A的特征向量的特征向量FEigensystemA 同时给出矩阵同时给出矩阵A的所有特征的所有特征值与特征向量值与特征向量60121 121042A 的特征值与特征向量的特征值与特征向量例 求例 求6162111242335A?能能否否与与对对角角矩矩阵阵相相似似 因因A的线性无关特征向量个数等于其阶数,故矩的线性无关特征向量个数等于其阶数,故矩阵阵A相似于对角矩阵相似于对角矩阵 63二次型的标准形,判定是否正定二次型的标准形,判定是否正定 f 的标准形为
18、的标准形为f=-y12-y22+2y32.由于由于f的特征值不的特征值不都大于零,故都大于零,故f不正定不正定323121321222),(xxxxxxxxxf 64 一个粒子放在平面上的某一点(这点可作为一个粒子放在平面上的某一点(这点可作为原点)。设该粒子单位时间随机移动一步,这原点)。设该粒子单位时间随机移动一步,这一步在一步在x,y两个方向上分解的值都在两个方向上分解的值都在1和和1之之间,作一个图显示该粒子的轨迹。间,作一个图显示该粒子的轨迹。65In305:=rdmp_:pRandomReal1,1,RandomReal1,1GraphicsLine NestList rdm,0.,0.,100,AxesTrue,TrueOut306=32112354321166In357:=rdmp_:pRandomReal1,1,RandomReal1,1Graphics Line NestList rdm,0.,0.,3000,AxesTrue,TrueOut358=403020101020201010