Mathematic简单教程

合集下载

mathematica简明使用教程

mathematica简明使用教程

mathematica简明使用教程Mathematica是一种强大的数学软件,广泛应用于科学研究、工程计算和数据分析等领域。

本文将简要介绍Mathematica的使用方法,帮助读者快速上手。

一、安装和启动Mathematica我们需要下载并安装Mathematica软件。

在安装完成后,可以通过桌面图标或开始菜单中的快捷方式来启动Mathematica。

二、界面介绍Mathematica的界面分为菜单栏、工具栏、输入区域和输出区域四部分。

菜单栏提供了各种功能选项,工具栏包含了常用的工具按钮,输入区域用于输入代码或表达式,而输出区域则显示执行结果。

三、基本操作1. 输入和输出在输入区域输入代码或表达式后,按下Shift+Enter键即可执行,并在输出区域显示结果。

Mathematica会自动对输入进行求解或计算,并返回相应的输出结果。

2. 变量定义可以使用等号“=”来定义变量。

例如,输入“a = 3”,然后执行,就会将3赋值给变量a。

定义的变量可以在后续的计算中使用。

3. 函数调用Mathematica内置了许多常用的数学函数,可以直接调用使用。

例如,输入“Sin[π/2]”,然后执行,就会返回正弦函数在π/2处的值。

4. 注释和注解在代码中添加注释可以提高代码的可读性。

在Mathematica中,可以使用“(*注释内容*)”的格式来添加注释。

四、数学运算Mathematica支持各种数学运算,包括基本的加减乘除,以及更复杂的求导、积分、矩阵运算等。

下面简要介绍几个常用的数学运算:1. 求导可以使用D函数来求导。

例如,输入“D[Sin[x], x]”,然后执行,就会返回正弦函数的导数。

2. 积分可以使用Integrate函数来进行积分运算。

例如,输入“Integrate[x^2, x]”,然后执行,就会返回x的平方的不定积分。

3. 矩阵运算Mathematica提供了丰富的矩阵运算函数,可以进行矩阵的加减乘除、转置、求逆等操作。

mathematica教程第一章Mathematica基础知识

mathematica教程第一章Mathematica基础知识

为精确数参与计算和公式推导。
1.2.2Mathematica数的运算符
数的运算有:加、减、乘、除和乘方,它们在Mathematica 中的符号为:加(+)、减(-)、乘(*)、除(/)和 乘方(^) 。 不同类型的数参与运算,其结果的类型为:
如果运算数有复数,则计算结果为复数类型; 如果运算数没有复数,但有实数,则计算结果为实数类型
结果为精确数
如果需要精确数的数值结果(除了整数之外),可以用 Mathematica提供的N函数将其转化,N函数可以得到该精确 数的任意精度的近似结果,其形式有两个:
In[1]:= x= 2 + 3 Out[1]=5
In[2]:= x = 2 + 3 ; 不显示结果5
1.2 Mathematica 中的数据 1.2.1 Mathematica 中的数据类型和数学常数
Mathematica提供的简单数据类型有整数、有理数、实数和 复数4种类型,这些数据在Mathematica中有如下的要求: (1)整数描述为Integer,是可以具有任意长度的精确数。书写方 法同于我们通常的表示,输入时,构成整数的各数字之间不 能有空格、逗号和其它符号,整数的正负号写在该数的首位, 正号可以不输入。如:2367189、-932是正确的整数。 (2)有理数描述为Rational,用化简过的分数表示,但其中分子 和分母都应该是整数,有理数是精确数,输入时分号用“ / ” 代替,即使用“分子 分母”的形式。如:23/45、- 41/345 是正确的有理数。 (3)实数描述为Real,是除了整数和有理数之外的所有实数。与 一般高级语言不同的是这里数学中的无理数是可以有任意精 确度的近似数, 如圆周率, 在Mathematica中它可以根据需要 取任意位有效数字。 (4)复数描述为Complex,用是否含有虚数单位I来区分,它的实 部和虚部可以是整数、有理数和实数。如:3+4.3I、18.5I 都是正确的复数。

Mathematica使用教程

Mathematica使用教程

