收藏 分享(赏)

mathematic入门教程.doc

上传人:cjc2202537 文档编号:1196492 上传时间:2018-06-17 格式:DOC 页数:23 大小:90KB
下载 相关 举报
mathematic入门教程.doc_第1页
第1页 / 共23页
mathematic入门教程.doc_第2页
第2页 / 共23页
mathematic入门教程.doc_第3页
第3页 / 共23页
mathematic入门教程.doc_第4页
第4页 / 共23页
mathematic入门教程.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、王正盛 作品 (1)简介 数学系给本科生开设一门课: “符号计算系统“, 主要简单讲授 mathematica(以下简称 math)软件的使用及其编程,赶兴趣的同学可以找本 math书以求更深入的了解. 我们平日用到编程语言时, 大家都知道编程中用到的整型, 实型, 甚至双精度数, 都只是一个近似的数, 其精度有限, 有 效数字有限, 在很多时候达不到实际需要的要求. 符号计算与 数值计算的区别就在于符号计算以准确值记录计算的每一步的 结果, 如果需要时, 可以将精确表示按需要计算成任意位数的 小数表示出来(只要机器内存足够大). 最常见的符号计算系统有 maple, mathematica,

2、 redues等, 这些软件各有侧重, 比如,maple 内存管理及速度比 math好, 但 是图形方面不如 math; redues没找到, 没用过, 未明; 而用得 较多的 matlab编程环境特好, 和 C语言接口极其简单, 遗憾的是 它不是符号计算, 只是数值计算. 所以, 就实用而全面来说, math是一个很好用的软件. math软件不仅能够进行一般的+-*/及科学函数如 Sin, Log 等计算, 而且能进行因式分解, 求导, 积分, 幂级数展开, 求 特征值等符号计算, 并且, math 有较强的图元作图, 函数作图, 三维作图及动画功能. (2)mathematica入门 ma

3、thematica自发布以来, 目前比较常见的有 math 1.2 for DOS, math 2.2 for Windows, math 3.0 for win95, math 3.0 for UNIX. DOS下的 math的好处就是系统小, 对机器要求低, 在 386机 器 4M内存下就能运行得很好(机器再低点也是可以用的, 比如 说 286/2M). 在 DOS下直接键入 math即可进入 math系统, 出现的提示符 In1:=, 这时就可以进行计算了, 键入 math函 数, 回车即可进行运算. 如果输入的 Quit, 则退出 math. 这里 要注意的是, math 区分大小写的

4、, 一般 math的函数均以大写字 母开始的. windows下的 math对机器要求就要高一些了, math3.0 更是 庞大, 安装完毕有 100M之多(2.2 大约十多兆). 同 windows下的 其他软件一样, math 可以双击图标运行, 在 File菜单下有退出 这一项. windows 下的 math有其优越性, 就是可以在 windows下 随心所欲地拷贝粘贴图形. math3.0 更是能输入和显示诸如希腊 字母, 积分符号, 指数等数学符号. DOS 的 math与 windows下的 一个区别是 DOS的以回车结束一句输入, 而 windows的以 +结束一句输入. DO

5、S 下的提示符显示为 In数字:=, 而 windows下在结束输入后才显示出 In数字:=及 Out数字:=字 样. (Out 为输出提示符) 下面试试几个例子:(In数字:=为提示符, 不用键入) In1:= 2100 计算 2的 100次方 In2:= s=3,7,9,7,4,3,1,3,8 定义矩阵 s In3:= Eigenvaluess 计算 s的特征值 In4:= PlotSinx,x,0,Pi 在 0,Pi间画 Sin In5:= PlotCosx,x,0,Pi Cos In6:= Plot3DSinxSiny,x,0,1,y,0,2 三维作图 以 In6为例说明: math

6、的函数都以大写字母开头的单词 为函数名, Plot3D, Plot, Eigenvalues, Sin 等, 常数也是如 此, 如 Pi. 函数名后的参数用括起, 逗号隔开. math的输出可以作为函数的输入对象, 你可以再试一个: In7:=Show%,% 这里一个%代表上一个输出, 两个代表 上两个. 也可以直接用 Outn代表第 n个输出. 这里需要补充的是 !command 执行 DOS命令 ?name 关于 name(函数等)的信息(可以使用通配符) ?name 关于 name的额外信息 (3)基本计算 1. 算术运算符 +加-减*乘/除指数 (乘也可用空格) Nexpr或 expr

