Mathematica参考 jypan@mathecnu 一、Mathematica基础 1基本语法规则 1.1 Mathematica中的一些常用符号 12命令和语句的执行方式 2 Mathematica中的数与基本运算 2.1 Mathematica常用内部常数 2.2 Mathematica中数的类型 2.3 Mathematica中的精确数与近似数 24关于数的一些基本运算 2.5不同进制的数的转换 3基本运算 3.1算术运算 3.2关系运算与逻辑运算 4变量与表达式 4.1变量 4.2表达式 4.3变量操作」 5字符串 5.1字符串操作 6列表. 6.1列表的生成 62列表分量. 6.3列表修改 6.4列表运草 7矩阵 6 7.1矩阵的生成 .6 72特殊矩阵. 6 7.3矩阵分量 .6 7.4矩阵运算 8函数 8.1常用初等函数 8.2随机函数 83自定义函数 二、符号计算 0 1多项式运算. 10 2代数方程求解 10 3微分方程求解 .10 4级数运算 10 5计算极限 10 6计算导数 10 7计算积分 .10 三、作图 1二维曲线做图 .11 1.1函数作图 11 12参数方程作图 12
i Mathematica 参考 jypan@mathecnu 一、Mathematica 基础.....................................................................................................................1 1 基本语法规则.......................................................................................................................1 1.1 Mathematica 中的一些常用符号...............................................................................1 1.2 命令和语句的执行方式.............................................................................................1 2 Mathematica 中的数与基本运算..........................................................................................1 2.1 Mathematica 常用内部常数.......................................................................................1 2.2 Mathematica 中数的类型...........................................................................................1 2.3 Mathematica 中的精确数与近似数...........................................................................2 2.4 关于数的一些基本运算.............................................................................................2 2.5 不同进制的数的转换.................................................................................................2 3 基本运算...............................................................................................................................2 3.1 算术运算.....................................................................................................................2 3.2 关系运算与逻辑运算.................................................................................................3 4 变量与表达式.......................................................................................................................3 4.1 变量............................................................................................................................3 4.2 表达式........................................................................................................................3 4.3 变量操作.....................................................................................................................3 5 字符串...................................................................................................................................3 5.1 字符串操作................................................................................................................4 6 列表.......................................................................................................................................4 6.1 列表的生成................................................................................................................4 6.2 列表分量....................................................................................................................4 6.3 列表修改....................................................................................................................5 6.4 列表运算....................................................................................................................5 7 矩阵.......................................................................................................................................6 7.1 矩阵的生成................................................................................................................6 7.2 特殊矩阵....................................................................................................................6 7.3 矩阵分量....................................................................................................................6 7.4 矩阵运算....................................................................................................................7 8 函数.......................................................................................................................................8 8.1 常用初等函数............................................................................................................8 8.2 随机函数....................................................................................................................9 8.3 自定义函数................................................................................................................9 二、符号计算.................................................................................................................................10 1 多项式运算.........................................................................................................................10 2 代数方程求解.....................................................................................................................10 3 微分方程求解.....................................................................................................................10 4 级数运算.............................................................................................................................10 5 计算极限.............................................................................................................................10 6 计算导数.............................................................................................................................10 7 计算积分.............................................................................................................................10 三、作图.........................................................................................................................................11 1 二维曲线做图.....................................................................................................................11 1.1 函数作图...................................................................................................................11 1.2 参数方程作图...........................................................................................................12
1.3极坐标方程作图 12 1.4散点作图. .12 2三维曲线做 3三维曲 程作图 2参数方程作图 33球坐标作图 4图形的重现与组合。 14 5动画 15 四、程序设计
ii 1.3 极坐标方程作图.......................................................................................................12 1.4 散点作图...................................................................................................................12 2 三维曲线做图.....................................................................................................................13 2.1 参数方程作图...........................................................................................................13 3 三维曲面做图.....................................................................................................................13 3.1 函数作图...................................................................................................................13 3.2 参数方程作图...........................................................................................................14 3.3 球坐标作图...............................................................................................................14 4 图形的重现与组合.............................................................................................................14 5 动画.....................................................................................................................................15 四、程序设计.................................................................................................................................15
一、Mathematica基础 1基本语法规则 ①所有命令和内置函数都是以大写字母开始 函数的参数是在方括号中给出 ③乘法运算符可以用空格代替(不建议这么做) ④内置的函数名通常都很长,使用函数的名字的全拼 ⑤输入和输出标识符:n=和Outn= 1.1 Mathematica中的一些常用符号 (0 运算的结合 最后一次的计算结果 fT1 函数取值 % 倒数第一次计算结果 0 列表 (k) 倒数第k次计算结果 [[k]] 列表的分量 k 第k次计算结果,即Ouk] !cmd 执行D0s命令 (*comments*) 注解 !!filename 显示文件的内容 Print[x,y-】 屏幕输出函数 ?name 显示系统变量、命令或函数的相关信总 ?>name 显示系统变量、命今或函数的全部信日 1.2命令和语句的执行方式 ①命令或语句输入结束后按Shin+Enter(简称执行键)即可执行: ②运行多个语句:输入全部语句后再按执行键: 运行结果:在语句后面加分号: 长语句可以分多 输入, 直接按回车键换行即可。 2 Mathematica中的数与基本运算 Mathematica中的数分普通的数和内部常数。 2.1 Mathematica常用内部常数 Degree 角度到度的转换系数 Pi/180 自然对数的底,2.71828 EulerGamma Ee常数m(1+++lnn=05727 GoldenRatio 黄金分制数1+⑤ 虚部单位 Infinity pi 圆周幸 2.2 Mathematica中数的类型 Mathematica的数有:整数、有理数、实数和复数: ①整数:Integer,具有任意长度的精确数: 图实数:R,是指除了整数和有理数之外的所有实数。“与一般高级语音不同的是,这里 有理数:Rational, 用最简分数表示,有理数是精确数,输入方式“分子分母
1 一、Mathematica 基础 1 基本语法规则 ① 所有命令和内置函数都是以大写字母开始 ② 函数的参数是在方括号中给出 ③ 乘法运算符可以用空格代替(不建议这么做) ④ 内置的函数名通常都很长,使用函数的名字的全拼 ⑤ 输入和输出标识符:In[n]:= 和 Out[n]= 1.1 Mathematica 中的一些常用符号 () 运算的结合 % 最后一次的计算结果 f[] 函数取值 %% 倒数第二次计算结果 {} 列表 %%%(k) 倒数第 k 次计算结果 [[k]] 列表的分量 %k 第 k 次计算结果,即 Out[k] !cmd 执行 Dos 命令 (*comments*) 注解 !!filename 显示文件的内容 Print[x,y,...] 屏幕输出函数 ?name 显示系统变量、命令或函数的相关信息 ??name 显示系统变量、命令或函数的全部信息 1.2 命令和语句的执行方式 ① 命令或语句输入结束后按 Shift + Enter (简称执行键)即可执行; ② 运行多个语句:输入全部语句后再按执行键; ③ 如果不需要显示运行结果:在语句后面加分号; ④ 命令(语句)分隔符:回车或分号; ⑤ 长语句可以分多行输入,直接按回车键换行即可。 2 Mathematica 中的数与基本运算 Mathematica 中的数分普通的数和内部常数。 2.1 Mathematica 常用内部常数 Degree 角度到弧度的转换系数,Pi/180 E 自然对数的底,2.71828… EulerGamma Euler 常数 1 1 lim 1 ln 0.577217... n 2 n → n + + + − = GoldenRatio 黄金分割数 ( ) 1 1 5 2 + I 虚部单位 Infinity 无穷大 Pi 圆周率 2.2 Mathematica 中数的类型 Mathematica 的数有:整数、有理数、实数和复数: ① 整数:Integer,具有任意长度的精确数; ② 有理数:Rational,用最简分数表示,有理数是精确数,输入方式“分子/分母”; ③ 实数:Real,是指除了整数和有理数之外的所有实数。与一般高级语言不同的是,这里
的实数分任意精度和机器精度: ④复数:Complex,带虚数单位I,实部和虚部可以是整数、有理数或实数。 2.3 Mathematica中的精确数与近似数 ①精确数:整数、有理数、数学常数以及函数在自变量取整数、有理数、数学常数时的函 数值:如12,2/3,Sim3,Pi ②近似数:带有小数点的数:如12.0,3.14159 ③如果参与运算的数带有小数点,则运算结果通常为近似数,显示的时候带6位有效数字, 实际计算时具有机器精度。 2.4关于数的一些基本运算 N[x,n] 提取x的近似值,带n位有效数字 N[x] 提取x的近似值,机器精度 Floor[x] 取整:不大于x的最大整数 ceil[x] 取整:不小于x的最小整数 Round[x] 取整:四舍五入 Precision[expr] 查看表达式计算结果的精度 IntegerPart[x] 提取x的整数部分 FractionalPart[x] 提取x的小新部分 2.5不同进制的数的转换 b0xxXx 输入一个b进制数,2≤b≤36,并输出相应的十进制数 BaseForm[x,b] 十进制数x的b进制表示 Integerstring[x,b] 十进制数x的b进制表示,写成字符串形式 FromDigits["str"] 从数字字符串中构造一个整数 FromDigits[list] 从十进制数字列表中构造 个整 FromDigits[1ist,b]从b进制数字列表中构造一个整数 IntegerDigits[x,b】十进制数x的b进制数字列表 3基本运算 3.1算术坛算 + 加、减 乘、除 矩阵乘积 A 运算优先级 */ 运算后赋值 ++ 自加1、自减1 由 阶乘、双阶乘 到 0 运算的结合 高 不同类型的数参与运算, 运算结果的类型为: 但有实数,则计算结果为实数类型: 2
2 的实数分任意精度和机器精度; ④ 复数:Complex,带虚数单位 I,实部和虚部可以是整数、有理数或实数。 2.3 Mathematica 中的精确数与近似数 ① 精确数:整数、有理数、数学常数以及函数在自变量取整数、有理数、数学常数时的函 数值;如 12,2/3,Sin[3],Pi ② 近似数:带有小数点的数;如 12.0,3.14159 ③ 如果参与运算的数带有小数点,则运算结果通常为近似数,显示的时候带6位有效数字, 实际计算时具有机器精度。 2.4 关于数的一些基本运算 N[x,n] 提取 x 的近似值,带 n 位有效数字 N[x] 提取 x 的近似值,机器精度 Floor[x] 取整:不大于 x 的最大整数 Ceil[x] 取整:不小于 x 的最小整数 Round[x] 取整:四舍五入 Precision[expr] 查看表达式计算结果的精度 IntegerPart[x] 提取 x 的整数部分 FractionalPart[x] 提取 x 的小数部分 2.5 不同进制的数的转换 b^^xxxx 输入一个 b 进制数, 2 36 b ,并输出相应的十进制数 BaseForm[x,b] 十进制数 x 的 b 进制表示 IntegerString[x,b] 十进制数 x 的 b 进制表示,写成字符串形式 FromDigits["str"] 从数字字符串中构造一个整数 FromDigits[list] 从十进制数字列表中构造一个整数 FromDigits[list,b] 从 b 进制数字列表中构造一个整数 IntegerDigits[x,b] 十进制数 x 的 b 进制数字列表 3 基本运算 3.1 算术运算 + - 加、减 运 算 优 先 级 由 低 到 高 * / 乘、除 . 矩阵乘积 ^ 幂 += -= *= /= 运算后赋值 ++ -- 自加 1、自减 1 ! !! 阶乘、双阶乘 () 运算的结合 不同类型的数参与运算,其运算结果的类型为: ① 如果有复数,则计算结果为复数类型; ② 如果没有复数,但有实数,则计算结果为实数类型;
③如果没有复数和实数,但有分数,则计算结果为有理数类型: ④如果只有整数,则计算结果为整数类型或有理数类型。 3.2关系运算与逻辑运算 > 比较运算 X1=x2=x3=: 全部相等 x11=x21=x31=., 两两不等 acba,y->b,…} 变量替换(注:变量本身没有被赋值) 建议:使用变量前先 青除其中的内 果该 代数中的数学符号:在命令或程序中出现的变量名,如 导和 则用该变量所赋的值参与对应数学公式的推导和运算。因此,如 果用户在做符号运算时,所使用的符号变量己经被赋值,则会出现意想不到的错误。 5字符串 字符串:用双引号括起来的字符序列。 3
3 ③ 如果没有复数和实数,但有分数,则计算结果为有理数类型; ④ 如果只有整数,则计算结果为整数类型或有理数类型。 3.2 关系运算与逻辑运算 >= == != 比较运算 x1 == x2 == x3 == ... 全部相等 x1 != x2 != x3 !=... 两两不等 ac 等价于 (ac) 4 变量与表达式 4.1 变量 ① 变量名通常以字母开头,后面跟字母、数字、下划线,不能含空格; ② 变量名的长度不限; ③ 变量名区分大小写; ④ 变量名中也可以包含希腊字母或中文,如“数学”,“码头”; ⑤ 变量名不能以数字开头,否则将理解成数字与变量的乘积;如 3ab 等价于 3*ab ⑥ 用户定义变量时,建议使用小写字母,以免与系统内置函数重名; ⑦ 变量不必事先声明,其类型可以不断改变,取决于其所存数据的类型。 4.2 表达式 ① Mathematica 中几乎所有对象都是表达式; ② 基本表达式有:算术表达式,关系表达式,逻辑表达式; 4.3 变量操作 x=expr 变量赋值 Unset[x] 或 x=. 清除变量的值 Print[x1,x2,...] 打印变量的值 Clear[x1,x2,...] 清除变量 expr/.{x->a,y->b,...} 变量替换(注:变量本身没有被赋值) 建议:使用变量前先清除其中的内容 Mathematica 中的变量名还可以用作代数中的数学符号:在命令或程序中出现的变量名,如 果该变量名所代表的变量没有被赋值,则它就作为一个数学符号参与数学公式的推导和运 算;如果该变量被赋值了,则用该变量所赋的值参与对应数学公式的推导和运算。因此,如 果用户在做符号运算时,所使用的符号变量已经被赋值,则会出现意想不到的错误。 5 字符串 字符串:用双引号括起来的字符序列
5.1字符串操作 Characters[str] 转化为字符列表 StringJion[str1,str2,...] 学符由合并 stri <str2 <.. 字符串合并 StringLength[str] 打印变量的值 Stringsplit[str】 根据空白字符分隔字符串 ToExpression[str] 转化为表达式 ToString[exprl 将表达式转化为字符串 6列表 ①是Mathematica的基本对象,可用来表示集合,数组等: ②可分为标准列表和稀疏列表: ③标准列表:用大括号括起来的有限个元素,元素之间用逗号分隔: 列表 常由 列表可以嵌 ⑥当函数作用在列表上时,采用的是数组运算,即作用在每个分量上。 6.1列表的生成 {x1,x2,…} 枚举法,直接输入 Array[f,n] 生成一维列表{f[1],f[2],,f[n] Array[f,(n1,n2,...}] 生成多维列表,千为函数 Range[a,b,h] 生成一个等差数列构成的列表:a为首项,h为公 差,最后一项不超过b:a和h的缺省值为1 Table[expr,{n】 生成n元列表{expr,expr,.·,expr】 Table[expr,(i,a,b,h}] (exprli在Range[a,b,h]中变化) Table[expr,{i,list]] (exprli在1ist中变化,expr为通项公式 RandomInteger[range,n] 生成n个伪随机整数列表,range表示范用 RandomReal[range,n] 生成n个伪随机实数列表,n的缺省值为1 6.2列表分量 list[[k]] 列表1ist的第k个分量 1ist[-kJ刃 倒数第k个分量 list[[i]][[j]] 第1个分量的第1个分量(嵌套列表) list[[i,j]] 第1个分量的第j个分量(嵌套列表) 1ist[[{i,j,...}]] 11st[[i]],1ist[[j]1,...} Firstrlist],Lastrlist] 第一个和最后一·个分量 Take[list,k],Take[list,-k] 前k个和最后k个分园 Takeflist,fill 1ist[「i11 Take[list,{i,j}] (list[[i]],list[[i+1]] ...list[j]) Take[list,(i,j,h}] {1ist[i],1ist[i+h],·】(步长为h) list[[i;;j;;h]] 同上,h可以省略,缺省值为1
4 5.1 字符串操作 Characters[str] 转化为字符列表 StringJion[str1,str2,...] 字符串合并 str1 <> str2 <> ... 字符串合并 StringLength[str] 打印变量的值 StringSplit[str] 根据空白字符分隔字符串 ToExpression[str] 转化为表达式 ToString[expr] 将表达式转化为字符串 6 列表 ① 是 Mathematica 的基本对象,可用来表示集合,数组等; ② 可分为标准列表和稀疏列表; ③ 标准列表:用大括号括起来的有限个元素,元素之间用逗号分隔; 稀疏列表:通常由 SparseArray 来定义; ④ 列表中的元素可以是不同类型的任意 Mathematica 对象; ⑤ 列表可以嵌套,形成多维列表,如矩阵; ⑥ 当函数作用在列表上时,采用的是数组运算,即作用在每个分量上。 6.1 列表的生成 {x1,x2,...} 枚举法,直接输入 Array[f,n] 生成一维列表{f[1],f[2],...,f[n]} Array[f,{n1,n2,...}] 生成多维列表,f 为函数 Range[a,b,h] 生成一个等差数列构成的列表:a 为首项,h 为公 差,最后一项不超过 b;a 和 h 的缺省值为 1 Table[expr,{n}] 生成 n 元列表 {expr, expr, ... , expr} Table[expr,{i,a,b,h}] {expr|i 在 Range[a,b,h]中变化} Table[expr,{i,list}] {expr|i 在 list 中变化},expr 为通项公式 RandomInteger[range,n] 生成 n 个伪随机整数列表,range 表示范围 RandomReal[range,n] 生成 n 个伪随机实数列表,n 的缺省值为 1 6.2 列表分量 list[[k]] 列表 list 的第 k 个分量 list[[-k]] 倒数第 k 个分量 list[[i]][[j]] 第 i 个分量的第 j 个分量(嵌套列表) list[[i,j]] 第 i 个分量的第 j 个分量(嵌套列表) list[[{i,j,...}]] {list[[i]],list[[j]], ... } First[list], Last[list] 第一个和最后一个分量 Take[list,k], Take[list,-k] 前 k 个和最后 k 个分量 Take[list,{i}] {list[[i]]} Take[list,{i,j}] {list[[i]],list[[i+1]], ..., list[j]} Take[list,{i,j,h}] {list[[i]],list[[i+h]], ... } (步长为 h) list[[i;;j;;h]] 同上,h 可以省略,缺省值为 1
6.3列表修改 Drop[list,{k}] 刑除第k个分量 Drop[list,k] 除前k个分量 Drop[1ist,-k幻 删除最后k个分量 Drop[list,{i,j,h}] 删除1ist「[i11,1ist[「i+h11 Rest[list] 刑除第一个分量 Most[list] 删除最后一个分量 Delete[list,k] 刑除第k个分量 Delete[list,-k] 刑除倒数第k个分量 Deleterlist fii. ..] 刑除11st「「1,1...11 Delete[list,({i1,j1, ,《i2,j2,…}] 删除多个分量 Insert[list,x,k] 在第k个位置插入X Prepend[list,xl 将x插入到1ist的最前面 PrependTo[list,x] 将×插入到115t的最前面,并将结果赋给115t Append[list,x] 将x插入到1ist的最后面 AppendTo[list,x] 将×插入到1ist的最前面,并将结果赋给1ist 6.4列表运算 sort[list] 从小到大排列 Sort[1ist,p】 用排序函数P对元素排序 Sort[1ist,f】 排序方式根据F应用到每个元素的结果 Ordering[list] 列表1ist中元素按Sont「1ist1顺序排列的位置 Ordering[list,n] 列表中前n个元素按Sot[1ist]顺序排列的位置 orderingrlist.-nl 列表中后n个元素按Sort[1ist]顺序排列的位置 Ordering[list,n,p] 列表中前n个元素按Sort[1ist,p]排列的位置 Length[list] 列表1ist中元素的个数 Reverserlistl 将列表中的元素反时来排 Permutations[list] 列表中所有元素的所有排列 Permutations[list,n] 列表中不超过个元素的所有排列 Permutations[list,(n}] 列表中门个元素的所有排列 MemberQ[list,a] 判断a是否在列表中 Subset[list] 列表的所有子共 Subset[list,n] 列表的所有不超过n个元素的子集 Subset[list,{n}] 列表的所有含n个元素的子集 Flatten[listl 悠列光压缩为堆老 Partition[a,n】 将列表拆分成若干长度为n的子列表 Partition[a,{nl,n2,.)]将列表拆分成nl×n2x..大小的字块 Union[list1,list2,. 合并列表并排序,副除重复元素 Intersection[al,a2,...] 计算交集并排序,别除重复元素 Apply[Plus,list] 计算列表中所有元素的和 5
5 6.3 列表修改 Drop[list,{k}] 删除第 k 个分量 Drop[list,k] 删除前 k 个分量 Drop[list,-k] 删除最后 k 个分量 Drop[list,{i,j,h}] 删除 list[[i]],list[[i+h]], ... Rest[list] 删除第一个分量 Most[list] 删除最后一个分量 Delete[list,k] 删除第 k 个分量 Delete[list,-k] 删除倒数第 k 个分量 Delete[list,{i,j, ...}] 删除 list[[i,j,...]] Delete[list,{{i1,j1, ...}, {i2,j2,...}, ...}] 删除多个分量 Insert[list,x,k] 在第 k 个位置插入 x Prepend[list,x] 将 x 插入到 list 的最前面 PrependTo[list,x] 将 x 插入到 list 的最前面,并将结果赋给 list Append[list,x] 将 x 插入到 list 的最后面 AppendTo[list,x] 将 x 插入到 list 的最前面,并将结果赋给 list 6.4 列表运算 Sort[list] 从小到大排列 Sort[list,p] 用排序函数 p 对元素排序 Sort[list,f] 排序方式根据 f 应用到每个元素的结果 Ordering[list] 列表 list 中元素按 Sort[list] 顺序排列的位置 Ordering[list,n] 列表中前 n 个元素按 Sort[list] 顺序排列的位置 Ordering[list,-n] 列表中后 n 个元素按 Sort[list] 顺序排列的位置 Ordering[list,n,p] 列表中前 n 个元素按 Sort[list,p] 排列的位置 Length[list] 列表 list 中元素的个数 Reverse[list] 将列表中的元素反过来排列 Permutations[list] 列表中所有元素的所有排列 Permutations[list,n] 列表中不超过 n 个元素的所有排列 Permutations[list,{n}] 列表中 n 个元素的所有排列 MemberQ[list,a] 判断 a 是否在列表中 Subset[list] 列表的所有子集 Subset[list,n] 列表的所有不超过 n 个元素的子集 Subset[list,{n}] 列表的所有含 n 个元素的子集 Flatten[list] 将列表压缩为一维列表 Partition[a,n] 将列表拆分成若干长度为 n 的子列表 Partition[a,{n1,n2,,...}] 将列表拆分成 n1n2...大小的字块 Union[list1,list2,...] 合并列表并排序,删除重复元素 Intersection[a1,a2,...] 计算交集并排序,删除重复元素 Apply[Plus,list] 计算列表中所有元素的和
ApplyITimes.list] 计算列表中所有元素的乘积 Total[list] 计算列表中所有元素的和 7矩阵 向量是一维列表,矩阵是二维列表 7.1矩阵的生成 矩阵可以通过Aray,Table等函数生成。 Array[函数名,变量取值范围] Arraylf.nl 生成长度为n的向量{f[1],f[2],,f[n]} Array[f,(m,n】 生成mxn的矩阵,元素为f[i,] Tab1e[通项公式,(循环苑范围},,] Table[expr,(i,a,b,h}] 生成向量{exprli=a:h:b】 Array[expr,{i,a1,bi,hi),{j,a2,b2,h2)] 生成mxn的矩阵 注:Table中的循环范围的一般表示方法为 (i,a,b,h} i从a到b,步长为h,最后一项不超过b {,a,b} 步长缺省为1 {i,b} 首项缺省为1 } 面复k次 7.2特殊矩阵 IndentityMatrix[n] n阶单位矩阵 ConstantArray[c,fm,n}] 常数矩阵:a,=c DiagonalMatrix[list] 以列表115t中的元素为对角线的对角矩阵 HilbertMatrix[n] n阶Hilbert矩阵 mxn的Hilbert矩阵 ToeplitzMatrix[n] n阶Toeplitz矩阵:a,=i-j川+1 ToeplitzMatrixrlistl 以1ist的元素为第一列的对称Toeplitz矩阵 ToeplitzMatrix[list1,list2] 指定第一列和第一行的Toeplitz矩阵 HankelMatrix[n] n阶Hankel矩阵:a=i-i+1 HankelMatrix[list] 以1ist的元素为第一列的Hanke1矩阵 HankelMatrix[listi,list2] 指定第一列和最后一行的Hankel矩阵 RotationMatrix[] 平面逆时针旋转日所对于的2阶矩阵 RotationMatrix[0,w 空间绕W逆时针旋转日所对应的3阶矩阵 7.3矩阵分量 A[[i,j]] 提取a A[A11,j1] 提取第j列 A[[i,A11],A[[i]] 提取第1行 Take[A,{i1,i2,.,{j1,j2,.}] 提取一个子矩阵 6
6 Apply[Times,list] 计算列表中所有元素的乘积 Total[list] 计算列表中所有元素的和 7 矩阵 向量是一维列表,矩阵是二维列表。 7.1 矩阵的生成 矩阵可以通过 Array,Table 等函数生成。 Array[函数名,变量取值范围] Array[f,n] 生成长度为 n 的向量{f[1],f[2],...,f[n]} Array[f,{m,n}] 生成 mn 的矩阵,元素为 f[i,j] Table[通项公式,{循环范围},...] Table[expr,{i,a,b,h}] 生成向量{expr|i=a:h:b} Array[expr,{i,a1,b1,h1},{j,a2,b2,h2}] 生成 mn 的矩阵 注:Table 中的循环范围的一般表示方法为 {i,a,b,h} i 从 a 到 b,步长为 h,最后一项不超过 b {i,a,b} 步长缺省为 1 {i,b} 首项缺省为 1 {k} 重复 k 次 7.2 特殊矩阵 IndentityMatrix[n] n 阶单位矩阵 ConstantArray[c,{m,n}] 常数矩阵: ij a c = DiagonalMatrix[list] 以列表 list 中的元素为对角线的对角矩阵 HilbertMatrix[n] n 阶 Hilbert 矩阵 HilbertMatrix[{m,n}] mn 的 Hilbert 矩阵 ToeplitzMatrix[n] n 阶 Toeplitz 矩阵: | | 1 ij a i j = − + ToeplitzMatrix[list] 以 list 的元素为第一列的对称 Toeplitz 矩阵 ToeplitzMatrix[list1,list2] 指定第一列和第一行的 Toeplitz 矩阵 HankelMatrix[n] n 阶 Hankel 矩阵: 1 ij a i j = − + HankelMatrix[list] 以 list 的元素为第一列的 Hankel 矩阵 HankelMatrix[list1,list2] 指定第一列和最后一行的 Hankel 矩阵 RotationMatrix[] 平面逆时针旋转 所对于的 2 阶矩阵 RotationMatrix[,w] 空间绕 w 逆时针旋转 所对应的 3 阶矩阵 7.3 矩阵分量 A[[i,j]] 提取 ij a A[[All,j]] 提取第 j 列 A[[i,All], A[[i]] 提取第 i 行 Take[A,{i1,i2,...},{j1,j2,...}] 提取一个子矩阵
7.4矩阵运算 MatrixForm[Al 按矩阵形式输出A TableForm[Al 按表格形式输出A Length[v] 元素个数 Dimensions[Al 矩阵的维数(行数和列数) Dimensions[A,k] 矩阵的前k重维数 Vectoro[v] 是否为向量 MatrixQ[A] 是否为佰隆 A+B.Plus[A.B] 钜阵或向量相加 A-B,Subtract[A,B] 矩阵或问量相 -A,Minus[A] 负矩阵或负向量 Ata,A-a 矩阵(向量)每个分量都与数相加 A.B 矩阵普通乘积 x.y,Dot[x,y] 向量内积 Cross[x,y] 向量外积 MatrixPower[A,n] 矩阵的幂 MatrixExp[A】 矩阵的指数函数 A*B,Times[A,B] 对应分量相乘(数组运算) A/B,Divide[A,B] 对应分量相除(数组运算) An,Power(A,n) 对应分量的幕(数组运算) Det[Al 行列式 Inverse[A] 矩阵的道 Transpose[A] 矩阵转置 ConjugateTranspose[A] 共期转置 MatrixRank[A] 矩阵的秩 Eigenvalues[A】 特征值 Eigenvectors[A] 结征向量 Eigensystem[A】 特征值和特征向 Norm[A] 矩阵的2范数 Norm[A,1],Norm[A,Infinity] 1范数和无穷范数 Norm[x,p] 向量的p范数,p21,缺省为2范数 Tr[A] 矩连的迹 LinearSolve[A,b] 解线性方程组Ax=b NullSpace[A] 矩阵的零空间的一组基 Normalize[xl 向量单位化 Orthogonalize[A] 将矩阵A的行向量标准正交化 LUDecomposition[A] LU分解 CholeskyDecomposition[A] Cholesky分解 HessenbergDecomposition[A] Hessenberg化
7 7.4 矩阵运算 MatrixForm[A] 按矩阵形式输出 A TableForm[A] 按表格形式输出 A Length[v] 元素个数 Dimensions[A] 矩阵的维数(行数和列数) Dimensions[A,k] 矩阵的前 k 重维数 VectorQ[v] 是否为向量 MatrixQ[A] 是否为矩阵 A+B, Plus[A,B] 矩阵或向量相加 A-B, Subtract[A,B] 矩阵或向量相减 -A, Minus[A] 负矩阵或负向量 A+a, A-a 矩阵(向量)每个分量都与数相加 A.B 矩阵普通乘积 x.y, Dot[x,y] 向量内积 Cross[x,y] 向量外积 MatrixPower[A,n] 矩阵的幂 MatrixExp[A] 矩阵的指数函数 A*B, Times[A,B] 对应分量相乘(数组运算) A/B, Divide[A,B] 对应分量相除(数组运算) A^n, Power(A,n) 对应分量的幂(数组运算) Det[A] 行列式 Inverse[A] 矩阵的逆 Transpose[A] 矩阵转置 ConjugateTranspose[A] 共轭转置 MatrixRank[A] 矩阵的秩 Eigenvalues[A] 特征值 Eigenvectors[A] 特征向量 Eigensystem[A] 特征值和特征向量 Norm[A] 矩阵的 2 范数 Norm[A,1], Norm[A,Infinity] 1 范数和无穷范数 Norm[x,p] 向量的 p 范数,p1,缺省为 2 范数 Tr[A] 矩阵的迹 LinearSolve[A,b] 解线性方程组 Ax b = NullSpace[A] 矩阵的零空间的一组基 Normalize[x] 向量单位化 Orthogonalize[A] 将矩阵 A 的行向量标准正交化 LUDecomposition[A] LU 分解 CholeskyDecomposition[A] Cholesky 分解 HessenbergDecomposition[A] Hessenberg 化
JordanDecomposition[A] ordan标准型 RDecomposition[A】 QR分解 SchurDecomposition[Al Schur分解 SingularValueDecomposition[A] sVD分解 8函数 Mat山hematica提供了超过3000个内置函数,具体见“帮助”→“参考资料中心”的左下角 处的“函数索引”。 只婴输入相应的函数号 欲以方便泰能酒。内部两数有数学中常用的函数,又有工程中用的特猴 数的函数名 一般使用数学中的英文单词, 用户也可以自己定义新的函数 Mathematica函数命名规则 ①第一个字母大写,后面跟小写字母,如Sin[x],Log[x】 昌喜霜菜华的法:贸然 当函数名分为几段时,每 “段的夹 字母大写,后面的字母用小写,如:Arcsin(x] Mathematica函数调用方式 ①标准方式:函数名变量列表],如:Sin[Pi/3],Mod[5,2] ②后缀方式:变量/函数名,如:P1/3//S1n ③前缀方式:函数名@变量,如:Sin@(Pi/3) ④中缀方式:变量~函数名~变量,如:5Mod2 注:使用前缀方式时,函数只作用在@后面的第一个变量上,如Si@Pi/3等价于 效作用在而面的所有 5in[1-Pi/3],正确使用方法为1-(Pi/3/in)。 8.1常用初停函数 Abs[x] 绝对值 sign[x] 符号函数 Power[x,y] 幂函数x Sqrt[x] 平方根 Exp[x] 以e为底的指数函数 Log[x],Log[b,x] 以e和b为底的对数函数 Factorial[n】 n! Factorial2[n] n!! GcD[n1,n2,.】 最大公约数 GCD[list] 列表中所有数的最大公约数 LCM[n1,n2,...],LCM[list] 最小公倍数 Max[x1,x2,...],Max[list] 求最大值 Min[x1,x2,...],Min[list] 求最小值 Re[xl,Im[xl 提取实部和虚部 Conjugate[x] 取共轭 Arg[x] 辐角 Mod[m,n] m除以n的余数
8 JordanDecomposition[A] Jordan 标准型 QRDecomposition[A] QR 分解 SchurDecomposition[A] Schur 分解 SingularValueDecomposition[A] SVD 分解 8 函数 Mathematica 提供了超过 3000 个内置函数,具体见“帮助”→ “参考资料中心”的左下角 处的 “函数索引”。 Mathematica 系统内置函数的函数名一般使用数学中的英文单词,只要输入相应的函数名, 就可以方便地使用这些函数。内部函数既有数学中常用的函数,又有工程中用的特殊函数。 用户也可以自己定义新的函数。 Mathematica 函数命名规则 ① 第一个字母大写,后面跟小写字母,如 Sin[x], Log[x] ② 当函数名分为几段时,每一段的头一个字母大写,后面的字母用小写,如:ArcSin[x] ③ 查看某个函数的用法:??函数名,如 ??Sin Mathematica 函数调用方式 ① 标准方式:函数名[变量列表],如:Sin[Pi/3], Mod[5,2] ② 后缀方式:变量//函数名,如:Pi/3//Sin ③ 前缀方式:函数名@变量,如:Sin@(Pi/3) ④ 中缀方式:变量~函数名~变量,如:5~Mod~2 注:使用前缀方式时,函数只作用在@后面的第一个变量上,如 Sin@Pi/3 等价于 Sin[Pi]/3,正确使用方法为 Sin@(Pi/3);而使用后缀方式时,函数作用在前面的所有 表达式上,如 1-Pi/3//Sin 等价于 Sin[1-Pi/3],正确使用方法为 1-(Pi/3//Sin)。 8.1 常用初等函数 Abs[x] 绝对值 Sign[x] 符号函数 Power[x,y] 幂函数 y x Sqrt[x] 平方根 Exp[x] 以 e 为底的指数函数 Log[x], Log[b,x] 以 e 和 b 为底的对数函数 Factorial[n] n! Factorial2[n] n!! GCD[n1,n2,...] 最大公约数 GCD[list] 列表中所有数的最大公约数 LCM[n1,n2,...], LCM[list] 最小公倍数 Max[x1,x2,...], Max[list] 求最大值 Min[x1,x2,...], Min[list] 求最小值 Re[x], Im[x] 提取实部和虚部 Conjugate[x] 取共轭 Arg[x] 辐角 Mod[m,n] m 除以 n 的余数