Mathematica 使用教程一、要点● Mathematica 是一个敏感的软件. 所有的Mathematica 函数都以大写字母开头;● 圆括号( ),花括号{ },方括号[ ]都有特殊用途, 应特别注意;● 句号“.”,分号“;”,逗号“,”感叹号“!”等都有特殊用途, 应特别注意;● 用主键盘区的组合键Shfit+Enter 或数字键盘中的Enter 键执行命令.二、介绍案例1. 输入与输出例1 计算 1+1:在打开的命令窗口中输入1+2+3并按组合键Shfit+Enter 执行上述命令,则屏幕上将显示:In[1] : =1+2+3Out[1] =6这里In[1] : = 表示第一个输入,Out[1]= 表示第一个输出,即计算结果.2. 数学常数Pi 表示圆周率π; E 表示无理数e; I 表示虚数单位i ;Degree 表示π/180; Infinity 表示无穷大.注:Pi,Degree,Infinity 的第一个字母必须大写,其后面的字母必须小写.3. 算术运算Mathematica 中用“+”、“-”、“*”、“/” 和“^”分别表示算术运算中的加、减、乘、除和乘方.例2 计算 π⋅⎪⎭⎫ ⎝⎛⋅+⎪⎭⎫ ⎝⎛⋅--213121494891100.输入 100^(1/4)*(1/9)^(-1/2)+8^(-1/3)*(4/9)^(1/2)*Pi则输出 3103π+这是准确值. 如果要求近似值,再输入N[%]则输出 10.543这里%表示上一次输出的结果,命令N[%]表示对上一次的结果取近似值. 还用 %% 表示上上次输出的结果,用 %6表示Out[6]的输出结果.注:关于乘号*,Mathematica 常用空格来代替. 例如,x y z 则表示x*y*z,而xyz 表示字符串,Mathematica 将它理解为一个变量名. 常数与字符之间的乘号或空格可以省略.4. 代数运算例3 分解因式 232++x x输入 Factor[x^2+3x+2]输出 )x 2)(x 1(++例4 展开因式 )2)(1(x x ++输入 Expand[(1+x)(2+x)]输出 2x x 32++例5 通分 3122+++x x输入 Together[1/(x+3)+2/(x+2)]输出 )x 3)(x 2(x 38+++ 例6 将表达式)3)(2(38x x x +++ 展开成部分分式 输入 Apart[(8+3x)/((2+x)(3+x))]输出 3x 12x 2+++ 例7 化简表达式 )3)(1()2)(1(x x x x +++++输入 Simplify[(1+x)(2+x)+(1+x)(3+x)] 输出 2x 2x 75++三、部分函数1. 内部函数Mathematica 系统内部定义了许多函数,并且常用英文全名作为函数名,所有函数名的第一个字母都必须大写,后面的字母必须小写. 当函数名是由两个单词组成时,每个单词的第一个字母都 必须大写,其余的字母必须小写. Mathematica 函数(命令)的基本格式为函数名[表达式,选项]下面列举了一些常用函数: 算术平方根x Sqrt[x]指数函数x eExp[x] 对数函数x a logLog[a,x] 对数函数x lnLog[x] 三角函数Sin[x], Cos[x], Tan[x], Cot[x], Sec[x], Csc[x] 反三角函数 ArcSin[x], ArcCos[x], ArcTan[x],ArcCot[x], AsrcSec[x], ArcCsc[x]双曲函数 Sinh[x], Cosh[x], Tanh[x],反双曲函数 ArcSinh[x], ArcCosh[x], ArcTanh[x]四舍五入函数 Round[x] (*取最接近x 的整数*)取整函数 Floor[x] (*取不超过x 的最大整数*)取模 Mod[m,n] (*求m/n 的模*)取绝对值函数 Abs[x]n 的阶乘 n!符号函数 Sign[x]取近似值 N[x,n] (*取x 的有n 位有效数字的近似值,当n 缺省时,n 的默认值为6*)例8 求π的有6位和20位有效数字的近似值.输入 N[Pi] 输出 3.14159输入 N[Pi, 20] 输出 3.1415926535897932285注:第一个输入语句也常用另一种形式:输入 Pi//N 输出 3.14159例9 计算函数值(1) 输入 Sin[Pi/3] 输出23(2) 输入 ArcSin[.45] 输出 0.466765(3) 输入 Round[-1.52] 输出 -2例10 计算表达式 )6.0arctan(226sin 2ln 1132+-+-e π 的值输入 1/(1+Log[2])*Sin[Pi/6]-Exp[-2]/(2+2^(2/3))*ArcTan[.6]输出 0.2749212. 自定义函数在Mathematica 系统内,由字母开头的字母数字串都可用作变量名,但要注意其中不能包含空格或标点符号.变量的赋值有两种方式. 立即赋值运算符是“=”,延迟赋值运算符是“: =”. 定义函数使用的符号是延迟赋值运算符“: =”.例11 定义函数 12)(23++=x x x f ,并计算)2(f ,)4(f ,)6(f .输入Clear[f,x]; (*清除对变量f 原先的赋值*)f[x_]:=x^3+2*x^2+1; (*定义函数的表达式*)f[2] (*求)2(f 的值*)f[x]/.{x->4} (*求)4(f 的值,另一种方法*)x=6; (*给变量x 立即赋值6*)f[x] (*求)6(f 的值,又一种方法*)输出1797289注:本例1、2、5行的结尾有“;”,它表示这些语句的输出结果不在屏幕上显示.四、解方程在Mathematica 系统内,方程中的等号用符号“==”表示. 最基本的求解方程的命令为Solve[eqns, vars]它表示对系数按常规约定求出方程(组)的全部解,其中eqns 表示方程(组),vars 表示所求未知变量.例12 解方程0232=++x x输入 Solve[x^2+3x+2==0, x]输出 }}1x {},2x {{-→-→例13 解方程组 ⎩⎨⎧=+=+10dy cx by ax 输入 Solve[{a x + b y == 0,c x + d y ==1}, {x,y}]输出 ⎭⎬⎫⎩⎨⎧⎭⎬⎫⎩⎨⎧+-→-→ad bc a y ,ad bc b x 例14 解无理方程a x x =++-11输入 Solve[Sqrt[x-1]+ Sqrt[x+1] == a, x]输出 ⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧+→24a 4a 4x很多方程是根本不能求出准确解的,此时应转而求其近似解. 求方程的近似解的方法有两种,一种是在方程组的系数中使用小数,这样所求的解即为方程的近似解;另一种是利用下列专门用于求方程(组)数值解的命令:NSolve[eqns, vars] (*求代数方程(组)的全部数值解*)FindRoot[eqns, {x, x0}, {y, y0}Λ,]后一个命令表示从点),,(00Λy x 出发找方程(组)的一个近似解,这时常常需要利用图像法先大致确定所求根的范围,是大致在什么点的附近.例15 求方程013=-x 的近似解输入 NSolve[x^3-1== 0, x]输出 {{→x -0.5-0.866025ii},{→x -0.5+0.866025ii},{→x 1.}}输入 FindRoot[x^3-1==0,{x, .5}]输出 {→x 1.}下面再介绍一个很有用的命令:Eliminate[eqns, elims] (*从一组等式中消去变量(组)elims*)例16从方程组 ⎪⎩⎪⎨⎧=+=-+-+=++11)1()1(1222222y x z y x z y x 消去未知数y 、z .输入Eliminate[{x^2+y^2+z^2 ==1,x^2+(y-1)^2 + (z-1)^2 ==1, x + y== 1},{y, z}]输出 0x 3x 22==+-注:上面这个输入语句为多行语句,它可以像上面例子中那样在行尾处有逗号的地方将行与行隔开, 来迫使Mathematica 从前一行继续到下一行在执行该语句. 有时候多行语句的意义不太明 确,通常发生在其中有一行本身就是可执行的语句的情形,此时可在该行尾放一个继续的记号“\”, 来迫使Mathematica 继续到下一行再执行该语句.五、保存与退出Mathematica 很容易保存Notebook 中显示的内容,打开位于窗口第一行的File 菜单,点击Save后得到保存文件时的对话框,按要求操作后即可把所要的内容存为 *.nb 文件. 如果只想保存全部 输入的命令,而不想保存全部输出结果,则可以打开下拉式菜单Kernel,选中Delete All Output,然后 再执行保存命令. 而退出Mathematica 与退出Word 的操作是一样的.六、查询与帮助查询某个函数(命令)的基本功能,键入“?函数名”,想要了解更多一些,键入“??函数名”,例如,输入?Plot则输出Plot[f,{x,xmin,xmax}] generates a plot of f as a functionof x from xmin to xmax. Plot[{f1,f2,…},{x,xmin,xmax}] plots several functions fi它告诉了我们关于绘图命令“Plot ”的基本使用方法.例17 在区间]1,1[-上作出抛物线2x y =的图形.输入 Plot[x^2,{x,-1,1}]则输出-1-0.50.510.20.40.60.81例18 π.输入 Plot[{Sin[x],Cos[x]},{x,0,2Pi}]则输出123456-1-0.50.51??Plot则Mathematica 会输出关于这个命令的选项的详细说明,请读者试之.此外,Mathematica 的Help 菜单中提供了大量的帮助信息,其中Help 菜单中的第一项HelpBrowser(帮助游览器)是常用的查询工具,读者若想了解更多的使用信息,则应自己通过Help 菜单去学习.编辑本段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/180I 虚数,其值为√-1Infinity 无限大指定之前计算结果的方法% 前一个运算结果%% 前二个运算结果%%…%(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]Arc Sinh[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的值设为ax=y=b 将变数x和y的值均设为bx=. 或Clear[x] 除去变数x所存的值变数使用的一些法则xy 中间没有空格,视为变数xyx y x乘上y3x 3乘上xx3 变数x3x^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的分子ExpandDenominator[expr] 展开expr的分母ExpandNumerator[expr] 展开expr的分子编辑本段多项式的另二种转换函数Collect[expr,x] 将expr表示成x的多项式,如Collect[expr,{x,y,…}] 将expr分别表示成x,y,…的多项式FactorTerms[expr] 将expr的数值因子提出,如4x+2=2(2x+1)FactorTerms[expr,x] 将expr中把所有不包含x项的因子提出FactorTerms[expr,{x,y,…}] 将expr中把所有不包含{x,y,...}项的因子提出编辑本段三角函数、双曲函数和指数的运算TrigExpand[expr] 将三角函数展开TrigFactor[expr] 将三角函数所组成的数学式因式分解TrigReduce[expr] 将相乘或次方的三角函数化成一次方的基本三角函数之组合ExpToTrig[expr] 将指数函数化成三角函数或双曲函数TrigToExp[expr] 将三角函数或双曲函数化成指数函数复数、次方乘积之展开ComplexExpand[expr] 假设所有的变数都是实数来对expr展开ComplexExpand[expr,{x,y,…}] 假设x,y,..等变数均为复数来对expr展开PowerExpand[expr] 将多项式项次、系数与最高次方之取得Coefficient[expr,form] 於expr中form的系数Exponent[expr,form] 於expr中form的最高次方Part[expr,n] 或expr[[n]] 在expr项中第n个项代换运算子expr/.x->value 将expr里所有的x均代换成valueexpr/.{x->value1,y->value2,…} 执行数个不同变数的代换expr/.{{x->value1},{x->value2},…} 将expr代入不同的x值expr//.{x->value1,y->value2,…} 重复代换到expr不再改变为止求解方程式的根Solve[lhs==rhs,x] 解方程式lhs==rhs,求xNsolve[lhs==rhs,x] 解方程式lhs==rhs的数值解Solve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}] 解联立方程式,求x,y,…NSolve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}] 解联立方程式的数值解FindRoot[lhs==rhs,{x,x0}] 由初始点x0求lhs==rhs的根Mathematica 的四种括号(term) 圆括号,括号内的term先计算f[x] 方括号,内放函数的引数{x,y,z} 大括号或串列括号,内放串列的元素p[[i ]] 或Part[p,i] 双方括号,p的第i项元素p[[i,j]] 或Part[p,i,j] p的第i项第j个元素缩短Mathematica输出的指令expr//Short 显示一行的计算结果Short[expr,n] 显示n行的计算结果Command; 执行command,但不列出结果查询Mathematica的物件?Command 查询Command的语法及说明??Command 查询Command的语法和属性及选择项?Aaaa* 查询所有开头为Aaaa的物件函数的定义、查询与清除f[x_]= expr 立即定义函数f[x]f[x_]:= expr 延迟定义函数f[x]f[x_,y_,…] 函数f有两个以上的引数?f 查询函数f的定义Clear[f] 或f=. 清除f的定义Remove[f] 将f自系统中清除掉含有预设值的Patterna_+b_. b的预设值为0,即若b从缺,则b以0代替x_ y_ y的预设值为1x_^y_ y的预设值为1条件式的自订函数lhs:=rhs/;condition 当condition成立时,lhs才会定义成rhsIf指令If[test,then,else] 若test为真,则回应then,否则回应elseIf[test,then,else,unknow] 同上,若test无法判定真或假时,则回应unknow 极限Limit[expr,x->c] 当x趋近c时,求expr的极限Limit[expr,x->c,Direction->1]Limit[expr,x->c,Direction->-1]微分D[f,x] 函数f对x作微分D[f,x1,x2,…] 函数f对x1,x2,…作微分D[f,{x,n}] 函数f对x微分n次D[f,x,NonConstants->{y,z,…}] 函数f对x作微分,将y,z,…视为x的函数全微分Dt[f] 全微分dfDt[f,x] 全微分Dt[f,x1,x2,…] 全微分Dt[f,x,Constants->{c1,c2,…}] 全微分,视c1,c2,…为常数不定积分Integrate[f,x] 不定积分∫f dx定积分Integrate[f,{x,xmin,xmax}] 定积分Integrate[f,{x,xmin,xmax},{y,ymin,ymax}] 定积分数列之和与积Sum[f,{i,imin,imax}] 求和Sum[f,{i,imin,imax,di}] 求数列和,引数i以di递增Sum[f,{i,imin,imax},{j,jmin,jmax}]Product[f,{i,imin,imax}] 求积Product[f,{i,imin,imax,di}] 求数列之积,引数i以di递增Product[f,{i,imin,imax},{j,jmin,jmax}]函数之泰勒展开式Series[expr,{x,x0,n}] 对expr於x0点作泰勒级数展开至(x-x0)n项Series[expr,{x,x0,m},{y,y0,n}] 对x0和y0展开关系运算子a==b 等於a>b 大於a>=b 大於等於a<b 小於a<=b 小於等於a!=b 不等於逻辑运算子!p notp||q||… orp&&q&&… andXor[p,q,…] exclusive orLogicalExpand[expr] 将逻辑表示式展开基本二维绘图指令Plot[f,{x,xmin,xmax}]画出f在xmin到xmax之间的图形Plot[{f1,f2,…},{x,xmin,xmax}]同时画出数个函数图形Plot[f,{x,xmin,xmax},option->value]指定特殊的绘图选项,画出函数f的图形Plot[]几种常用选项的指令选项预设值说明AspectRatio 1/GoldenRatio 图形高和宽之比例,高/宽Axes True 是否把坐标轴画出AxesLabel Automatic 为坐标轴贴上标记,若设定为AxesLabel->{?ylabel?},则为y轴之标记。

mathematical教程 第一讲

mathematical教程 第一讲

Table[Sin[x],{x,0,2Pi,Pi/10}]

格式2:


格式3:

Table [表达式,{循环范围},{循环范围}] 功能:生成一多层表 Range[初值,终值,步长] 功能:生成值为{初值,初值+步长,…,终值}的数值 表 Array[函数,{n1,n2,…}] 功能:以函数为迭代公式生成n1×n2×…的表 NestList[f, x0,n] 功能:按函数f迭代求解给出n步迭代的结果形成表

格式4:


格式5:

(2) 表的操作
Length[t]、Count[t,fmt] MemberQ[t,fmt]、Position[t,fmt]
表结构 其它 增加 表元素
设t为表, fmt为表达式, n为自然数。
Apply[Plus, t] Apply[Times, t] Permutations[t] OrderedQ[t]

变量替换(代入) 格式:


功能:

表达式/.x->a 表达式/.{x1->a1, x2->a2, … } 表示把表达式中的x全部换为a的结果 表示分别用a1替换x1, a2替换x2,….
x、x1,…为变量 a1,a2,…为表达式
(3)函数

常用的数值函数


初等函数


三、 Mathematica基础

开发公司:

美国Wolfram研究公司开发的符号计算系统
创始人:

Stephen Wolfram
从事理论研究的数学工作者 其它科学工作者 从事实际工作的工程技术人员 解决各种领域的涉及复杂的符号计算和数值计算的问题 Mathematica系统是用C语言开发的。

(整理)Mathematica入门教程.

(整理)Mathematica入门教程.

(整理)Mathematica入门教程.Mathematica入门教程Mathematica的基本语法特征如果你是第一次使用Mathematica,那么以下几点请你一定牢牢记住:Mathematica中大写小写是有区别的,如Name、name、NAME等是不同的变量名或函数名。

系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin[x],Conjugate[z]等。

乘法即可以用*,又可以用空格表示,如2 3=2*3=6 ,x y,2 Sin[x]等;乘幂可以用“^”表示,如x^0.5,T an[x]^y。

自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。

当你赋予变量任何一个值,除非你明显地改变该值或使用Clear[变量名]或“变量名=.”取消该值为止,它将始终保持原值不变。

一定要注意四种括号的用法:()圆括号表示项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1。

Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。

当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。

一.数的表示及计算1.在Mathematica中你不必考虑数的精确度,因为除非你指定输出精度,Mathematica总会以绝对精确的形式输出结果。

例如:你输入In[1]:=378/123,系统会输出Out[1]:=126/41,如果想得到近似解,则应输入In[2]:=N[378/123,5],即求其5位有效数字的数值解,系统会输出Out[2]:=3.0732,另外Mathematica还可以根据你前面使用的数字的精度自动地设定精度。

Mathematica软件使用入门

Mathematica软件使用入门

Mathematica软件使用入门目录第一章基本知识与基本操作 (3)1.1 Mathematica的基本语法特征 (3)1.2 Mathematica的启动、基本操作 (5)1.3 操作小技巧 (7)1.4 数值计算 (8)1.5 赋值与替换 (9)1.6 自定义函数 (10)1.7 方程与方程组解 (11)1.8 解不等式与不等式组 (12)1.9 由递推式求数列的通项公式 (14)1.10 作函数图像 (15)页脚内容1第二章运用Mathematica实现高等数学中的基本运算 (17)2.1 求极限运算 (17)2.2 求导数与微分 (20)2.3 求不定积分 (28)2.4 求定积分 (29)第三章实验练习题 (32)Mathematica是当今世界上最为流行的计算机代数系统之一.Mathematica系统是美国物理学家Stephen.Wolfram领导的一个小组开发的,后来他们成立了Wolfram研究公司.1987年推出了系统的1.0版;现在的最新版本是8.0版.页脚内容2Mathematica可以做:符号计算和数值计算问题,如:能做多项式的计算、因式分解和展开等;做各种有理式计算,求多项式、有理式方程和超越方程的精确解和近似解;做向量、矩阵的各种计算;求极限、导数、积分,做幂级数展开,求解某些微分方程等;做任意位数的整数或分子分母为任意大整数的有理数的精确计算,做具有任意位精度的数值(实、复数值)的计算.可以很方便地画出用各种方式表示的一元和二元函数的图形,通过图形,可以立即形象地掌握函数的某些特性,而这些特性一般是很难从函数的符号表达式中看清楚.第一章基本知识与基本操作1.1 Mathematica的基本语法特征使用Mathematica,一定要牢牢记住:Mathematica中大写小写是有区别的,如Name、name、NAME等是不同的变量名或函数名;系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin[x],Cos[z]等;页脚内容3页脚内容4乘法即可以用*,又可以用空格表示,如 2 3=2*3=6 , 2 Sin[x]=2* Sin[x]乘幂可以用“^”表示,如x^0.5 表示: Tan[x]^y 表示:自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头.当你赋予变量任何一个值,除非你: 明显地改变该值或 使用Clear[变量名] 或 使用“变量名=.”取消该值,否则它将始终保持原值不变.一定要注意四种括号的用法:( ): 表示项的结合顺序,如: (x+(y^x+1/(2x))); [ ]: 表示函数,如:Log[x], Sin[x];{ }: 表示一个“表”(即是一组数字、或任意表达式、或函数等的一个有序集合),如:{2x,Sin[12 Pi],A ,1}, {1+A,y*x ,1,2};[[ ]]: 双方括号表示“表”或“表达式”的下标,如: a[[2,3]]表示:23a ; {3,5,7}[[2]]=5.Mathematica 的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔).当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果.0.5xyTan[x]Mathematica命令中的标点符号必须是英文的.1.2 Mathematica的启动、基本操作1.2.1 启动“Mathematica”:在windows操作系统中安装了Mathematica后,与其他的常用软件一样,可从“开始”→“程序”→“Mathematica5”Mathematica的主窗口并出现第一个notebook窗口(Untitled-1):1.2.2 简单使用:例1.1 计算+33的值①在“Untitled-1”窗口中输入:329/412+3^3②按下“Shift+Enter”(或数字键盘上的Enter键),就得到计算结果:页脚内容5其中“In[1]:=”是Mathematica自动加上的,表示第一个输入;“Out[1]:=”表示第一个输出.一般地:In[n]:= 表示第n个输入Out[n]:=表示第n个输出.注意:“In[n]:=”自动加上的,不能人工输入!1.2.3 保存结果:保存方法同一般的Windows软件:“文件”→“保存”“另存为”窗口→在“查找范围”内找到目标文件夹→输入文件名(比如输入“1”)→“”.Mathematica 4或Mathematica 5的文件的后缀是“nb”,当输入“1”时,即产生文件“1.nb”.1.2.4打开文件1.nb启动Mathematica →“文件”→“打开”打开”窗口:→在“查找范围”内找到文件“1.nb”→“”即可.页脚内容61.2.5 退出Mathematica:与一般应用软件一样,单击右上方的“”按钮(或用菜单:“文件”→“退出”).1.3 操作小技巧1.3.1Ctrl+K的用途如果只知道命令的首写字母,可在输入该首写字母(要大写),再按下“Ctrl+K”组合键,则所有以该字母为首的命令都列出来,只要用鼠标双击命令名就输入了该命令.1.3.2使用前面已有的结果举例如下:例1.2 做如下操作:①输入:Integrate[x^2*(11-Sin[x]),{x,-1,1}]按:“Shift+Enter”;②输入:%+1,按:“Shift+Enter”;③输入:%+1,按:“Shift+Enter”;④输入:%1+1,按:“Shift+Enter”;Integrate[f,x]是求:()f x dxIntegrate[f,{x,xmin,xmax}]是求:页脚内容7⑤输入:%3+1,按:“Shift+Enter”,计算结果如下:可见,“%”表示前一个计算结果;“%n”表示第n个计算结果.1.3.3 删除行:见下图示1.4 数值计算请看下例:只要选定且删1.5 赋值与替换X=. 或Clear[x] 清除赋给x的值expr/.{x->xval,y->yval} 用xval、yval分别替换expr中的x、y.例1.3输入:x=3;y=4;w=x+y 计算清除变量的定义和值输入:Clear[x,y];计算输入:z=(x+y)^2 计算将(x+y)^2赋给z页脚内容9页脚内容10输入:z/.x->5 计算输入:Clear[x,y]; 计算 输入:u=x+y 计算 输入:u/.{x->5,y->6} 计算 计算结果如下:1.6 自定义函数用户可以自行定义函数,一个函数一旦被定义好之后就可以象系的内部函数一样使用. 例1.4 如要定义函数 f(x)=x 2+3x-2变量替换:变量替换:分别用5、6代替表达式u 中的“:=”是定义符.左边f 是函数名,方括号内x 是自变量,其页脚内容11只要键入: f[x_]:=x^2+3x-2即可.又如要定义分段函数2+1 < 0()= 2sin 0x x g x x x ⎧⎨≥⎩可键入:g[x_]:= Which[x<0,x^2+1,x>=0,2Sin[x]] 或g[x_]:=If[x<0,x^2+1,2Sin[x]] 请见以下计算结果:1.7 方程与方程组解 例1.5 ① 解方程:0652=+-x x输入:Solve[x^2-5x+6==0,x]Solve 是解方程或方程组的函数.其格式为:Solve[eqns,vars] 其中方程用exp==0的形式(其中页脚内容12即可.② 解方程组输入:Solve[{x+y==1,3x^2-y^2==0},{x,y}] 即可(结果见下图).1.8 解不等式与不等式组 例1.6 ① 解不等式组2213x y x y +=⎧⎨-=⎩加载解不等式的程序包,这是必须的,可谓是固定的格式, “< ”为键盘上的小于号, “`”为数字键1的左侧的 Algebra —— 代数类页脚内容13⎪⎩⎪⎨⎧>-<--0101222x x x输入: <<Algebra`InequalitySolve` InequalitySolve[{x^2-5x-6<0,x^2-1>0}, x] 即可. ② 解不等式3)3(12>--x x输入: <<Algebra`InequalitySolve` InequalitySolve[Abs[x-1](x^2-3) > 3, x] 即可(结果见下图)注: Mathematica 系统有内部函数.还有一些系统扩展的功能但不是作为内部函数的、以文件的形式存页脚内容14储在磁盘上的文件,要使用它们,必须用一定的方式来调用这些文件,这些文件我们称之为程序包. 调用方式之一如上所述: <<Algebra`InequalitySolve` 或用:Needs["Algebra`InequalitySolve`"] 1.9 由递推式求数列的通项公式例1.7 设 求数列的通项公式 只要输入:<<DiscreteMath`RSolve`RSolve[{a[n]==n *a[n-1], a[1]==1}, a[n], n] 即可(结果见下图)11,1,nn a na a -==1.10 作函数图像例1.8在同一坐标系中作出2-1y x 和y=sinx在[-2,2]内的图像.输入:Plot[{x^2-1,Sin[x]},{x,-2,2}]结果见下图例1.9作出sinxcosy的三维图形输入:Plot3D[Sin[x]*Cos[y],{x,-2Pi,2Pi},{y,-2Pi,2Pi},PlotPoints->100]即可(结果见下图)增加取样点提高光滑度页脚内容15页脚内容16页脚内容17第二章 运用Mathematica 实现高等数学中的基本运算极限、导数和积分是高等数学中的主要概念和基本运算,如果你在科研中遇到较复杂的求极限、求导数或求积分问题,Mathematica 可以帮你快速解决这些问题。

Mathematica简易教程

Mathematica简易教程

Mathematica简易教程周六1-4节8:00-11:10第1章MATHEMATICA概述 (4)1.1 M ATHEMATICA的启动及运行 (4)1.2 表达式的输入 (6)1.3 M ATHEMATICA的联机帮助系统 (9)第2章MATHEMATICA的基本量 (12)2.1 数据类型和常数 (12)2.2 变量 (15)2.3 函数 (17)2.4 表 (24)2.5 表达式 (27)2.6 常用的符号 (31)2.7 练习题 (31)周六5-8节14:00-17:10第3章微积分的基本操作 (32)3.1 极限 (32)3.2 微分 (32)3.3 计算积分 (35)3.4 无穷级数 (37)3.5 练习题 (38)周六9-10节19:00-20:30第4章微分方程的求解 (39)4.1 微分方程解 (39)4.2 微分方程的数值解 (40)4.3 练习题 (41)周日1-4节8:00-11:10第5章MATHEMATICA的基本运算 (42)5.1 多项式的表示形式 (42)5.2 方程及其根的表示 (44)5.3 求和及求积 (48)5.4 练习题 (50)第6章函数作图 (51)6.1 基本的二维图形 (51)6.2 二维图形元素 (58)6.3 基本三维图形 (60)6.4 练习题 (66)周日5-8节14:00-17:10第7章MATHEMATICA函数大全 (67)7.1 运算符和一些特殊符号,系统常数 (67)7.2 代数计算 (69)7.3 解方程 (70)7.4 微积分 (71)7.5 多项式函数 (73)7.6 随机函数 (75)7.7 数值函数 (75)7.8 表相关函数 (77)7.9 绘图函数 (81)7.10 流程控制 (86)第8章MATHEMATICA程序设计 (90)8.1 模块和块中的变量 (90)8.2 条件结构 (93)8.3 循环结构 (96)8.4 流程控制 (100)8.5 练习题 (102)周日9-10节19:00-20:30小测验第1章Mathematica概述1.1 Mathematica的启动及运行Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。

Mathematic简明教程

Mathematic简明教程
Mathematica 教程
第 1 章 Mathematica 概述
1.1 1.2 1.3 运行和启动:介绍如何启动 Mathematica 软件,如何输入并运行命令 表达式的输入:介绍如何使用表达式 帮助的使用:如何在 mathematica 中寻求帮助
第 2 章 Mathematica 的基本量
3.1 3.2 3.3 多项式运算:多项的四则运算,多项式的化简等 方程求解:求解一般方程,条件方程,方程数值解以及方程组的求解 求积求和:求积与求和
第 4 章 函数作图
4.1 4.2 4.3 4.4 4.5 二维函数作图:一般函数的作图,参数方程的绘图 二维图形元素:点,线等图形元素的使用 图形样式:图形的样式,对图形进行设置 图形的重绘和组合:重新显示所绘图形,将多个图形组合在一起 三维图形的绘制:三维图形的绘制,三维参数方程的图形,三维图形的 设置
x 2
x
n
x
Ctrl +2 x Ctrl+_
( x 1)4 ,可以按如Ctrl+ ^,+,4,→,Ctrl+/,Ctrl+2,2,x,+,y 另外也可从“文件”菜单中激活“控制面板” “Basic Input”工具栏,也可输入,并且 使用工具栏可输入更复杂的数学表达式,如下图 4。
1.3
Mathematica 的联机帮助系统
用 Mathematica 的过程中, 常常需要了解一个命令的详细用法, 或者想知系统中是否有 完成某一计算的命令,联机帮助系统永远是最详细、最方便的资料库。
1.获取函数和命令的帮助
在 Notebook 界面下,用 ?或 ?? 可向系统查询运算符、函数和命令的定义和用法,获 取简单而直接的帮助信息。 例如, 向系统查询作图函数 Plot 命令的用法 ?Plot 系统将给 出调用 Plot 的格式以及 Plot 命令的功能(如果用两个问号 “??” , 则信息会更详细一 些)。? Plot* 给出所有以 Plot 这四个字母开头的命令。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Mathematic简单教程§1 初等代数1.有理式的运算1.多项式的展开(常用命令见表1.1)In[1]:= f=Expand[(x+y+3)^2]Out[1]:= 9+6x+x^2+6y+2xy+y^2In[2]:= Factor[f]Out[2]:= (3+x+y)^2In[3]:= Exponent[f,x]Out[3]:= 2In[4]:= Coefficient[f,x]Out[4]:= 6+2y2.有理式的运算(常用命令见表1.2)In[5]:= Factor[(x^3+2x+1)/(x^3+x^2+x+1)]Out[5]:= (1+2x+x^3)/(1+x)(1+x^2)In[6]:= Apart[%]In[6]:= 1-1/(1+x)+1/(1+x^2)3.多项式的代数运算(常用命令见表1.3)In[7]:=PolynomialQuotient[1+x^2,x+1,x]Out[7]:=-1+xIn[8]: =PolynomialGCD[x^2+2X+1,x^3+1,x^5+1]Out[8]:=1+x1.2 方程求解In[1]:=Solve[a*x+b==0,x]Out[1]={{x->-b/a}}In[2]:=Reduce[a*x+b==0,x]Out[2]= b==0&&a==0\\a≠0&&x==-b/aIn[3]: = FindRoot[Sin[x]==0,{x,3}]Out[3]= {x->3.14159}In[4]:= FindRoot[Sin[x]==0,{x,{6,6.5}}]Out[4]= {x->6.28319}In[5]:= FindRoot[{2^x+y^2==4,x^2+Sin[y]==1},{x,0},{y,0}]2微积分In[1]: = Limit[Sin[x]/x,x->0]Out[1]=1In[2]:=DI[Sin[n*x],x]Out[2]=nCos[nx]微积分的常用命令如表1.5所示,下面是一些例子。

Out[3]=-n^3Cos[n x]In[4]:=Dt[Sin[n*x],x]Out[4]=Cos[n x](n +xDt[n,x])In[5]:=Dt[Sin[n*x],x,Constants->n]Out[5]= nCos[n x]In[6]:= Integrate[Log[x],x]Out[6]= -x +xLog[x]In[7]:=Integrate[Tan[x]*Tan[y],{x,0,1},{y,0,1}]Out[7] = Log[Cos[1]]^2In[8]:= Nintegrate[Exp[-x^2/2],{x,0,Infinity}]Out[8]= 1.25331In[9]:= Dsolve[y’[x]-y[x]= =1,y[x],x]Out[9]= {{y[x]->-1 +E^xC[1]}}In[10]:= Series[ArcTan[x],{x,o,5}]Out[10]= x-x^3/3 +x^5/5 +0[x]^63线性代数3.1向量与矩阵的定义(常用命令见表1。

6)表1。

6 向量与矩阵的定义的常用命令In[1]:= A=Array[a,{2,2}];A[1,1]=2;a[1,2]=3;a[2,1]=4;a[2,2]=5;AOut[2]= {{2,3},{4.5}}In[3]:= B=Table[1.0,{2},{2}]Out[3]= {{1.,1.}.{1.,1.}}3.2 向量与矩阵的运算向量与矩阵都可以看作为集合,因此有关集合的运算都能适用于向量与矩阵。

另外,向量与矩阵还有表1。

7中的一些运算:In[4]:= R=A-2*BOut[4]= {{0.,1.},{2.,3.}}In[5]:= Inverse[R]Out[5]= {{-1.5.,0.5},{1,0}}In[6]:= Eigenvectors[R]Out[6]= {{-0.270323,-0.96277},{-0.871928,0.489634}}In[5]:= Exp[R]Out[6]= {{1.,2.71828{,{7.38906,20.0855}}§4 计算方法4.1插值Mathematica软件中的插值有两种形式:InterpoiatingPoiynomial[data,var] 多项式插值Interpoiation[data] 一般插值其中data为被插值的数据,形式为{{x1,y1},{x2,y2},……,{xn,yn}}var为插值变量,一般可取为xIn[1]:= d=Table[{x,Log[x]},{x,1.0,3.0}];InterpolatingPolynomial[d,x]Out[2]= (0.693147-0.143841(-2.+x))(-1.+x)In[3]:= dat=Table[{x,Sin[x]},{x,0.2,0.1}];F=Interpolation[dat]Ont[4]= InterpolatingFuntion[{{0.,2.}},〈〉]在上面的第二个例子中,输出结果表示一个[0,2]上的插值函数,此插值函数无法给出表达式.我们可以比较函数Sin[x]与所得到的插值函数的误差.In[5]:= Ploy[Sin[x]-f[x],{x,0,2}]-图1.1拟合误差图有图1.1可以看出,两个函数的误差相当小(数量级为10-6).4.2拟合下面的命令用来对数据data进行最小二乘拟合.Fit[data,funs,vars]其中data为要拟合的数据,funs为拟合函数的基,vars为拟合的变量.In[6]:= Clear[d];D=Table[{x,Log[x]},{x,1,10,1}];Fit[d,{1,x,x2},x]Out[8]= -0.355396+0.529707x-0.0272091x24.3最优化下面的命令用来求函数f[x]在x0附近的极小值.FindMinimum[f[x],[x,x0]]In[9]:= t=FindMinimum[Sin[x],{x,5}]Out[9]= {-1.,{x->4.71239}}若要在程序中引用上面的结果中的函数的极小值或x的值,可以用下面的命令:In[10]:= t[[1]]Out[10]= -1.In[11]:= x/.t[[2,1]](*在此处等价与x/.x->4.71239*)Out[11]= 4.17239§6编程6.1分支结构在复杂的计算中常需要根据表达式的情况(它是否满足一些条件)确定是否做某些处理,或在满足不同条件是做不同的处理。

Mathematica软件提供了一些描述条件分支的结构,它们常用在程序里,用于控制程序的执行情况。

If语句Mathematica软件中If语句有三种形式。

形式一:if[test,expr]当test的值为True时,对expr求值,将它的值作为整个语句的值;当test的值为False时,则给出空值Null .形式二:If[test,expr1,expr2]当tesrt的值为True时,求xpr1的值作为整个语句的值;当test的值为False时,求expr2的值作为整个语句的值。

形式三:If[test,expr1,expr2,expr3]当tesrt的值为True时,求xpr1的值作为整个语句的值;当test的值为False时,求expr2的值作为整个语句的值;当test求不出值为Tre与Fallse时, 求expr3值作为整个语句的值。

In[1]:= abs[x_]=If[x>=0,x,-x]In[1]中定义出的函数abs[x]即为绝对值函数Abs[x].In[2]:= f[x_]:=If[x.5,3,2,1]In[3]:= f[6]Out[3]= 3In[4]:= f[5]Out[4]= 2In[5]:= f[a]Out[5]= 12 .Which语句Which[test1,expr1,test2,expr2,┈]该语句依次出每个条件的值,当出第一个值为True的条件时,求出应表达式的值作为整个语句的值.例In[6]:= g[x_]:=Which[x>=8,8,x>=6,6,x>=4,4,True,0]用”True”作为which语句的最后一个条件,可以处理”其它”情况.在此处即为,当x<4时,g[x_]取值为06.2循环结构高级程序语言都提供了重复执行的循环语句。

在Mathematica软件这也提供了一些类似的循环控制结构。

1. While [test,expr]在计算时,条件test 先被求值。

若求出值为True,则对表达式求值,然后再重复上述过程;一旦test 的值不是True ,整个循环结构计算结束。

例如下面的程序可用来计算∑=1001k k 与100!K=1;s=0;p=1;While[k<=100,s=s+k;p=p*k;k++]; Print[“s=”,s,”p=”,p]2.For[start,test,incr,body] 在计算时,其初始表达式start 首先求值,然后进入循环,依次计算条件test ,步进表达式incr 与循环体body 。

一旦test 的值不是True, 整个循环结构计算结束。

我们可以将上面的呈现用For 循环的形式改写如下: s=0;p=1;For[k=1,k<=100,k++,s=s+k;p=p*k]; Print[“s=”,s,”p=”,p]3.Do[expr,{I,imin,imax,di}]在循环变量I 依步长di 从imin 取道imax 时,重复计算表达式expr. 上述程序可用Do 循环的形式写为: s=0;p=1;for[k=1,k<=100,k++,s=s+k;p=p*k]; Print[“s=”,s,”p=”,p]6.3过程在高级程序设计语言中提供了子程序功能,用来将某些语句串在一起以实现某种目的。

Mathematca 软件中的过程也有类似的功能。

在Mathematca 软件中主要有两种过程。

1,[expr1;expr2;…expn]这一过程的输出值为最后一个表达式exprn 的值。

下面的程序用来检验一个正整数是否可以写成两个素数的和。

如果正整数x 不能写成两个素数的和,则p[x]是一个空集;如正整数x 能写成两个素数的和,则p[x]给出两个素数构成的集合,这两个素数的和为x.p[x_]:= {m=2;n=Floor[x/2];s={}; While[s=={}&&m<=n,If[PrimeQ[m]&7PrimeQ[x-m],s={m,x-m}]; m++]; s }2.Module[{x=x0,y,…},exprl;expr2;…;exprn]在Module 过程中,大括号中的语句用来说明局部变量,并可以赋初值。

相关文档
最新文档