7、 /N 计算 expr的数值(6 位有效数字) Nexpr, n n表示小数的位数 2. 数学函数 Sqrtx x开方 Expx e的 x方 Logx x的自然对数 Logb,x 以 b为底, x 的对数 Sinx, Cosx, Tanx, ArcSinx, ArcCosx 三角函数 Absx |x| Roundx 离 x最近的整数 Floorx 不超过 x的最大整数 Quotientn,m n/m的整数部分 Modn,m n/m的余数 Random 0,1间随机数 Maxx,y,. Minx,y,. 最大数和最小数 3. 常数 Pi Pi=3.141592653589793. E e=2.7

8、1828. Degree Pi/180 I i=Sqrt-1 Infinity 无穷大 Catalan Catalan常数.=0.915966 ComplexInfinity 复无穷 DirectedInfinity 有向的无穷 EulerGamma 欧拉常数 gamma=0.5772216 GoldenRatio 黄金分割(Sqrt5-1)/2 Indeterminate 不定值 4. 逻辑运算符 =, !=, , =, value 将式中 x代换为 value expr /. x-xval, y-yval 下面就让我们以几个例子来结束本节:(大家还是注意, DOS 下的 Math, 只要

9、输入 Innum:=后的指令后按回车, 而 windows下则是按+回车.) 大 家看看都有什么输出. In1:= 2.7+5.23 In2:= 1/3+2/7 In3:= 1/3+2/7 /N In4:= NPi,100 曾经有人问我, 你是怎么算出 Pi的 1000位而 没有错误的, 其实很简单, 大家只要把上式的 100改为 1000即可. In5:= SinPi/2+Exp2+Round1.2 In6:= 10y In10:= t=1+m2 In11:= t /. m-2 In12:= t /. m-5a In13:= t /. m-Pi /N (4)代数变换 上一节我们已经学习了 M

10、ath里的基本运算及逻辑运算, 常用数学函数, 几 个常见的常数, 以及变量的使用. 这一节, 我们来学学基本代数变换: Apart, Cancel, Coefficient, Collect, Denominator, Expand, ExpandAll, Exponent, Factor, Numerator, Short, Simplify, Together. Expandexpr 多项式 expr按项展开 Factorexpr 因子形式 Simplifyexpr 最简形式 In1:= Expand(1+x)2 In2:= Factor% 我们以前说过的哦, %是上一个输出, %是上上

11、个, %是上上上个, ., %n 是第 n个输出(即Outn) In3:= Simplify% In4:= Integratex2/(x4-1),x 这是积分运算, 详情后叙 In5:= D%,x 求导 In6:= Simplify% ExpandAllexpr 所有项均展开 Togetherexpr 通分 Apartexpr 分离成具有最简分母的各项 Cancelexpr 约去分子,分母的公因子 Collectexpr 合并 In1:= e=(x-1)2 (2+x)/(1+x)(x-3)2) In2:= Expande In3:= ExpandAlle In4:= Togethere In5

12、:= Apart% In6:= Factor% Coefficientexpr, form 表达式中 form项的系数 Exponentexpr, form form的最高幂次 Numeratorexpr 取分子 Denominatorexpr 取分母 expr /Short 以简短形式输出 In1:= e=Expand(1+3x+4y2)2 In2:= Coefficiente, x In3:= Exponente, y In4:= q=(1+x)/(2(2-y) In5:= Denominator% In6:= Expand(x+5y+10)4 In7:= %/Short 把上式输出, 中

13、间项省去, 以表示 省去的项数. 最后, 我们以例子来看看用符号名做客体的标志的好处 In1:= 12meters In2:= %+5.3meters In3:= %/(25seconds) In4:= %/.meters-3.78084feet 一下子就把米制变为英尺了. (5)微积分运算(2-1) 学到上一节, 大家会发现怎么还停留在中学的计算中呢, 这一节, 大家就会看到微分 D, Dt; 积分 Integrate, NIntegrage; 和与积 Sum, Product, NSum, NProduct. 下一节我们 介绍解方程 Solve, Eliminate, Reduce, NR

14、oot, FindRoot, FindMinimum; 幂级数 Series, Normal; 极限 Limit; 特殊函数 Fourier, InverseFourier, . 微分 Df, x f对 x求导 Df, x_1, x_2, . f对 x_1, x_2, .求导 Df, x, n f对 x求 n次导 Dtf 全微分 df Dtf, x 全微商 df/dx In1:= Dxn,x In2:= Dfx,x In3:= D2x fx2,x In4:= Dxn, x, 3 In5:= Dx2 y3, x, y In6:= Dtxn In7:= Dtx y, x 积分 Integratef

15、,x f对 x积分 Integratef, x, xmin, xmax, y, ymin, ymax, . 定积分 NIntegratef, x, xmin, xmax, y, ymin, ymax, . 计算积分的数值解 In1:= IntegrateSinSinx,x 嘻嘻, 无法计算, 原样输出 In2:= IntegrateLogx, x,0,6 啊, 广义积分也一样算 In3:= Integratex2+y2, x,0,1, y,0,1 In4:= In3/N 如果你的上一条输入不是 In3, 注意 调整这一条的输入哦 In5:= IntegrateSinSinx, x,0,1 怎么

16、还没法计算啊 In6:= N% 或 NIntegrateSinSinx, x,0,1 呵, 终于可以计算了. 和与积 Sumf, i, imin, imax, j, jmin, jmax, . f对 i, j, .分别从 imin到 imax,jmin到 jmax,.求和 Sumf, i, imin, imax, di 求和的步长为 di Productf, i, imin, imax, j, jmin, jmax, . 求积 NSum 数值解 NProduct 数值解 In1:= Sumxi/i, i,1,4 In2:= Sumxi/i, i,1,5,2 In3:= Suma/i3, i,1

17、,10 In4:= N% 或 NSuma/i3, i,1,10 In5:= Sum1/i3, i,1,Infinity 可能原样输出, 也可能输出Zeta3 (依 math的版本不同而异) In6:= N% In7:= Sumxi*yj, i,1,3, j,1,i 注: 如果想要求带符号上下限的 Sum, 在 math3.0中, 直接使用 Sum函数即可: In8:= Sum1/Sini, i,1,n 而如果在旧版本的 math, 则可能需要调入包(package) “gospersu.m“, 调入 格式一般为 In8:= x0 expr中 x趋于 x0 In1:= t=Sinx/x In2:

18、= t/.x-0 错了吧. 0 不能当分母的 In3:= Limitt,x-0 求极限总可以了吧 特殊函数 Fourier 傅利叶变换 InverseFourier 反傅利叶变换 In1:= 1,1,1,1,-1,-1,-1,-1 In2:= Fourier% In3:= InverseFourier% RungeKutta, . 等函数 定义函数如下 In1:= fx_:=x2+1 math中定义函数:变量后跟_, 然后用:= In2:= fx_, y_:=x+y 以上两个定义同时存在并不矛盾, 当 f仅使用一个参数, 自动用一式; 为 两个参数, 则用二式 In3:= f3 In4:= f

19、3,2 定义别名 In1:= para:=ParametricPlot 用:=来定义别名 In2:= paraCost,t, t,0,Pi In3:= Alaspara 查看 para是什么的别名 (7)矩阵/表的运算 矩阵的定义 Table, Array, IdentityMatrix, DiagonalMatrix; 输出 输入 TalbeForm, ColumnForm, MatrixForm, list(其他输出 TeXForm, FortranForm, CForm); 及运算: 数乘, 矩阵乘法, Inverse, Transpose, Det, MatrixPower, Eige

20、nvalues, Eigenvectors, 矩阵定义使用的一点 说明. 矩阵的定义 Tablef, imax 包含 imax个 f的元素(f 是规则) Tablef, i, imin, imax, istep, j, ., . istep=1可省, imin=1 也等于 1可再省 Arraya, n 建立向量 a1, a2, ., an Arraya, m, n 建 mxn矩阵 a Arraya, m1, m2, ., mn n维张量 IdentityMatrixn 生成 n维单位矩阵 DiagonalMatrixlist list元素为对角元 In1:= Tablex, 4 In2:= T

21、ablei2, i, 1, 4 In3:= x%-1 看看表在运算符作用后的结果 In4:= D%, x 求导也可以 In5:= % /. x-3 代入值看看 In6:= Arraya, 3, 2 看个 2维的(3x2)矩阵 In7:= DiagonalMatrix1,2,3 生成对角元是 1,2,3的方阵 矩阵的输出/输入 TableFormlist 以表列格式显示一个表 ColumnFormlist 写成一列 MatrixFormlist 按矩阵形式 listi 第 i个元素(一维); 第 i行元素(二维) listi,j list的第 i行, 第 j列元素. In1:= a=Tablei

22、+2*j, i, 1, 3, j, 1, 2 In2:= TableForm% 看看表格式 In3:= ColumnForm% 写成一列 In4:= MatrixForm% 再看看矩阵形式 In5:= %2 把上面的矩阵的第二行(是一维的表了哦)去来 In6:= %2,1 取第二行第一列元素(是一个数) 注: In5,In6也可用 a2和 a2,1的典型写法. 其他输出格式 TeXForm, FortranForm, CForm TeX(数学排版)格式, Fortran 语言, C 语言格式输出 In1:= (Sqrtx3-1+Expy)/Logx In2:= TeXForm% 注意 TeX中

23、 T和 X是大写, e 是小写 In3:= CForm% 矩阵的数学运算 cm 数乘(c 标量, m 是 Table或 Array定义的矩阵) a.b 矩阵相乘(注意矩阵乘法的规则) Inversem 逆矩阵(当然要对方阵来说了) Transposem 转置 Detm m(方阵)的行列式 MatrixPowerm,n m(方阵)的 n次幂 Eigenvaluesm m(方阵)的特征值 Eigenvectorsm m(方阵)的特征向量 EigenvaluesNm, EigenvectorsNm 数值解 In1:= a=Tablei+2*j, i, 1, 3, j, 1, 2 In2:= 5a 看

24、看乘积 In3:= b=Table3*i-2j, i, 1, 3, j, 1, 3 In4:= b.a 矩阵乘法(注意,此例 a.b没有意义) In4:= Transpose% 转置 In5:= Inverseb 求一下矩阵的逆(天哪, 是方阵还不行, 还要行列式不为 0) In6:= Detb 果然行列式为 0 In7:= c=b+1,0,0,0,0,0,0,0,0 In8:= Inversec 终于可以求逆了 In9:= MatrixPowerb,3 b的 3次方 In10:= Eigenvaluesb 特征值 In11:= Eigenvectorsb 特征向量 一点说明: 矩阵可以先使用

25、, 再定义; 局部定义和整体定义的顺序也自由. 如: In1:= d1,1=w; d1,2=e; d2,1=21; d2,2=22; In2:= Arrayd,3,3 你就会发现, 定义过的有值了, 没定义的还没有值. (8)表的运算.2 表的结构 VertorQ, MatrixQ, MemberQ, FreeQ, Length, TensorRank, Dimensions, Count, Position; 取表元 First, Last, list, Take, Rest, Drop, Select; 插入元素 Prepend, Append, Insert, Join; 表的集合 Un

26、ion, Intersection, Complement; 表的重排 Sort, Union, Reverse, RotateLeft, RotateRight, Transpose, Flatten, Partition, Permutations, Apply 计算表的有关结构 VectorQlist 检验 list是否为向量结构 MatrixQlist 检验 list是否为矩阵结构 MemberQlist, form 检验 form是否为 list的元素 FreeQlist, form 检验 form是否不是 list的元素 Lengthlist list中元素的数目 TensorRa

27、nklist list的深度(看成张量的秩) Dimensionslist list作为向量或矩阵的维数 Countlist, form form在 list中出现的次数 Positionlist, form form在 list中的位置 In1:= t=1,2,3 t是一个表 In2:= VectorQt 不是向量 In3:= MemberQt,3 3是它的元素 In4:= MemberQt,2 2不是它的元素 In5:= Lengtht t的长度是 2 In6:= TensorRankt t的深度是 1 In7:= Dimensionst 作为向量,是 2维: 1,2和 3 In8:= P

28、ositiont,3 3在表 t中的位置是2 在表中取部分元素 Firstlist list的首元素 Lastlist list的最后一个元素 listn list的第 n个元素 list-n list的倒数第 n个元素 (以后二者合写为 n/-n) listn1,n2,.,nm 相当 listn1n2.nm listn1,n2,.,nm list第 n1,n2,.,nm元组成新表 listi1,i2,.,j1,j2,. list的 i1,i2.行,j1,j2,.列 Takelist, n/-n 取 list的前/后 n个元素 Restlist 去掉首元的 list Droplist, n/-n 去掉前/后 n个元素的 list Selectlist, crit 从 list中选出满足 crit的元素 In1:= t=2,1,1; In2:= VectorQt 函数名最后字母为 Q,其值为 True/False

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报