mathematic使用指南
数学软件Mathematica

Take[list,k]
前 k 个分量
Take[list,-k]
最后 k 个分量
Take[list,{i}]
{list[[i]]}
Take[list,{i,j}]
{list[[i]],list[[i+1]], ..., list[j]}
list[[i;;j]]
同上
Take[list,{i,j,h}]
Degree
角度到弧度的转换系数,Pi/180
E
自然对数的底,2.71828...
EulerGamma
Euler 常数:
GoldenRatio
黄金分割数:
I
虚部单位
Infinity
无穷大
Pi
圆周率
整数,有理数,实数(任意精度和机器精度),复数
*
基本运算符
基本运算:
+ - * /
加减乘除
{list[[i]],list[[i+h]], ... }
list[[i;;j;;h]]
同上
*
列表修改
Drop[list,{k}]
删除第 k 个分量
Drop[list,k]
删除前 k 个分量
Drop[list,-k]
In[2]:= g[x_,y_]:=2*x+y (* 函数 *)
In[3]:= f[2,3] (* 结果是什么? *)
*
字符串
字符串:用双引号括起来的字符序列
字符串相关函数
Characters[str]
转化为字符列表
StringJoin[s1,s2,...]
字符串合并
s1<>s2<>...
mathematica使用指南

mathematica使用指南Mathematica是一款功能强大的数学软件,具备广泛的应用领域,包括数学、统计学、物理学、工程学等等。
本文将为您提供一份Mathematica的使用指南,帮助您快速入门并提高使用效率。
1. Mathematica简介Mathematica是由Wolfram Research公司开发的一款通用计算软件,它具备数值计算、符号计算、图形绘制等多种功能。
Mathematica基于Wolfram Language语言,用户可以直接在其中编写代码进行计算和分析。
2. 安装与启动首先您需要从Wolfram Research公司官方网站下载Mathematica安装文件,并按照安装向导完成安装过程。
安装完成后,您可以在计算机上找到Mathematica的启动图标,点击即可启动该软件。
3. Mathematica界面介绍Mathematica的主界面由菜单栏、工具栏、输入区域和输出区域组成。
菜单栏提供了各种功能选项,工具栏包含常用工具按钮,输入区域用于输入代码,而输出区域用于显示计算结果。
4. 基本计算在输入区域中,您可以直接输入数学表达式进行计算。
例如,输入"2 + 3",然后按下Enter键即可得到计算结果"5"。
Mathematica支持基本的算术运算、三角函数、指数函数等数学操作。
5. 变量与函数您可以使用Mathematica定义变量并进行计算。
例如,输入"x = 2",然后再输入"y = x^2",按下Enter键后,变量y会被赋值为2的平方,即4。
定义的变量可以在后续计算中使用。
6. 图形绘制Mathematica提供了丰富的图形绘制功能。
您可以使用Plot函数绘制函数曲线,使用ListPlot函数绘制离散数据点,还可以绘制3D图形等等。
通过调整参数和选项,您可以自定义图形的样式和外观。
mathematica用法

Mathematica是一款非常强大的数学软件,它支持符号计算、数值计算和图形可视化等功能。
以下是一些Mathematica的基本用法:
表达式输入:在Mathematica中,可以通过输入表达式来得到结果。
例如,输入 2 + 3,然后按下回车键,就会得到结果5。
定义变量:使用Let 命令可以定义变量,例如Let[x = 5]。
使用函数:Mathematica提供了大量的内置函数,可以直接使用。
例如,Sin[x] 可以计算sin(x)的值。
使用Pattern替换:Mathematica支持模式替换,可以通过/. 操作进行。
例如,设 a 是一个变量,有a/.a->1 就可以将所有出现的a 替换为1。
使用纯函数:纯函数是一个没有副作用的函数,它对参数进行操作并返回结果,不会改变参数的值。
在Mathematica中,可以使用Function 命令定义纯函数。
例如,f = Function[{x}, x^2] 可以定义一个对输入的x进行平方操作的纯函数。
使用Plot和ParametricPlot:Plot 和ParametricPlot 是Mathematica中用于绘图的命令,可以用来绘制函数的图像或者参数方程的图像。
例如,Plot[Sin[x], {x, 0, 2*Pi}] 就会绘制sin(x)的图像。
Mathematica高级数学建模与计算教程

Mathematica高级数学建模与计算教程第一章:Mathematica概述Mathematica是一种强大的数学建模和计算工具,它能够帮助用户解决各种复杂的数学问题。
本章将介绍Mathematica的基本概念、界面和功能,以及如何开始使用Mathematica。
1.1 Mathematica的基本概念Mathematica是由Wolfram Research公司开发的一款数学软件,它集成了数学计算、数据分析、可视化等多种功能,广泛应用于科学研究、工程和金融等领域。
Mathematica的核心是一种高级程序语言,用户可以用它进行数学建模和计算,并通过交互式界面进行操作。
1.2 Mathematica的界面和功能Mathematica的主界面分为菜单栏、工具栏和工作区等部分。
菜单栏提供了各种功能的快捷操作,工具栏则包含了常用的工具和命令按钮。
在工作区中,用户可以编写和执行Mathematica代码,并查看结果。
1.3 快速开始在Mathematica中,用户可以使用各种内置的函数和命令来进行数学建模和计算。
例如,可以使用内置函数Plot来绘制函数图像,使用函数Solve来求解方程,使用函数Integrate来进行积分等等。
用户可以通过简单的代码来描述数学问题,并得到计算结果。
第二章:数学建模基础数学建模是将实际问题转化为数学问题,并使用数学方法进行求解的过程。
本章将介绍数学建模的基本原理和方法,并结合具体例子演示如何使用Mathematica进行数学建模。
2.1 数学建模的基本原理数学建模的过程可以分为问题定义、数学模型的建立、模型求解和结果分析等几个步骤。
问题定义阶段需要明确问题的背景、目标和约束条件;数学模型的建立阶段需要选择合适的数学模型来描述问题;模型求解阶段需要使用合适的方法和工具进行求解;结果分析阶段需要对求解结果进行验证和解释。
2.2 使用Mathematica进行数学建模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 使用手册1.简介1.1 Mathematica 简介1.2 Mathematica 的应用领域1.3 Mathematica 的基本特性2.安装与启动2.1 系统要求2.2 安装 Mathematica2.3 启动 Mathematica2.4 探索 Mathematica 界面2.5 设置用户首选项3.数值计算3.1 基本数值运算3.2 数值函数的使用3.3 数值积分与微分3.4 数值解方程3.5 特殊数值计算技巧4.符号计算4.1 符号数据类型4.2 符号运算与化简4.3 方程求解与解析解4.4 函数极限和级数展开4.5 矩阵与线性代数运算5.绘图与可视化5.1 绘制函数图像5.2 绘制二维与三维图形5.3 自定义图形选项5.4 绘制动态图形5.5 数据可视化6.编程与函数定义6.1 Mathematica 的编程语言 6.2 函数的定义与使用6.3 控制流程与条件判断6.4 模块化与函数封装6.5 文件读写与外部程序交互7.数据分析与统计7.1 数据导入与清洗7.2 数据处理与转换7.3 数据可视化与探索7.4 数值统计与假设检验7.5 机器学习与数据建模8.物理与工程应用8.1 经典力学模拟8.2 电磁场与电路分析8.3 量子力学与粒子物理8.4 工程建模与仿真8.5 数据分析在物理与工程中的应用9.MATLAB 兼容性与互操作9.1 导入与导出 MATLAB 数据9.2 运行 MATLAB 代码9.3 在 Mathematica 中调用 MATLAB 函数 9.4 在 MATLAB 中调用 Mathematica 函数9.5 MATLAB 兼容性的限制与注意事项10.Mathematica 社区与资源10.1 论坛和社区支持10.2 官方文档与教程10.3 第三方扩展包与资源10.4 在线学习资源10.5 Mathematica 社区的活动与会议本文档涉及附件:附件1:示例代码文件附件2:图形绘制示例文件附件3:数据分析样本数据集本文所涉及的法律名词及注释:1.版权:法律上对原创作品的保护权益。
mathmatic 基本用法

mathmatic 基本用法Mathematica是一种强大的数学软件,它具有广泛的数学计算和可视化功能。
基本用法包括使用Mathematica进行数学运算、求解方程、绘制图表等。
1.数学运算:Mathematica可以进行基本的数学运算,如加减乘除、幂运算、三角函数、对数函数等。
例如,可以输入"2+3"得到结果"5",输入"Sin[π/2]"得到结果"1"。
2.方程求解:Mathematica可以求解各种类型的方程。
例如,可以输入"Solve[x^2 - 3x + 2 == 0, x]"来求解这个二次方程,得到结果"x == 1 || x == 2"。
3.符号计算:Mathematica可以进行符号计算,包括展开、化简、因式分解等。
例如,可以输入"Simplify[(x^2 + x - 6)/(x + 3)]"来化简这个表达式,得到结果"x - 2"。
4.绘图功能:Mathematica可以生成各种类型的图表,包括二维曲线图、三维曲面图、柱状图、散点图等。
例如,可以输入"Plot[Sin[x], {x, 0, 2π}]"来绘制正弦函数的曲线图。
除了基本用法外,Mathematica还有许多其他功能,如矩阵计算、微积分、概率统计、符号推导、动态演示等。
它还提供了大量的内置函数和算法,可以用于求解复杂的数学问题。
使用Mathematica还可以进行科学计算、工程计算、数据分析等各种应用领域。
总之,Mathematica是一款功能强大的数学软件,可以帮助用户进行各种数学计算和可视化操作。
Mathematica用法I

Plot3D[z,{x,a,b},{y,c,d}] 三维曲面绘图
ParametricPlot3D[{x,y,z},{u, a,b},{v,c,d}]
三维曲面参数方程绘图
Print[x,y,...]
在屏幕输出变量的值
初学者易犯的错误 ⑴ 大小写错误:系统的内部操作命令及内部函数的首写字
母都是大写,第二个单词的首字母一般也是大写; ⑵ 括号错误:大、中、小三种括号用法错误;或括号个数
绝对值 幂函数 x y 平方根 以 e 为底的指数函数 以 e 和 b 为底的对数函数 m 除以 n 的余数 m 除以 n 的整数商 三角函数 反三角函数 生成 [a,b] 内的一个随机实数 生成 [a,b] 内的一个随机整数 判断 n 是否为素数 求方程(组)的精确解 用Newton法求方程组的一个近似解
① 所有命令和内置函数都是以大写字母开始 ② 函数的参数是在方括号中给出 ③ 乘法运算符可以用空格代替(不建议这么做) ④ 可以运行单个命令或语句,也可输入全部语句后
再按执行键shift+Enter ⑤ 命令(语句)分隔符:回车或分号 ⑥ 如果不需要显示运行结果:在语句后面加分号 ⑦ 输入和输出标识符:In[n]: 和 Out[n]:
请同学们在Notebook上完成如下输入,观察输出结果。
Abs[2+3 I]
Power[2,1ቤተ መጻሕፍቲ ባይዱ0]
Sqrt[-3]
Exp[0]
Mod[100,9]
Sin[Pi/4]
PrimeQ[97]
N[Pi,1000000]
Random[Integer,{1,14}]
(2)符号计算功能 Mathematica的主要特点就是进行符号运算,如下所示:
Mathematica常用函数的中文说明及使用方法

Mathematica常⽤函数的中⽂说明及使⽤⽅法Mathematica常⽤函数的中⽂说明及使⽤⽅法---------------------------------------------------------------------注:为了对Mathematica有⼀定了解,使同学系统掌握Mathematica的强⼤功能,将常⽤函数的中⽂说明及使⽤⽅法总结如下,希望能对⼤家有所帮助。
---------------------------------------------------------------------⼀、运算符及特殊符号Line1; 执⾏Line,不显⽰结果Line1,line2 顺次执⾏Line1,2,并显⽰结果name 关于系统变量name的信息name 关于系统变量name的全部信息!command 执⾏Dos命令n! N的阶乘!!filename 显⽰⽂件内容<Expr>> filename 打开⽂件写Expr>>>filename 打开⽂件从⽂件末写() 结合率[] 函数{} ⼀个表<*Math Fun*> 在c语⾔中使⽤math的函数(*Note*) 程序的注释#n 第n个参数## 所有参数rule& 把rule作⽤于后⾯的式⼦% 前⼀次的输出%% 倒数第⼆次的输出%n 第n个输出var::note 变量var的注释"Astring " 字符串Context ` 上下⽂a+b 加a-b 减a*b或a b 乘a/b 除a^b 乘⽅base^^num 以base为进位的数lhs&&rhs 且lhs||rhs 或!lha ⾮++,-- ⾃加1,⾃减1+=,-=,*=,/= 同C语⾔>,<,>=,<=,==,!= 逻辑判断(同c)lhs=rhs ⽴即赋值lhs:=rhs 建⽴动态赋值lhs:>rhs 建⽴替换规则lhs->rhs 建⽴替换规则expr//funname 相当于filename[expr]expr/.rule 将规则rule应⽤于exprexpr//.rule 将规则rule不断应⽤于expr知道不变为⽌param_ 名为param的⼀个任意表达式(形式变量)param__ 名为param的任意多个任意表达式(形式变量)⼆、系统常数Pi 3.1415....的⽆限精度数值E 2.17828...的⽆限精度数值Catalan 0.915966..卡塔兰常数EulerGamma 0.5772....⾼斯常数GoldenRatio 1.61803...黄⾦分割数Degree Pi/180⾓度弧度换算I 复数单位Infinity ⽆穷⼤-Infinity 负⽆穷⼤ComplexInfinity 复⽆穷⼤Indeterminate 不定式三、代数计算Expand[expr] 展开表达式Factor[expr] 展开表达式Simplify[expr] 化简表达式FullSimplify[expr] 将特殊函数等也进⾏化简PowerExpand[expr] 展开所有的幂次形式ComplexExpand[expr,{x1,x2...}] 按复数实部虚部展开FunctionExpand[expr] 化简expr中的特殊函数Collect[expr, x] 合并同次项Collect[expr, {x1,x2,...}] 合并x1,x2,...的同次项Together[expr] 通分Apart[expr] 部分分式展开Apart[expr, var] 对var的部分分式展开Cancel[expr] 约分ExpandAll[expr] 展开表达式ExpandAll[expr, patt] 展开表达式FactorTerms[poly] 提出共有的数字因⼦FactorTerms[poly, x] 提出与x⽆关的数字因⼦FactorTerms[poly, {x1,x2...}] 提出与xi⽆关的数字因⼦Coefficient[expr, form] 多项式expr中form的系数Coefficient[expr, form, n] 多项式expr中form^n的系数Exponent[expr, form] 表达式expr中form的最⾼指数Numerator[expr] 表达式expr的分⼦Denominator[expr] 表达式expr的分母ExpandNumerator[expr] 展开expr的分⼦部分ExpandDenominator[expr] 展开expr的分母部分TrigExpand[expr] 展开表达式中的三⾓函数TrigFactor[expr] 给出表达式中的三⾓函数因⼦TrigFactorList[expr] 给出表达式中的三⾓函数因⼦的表TrigReduce[expr] 对表达式中的三⾓函数化简TrigToExp[expr] 三⾓到指数的转化ExpToTrig[expr] 指数到三⾓的转化RootReduce[expr]ToRadicals[expr]四、解⽅程Solve[eqns, vars] 从⽅程组eqns中解出varsSolve[eqns, vars, elims] 从⽅程组eqns中削去变量elims,解出vars DSolve[eqn, y, x] 解微分⽅程,其中y是x的函数DSolve[{eqn1,eqn2,...},{y1,y2...},x]解微分⽅程组,其中yi是x的函数DSolve[eqn, y, {x1,x2...}] 解偏微分⽅程Eliminate[eqns, vars] 把⽅程组eqns中变量vars约去SolveAlways[eqns, vars] 给出等式成⽴的所有参数满⾜的条件Reduce[eqns, vars] 化简并给出所有可能解的条件LogicalExpand[expr] ⽤&&和||将逻辑表达式展开InverseFunction[f] 求函数f的逆函数Root[f, k] 求多项式函数的第k个根Roots[lhs==rhs, var] 得到多项式⽅程的所有根五、微积分函数D[f, x] 求f[x]的微分D[f, {x, n}] 求f[x]的n阶微分D[f,x1,x2..] 求f[x]对x1,x2...偏微分Dt[f, x] 求f[x]的全微分df/dxDt[f] 求f[x]的全微分dfDt[f, {x, n}] n阶全微分df^n/dx^nDt[f,x1,x2..] 对x1,x2..的偏微分Integrate[f, x] f[x]对x在的不定积分Integrate[f, {x, xmin, xmax}] f[x]对x在区间(xmin,xmax)的定积分Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}] f[x,y]的⼆重积分Limit[expr, x->x0] x趋近于x0时expr的极限Residue[expr, {x,x0}] expr在x0处的留数Series[f, {x, x0, n}] 给出f[x]在x0处的幂级数展开Series[f, {x, x0,nx}, {y, y0, ny}]先对y幂级数展开,再对xNormal[expr] 化简并给出最常见的表达式SeriesCoefficient[series, n] 给出级数中第n次项的系数SeriesCoefficient[series, {n1,n2...}]'或Derivative[n1,n2...][f] ⼀阶导数InverseSeries[s, x] 给出逆函数的级数ComposeSeries[serie1,serie2...] 给出两个基数的组合SeriesData[x,x0,{a0,a1,..},nmin,nmax,den]表⽰⼀个在x0处x的幂级数,其中ai为系数O[x]^n n阶⼩量x^nO[x, x0]^n n阶⼩量(x-x0)^n六、多项式函数Variables[poly] 给出多项式poly中独⽴变量的列表CoefficientList[poly, var] 给出多项式poly中变量var的系数CoefficientList[poly, {var1,var2...}]给出多项式poly中变量var(i)的系数列表PolynomialMod[poly, m] poly中各系数mod m同余后得到的多项式,m可为整式PolynomialQuotient[p, q, x] 以x为⾃变量的两个多项式之商式p/q PolynomialRemainder[p, q, x] 以x为⾃变量的两个多项式之余式PolynomialGCD[poly1,poly2,...] poly(i)的最⼤公因式PolynomialLCM[poly1,poly2,...] poly(i)的最⼩公倍式PolynomialReduce[poly, {poly1,poly2,...},{x1,x2...}]得到⼀个表{{a1,a2,...},b}其中Sum[ai*polyi]+b=polyResultant[poly1,poly2,var] 约去poly1,poly2中的varFactor[poly] 因式分解(在整式范围内)FactorTerms[poly] 提出poly中的数字公因⼦FactorTerms[poly, {x1,x2...}] 提出poly中与xi⽆关项的数字公因⼦FactorList[poly]给出poly各个因⼦及其指数{{poly1,exp1},{...}...}FactorSquareFreeList[poly]FactorTermsList[poly,{x1,x2...}] 给出各个因式列表,第⼀项是数字公因⼦,第⼆项是与xi⽆关的因式,其后是与xi有关的因式按升幂的排列Cyclotomic[n, x] n阶柱函数Decompose[poly, x] 迭代分解,给出{p1,p2,...},其中p1(p2(...))=poly InterpolatingPolynomial[data, var] 在数据data上的插值多项式data可以写为{f1,f2..}相当于{{x1=1,y1=f1}..}data可以写为{{x1,f1,df11,df12,..},{x2,f2,df21..}可以指定数据点上的n阶导数值RootSum[f, form] 得到f[x]=0的所有根,并求得Sum[form[xi]]七、随机函数Random[type,range] 产⽣type类型且在range范围内的均匀分布随机数type可以为Integer,Real,Complex,不写默认为Realrange为{min,max},不写默认为{0,1}Random[] 0~1上的随机实数SeedRandom[n] 以n为seed产⽣伪随机数如果采⽤了 <在2.0版本为 <<"D:\\Math\\PACKAGES\\STATISTI\\Continuo.m" Random[distribution]可以产⽣各种分布如Random[BetaDistribution[alpha, beta]]Random[NormalDistribution[miu,sigma]]等常⽤的分布如BetaDistribution,CauchyDistribution,ChiDistribution, NoncentralChiSquareDistribution,ExponentialDistribution, ExtremeValueDistribution,NoncentralFRatioDistribution, GammaDistribution,HalfNormalDistribution, LaplaceDistribution, LogNormalDistribution,LogisticDistribution,RayleighDistribution,NoncentralStudentTDistribution, UniformDistribution, WeibullDistribution⼋、数值函数N[expr] 表达式的机器精度近似值N[expr, n] 表达式的n位近似值,n为任意正整数NSolve[lhs==rhs, var] 求⽅程数值解NSolve[eqn, var, n] 求⽅程数值解,结果精度到n位NDSolve[eqns, y, {x, xmin, xmax}]微分⽅程数值解NDSolve[eqns, {y1,y2,...}, {x, xmin, xmax}]微分⽅程组数值解FindRoot[lhs==rhs, {x,x0}] 以x0为初值,寻找⽅程数值解FindRoot[lhs==rhs, {x, xstart, xmin, xmax}]NSum[f, {i,imin,imax,di}] 数值求和,di为步长NSum[f, {i,imin,imax,di}, {j,..},..] 多维函数求和NProduct[f, {i, imin, imax, di}]函数求积NIntegrate[f, {x, xmin, xmax}] 函数数值积分优化函数:FindMinimum[f, {x,x0}] 以x0为初值,寻找函数最⼩值FindMinimum[f, {x, xstart, xmin, xmax}]ConstrainedMin[f,{inequ},{x,y,..}]inequ为线性不等式组,f为x,y..之线性函数,得到最⼩值及此时的x,y..取值ConstrainedMax[f, {inequ}, {x, y,..}]同上LinearProgramming[c,m,b] 解线性组合c.x在m.x>=b&&x>=0约束下的最⼩值,x,b,c为向量,m为矩阵LatticeReduce[{v1,v2...}] 向量组vi的极⼩⽆关组数据处理:Fit[data,funs,vars]⽤指定函数组对数据进⾏最⼩⼆乘拟和data可以为{{x1,y1,..f1},{x2,y2,..f2}..}多维的情况emp: Fit[{10.22,12,3.2,9.9}, {1, x, x^2,Sin[x]}, x]Interpolation[data]对数据进⾏差值,data同上,另外还可以为{{x1,{f1,df11,df12}},{x2,{f2,.}..}指定各阶导数InterpolationOrder默认为3次,可修改ListInterpolation[array]对离散数据插值,array可为n维ListInterpolation[array,{{xmin,xmax},{ymin,ymax},..}] FunctionInterpolation[expr,{x,xmin,xmax}, {y,ymin,ymax},..]以对应expr[xi,yi]的为数据进⾏插值Fourier[list] 对复数数据进⾏付⽒变换InverseFourier[list] 对复数数据进⾏付⽒逆变换Min[{x1,x2...},{y1,y2,...}]得到每个表中的最⼩值Max[{x1,x2...},{y1,y2,...}]得到每个表中的最⼤值Select[list, crit] 将表中使得crit为True的元素选择出来Count[list, pattern] 将表中匹配模式pattern的元素的个数Sort[list] 将表中元素按升序排列Sort[list,p] 将表中元素按p[e1,e2]为True的顺序⽐较list的任两个元素e1,e2,实际上Sort[list]中默认p=Greater集合论:Union[list1,list2..] 表listi的并集并排序Intersection[list1,list2..] 表listi的交集并排序Complement[listall,list1,list2...]从全集listall中对listi的差集九、虚数函数Re[expr] 复数表达式的实部Im[expr] 复数表达式的虚部Abs[expr] 复数表达式的模Arg[expr] 复数表达式的辐⾓Conjugate[expr] 复数表达式的共轭⼗、数的头及模式及其他操作Integer _Integer 整数Real _Real 实数Complex _Complex 复数Rational_Rational 有理数(*注:模式⽤在函数参数传递中,如MyFun[Para1_Integer,Para2_Real]规定传⼊参数的类型,另外也可⽤来判断If[Head[a]==Real,...]*) IntegerDigits[n,b,len] 数字n以b近制的前len个码元RealDigits[x,b,len] 类上FromDigits[list] IntegerDigits的反函数Rationalize[x,dx] 把实数x有理化成有理数,误差⼩于dxChop[expr, delta] 将expr中⼩于delta的部分去掉,dx默认为10^-10 Accuracy[x] 给出x⼩数部分位数,对于Pi,E等为⽆限⼤Precision[x] 给出x有效数字位数,对于Pi,E等为⽆限⼤SetAccuracy[expr, n] 设置expr显⽰时的⼩数部分位数SetPrecision[expr, n] 设置expr显⽰时的有效数字位数⼗⼀、区间函数Interval[{min, max}] 区间[min, max](* Solve[3 x+2==Interval[{-2,5}],x]*) IntervalMemberQ[interval, x] x在区间内吗?IntervalMemberQ[interval1,interval2] 区间2在区间1内吗?IntervalUnion[intv1,intv2...] 区间的并IntervalIntersection[intv1,intv2...] 区间的交⼗⼆、矩阵操作a.b.c 或 Dot[a, b, c] 矩阵、向量、张量的点积Inverse[m] 矩阵的逆Transpose[list] 矩阵的转置Transpose[list,{n1,n2..}]将矩阵list 第k⾏与第nk列交换Det[m] 矩阵的⾏列式Eigenvalues[m] 特征值Eigenvectors[m] 特征向量Eigensystem[m] 特征系统,返回{eigvalues,eigvectors}LinearSolve[m, b] 解线性⽅程组m.x==bNullSpace[m] 矩阵m的零空间,即m.NullSpace[m]==零向量RowReduce[m] m化简为阶梯矩阵Minors[m, k] m的所有k*k阶⼦矩阵的⾏列式的值(伴随阵,好像是) MatrixPower[mat, n] 阵mat⾃乘n次Outer[f,list1,list2..] listi中各个元之间相互组合,并作为f的参数的到的矩阵Outer[Times,list1,list2]给出矩阵的外积SingularValues[m] m的奇异值,结果为{u,w,v},m=Conjugate[Transpose[u]].DiagonalMatrix[w].vPseudoInverse[m] m的⼴义逆QRDecomposition[m] QR分解SchurDecomposition[m] Schur分解LUDecomposition[m] LU分解⼗三、表函数(*“表”,我认为是Mathematica中最灵活的⼀种数据类型 *)(*实际上表就是表达式,表达式也就是表,所以下⾯list==expr *) (*⼀个表中元素的位置可以⽤于⼀个表来表⽰ *)表的⽣成{e1,e2,...} ⼀个表,元素可以为任意表达式,⽆穷嵌套Table[expr,{imax}] ⽣成⼀个表,共imax个元素Table[expr,{i, imax}] ⽣成⼀个表,共imax个元素expr[i]Table[expr,{i,imin,imax},{j,jmin,jmax},..] 多维表Range[imax] 简单数表{1,2,..,imax}Range[imin, imax, di] 以di为步长的数表Array[f, n] ⼀维表,元素为f[i] (i从1到n)Array[f,{n1,n2..}] 多维表,元素为f[i,j..] (各⾃从1到ni) IdentityMatrix[n] n阶单位阵DiagonalMatrix[list] 对⾓阵元素操作Part[expr, i]或expr[[i]]第i个元expr[[-i]] 倒数第i个元expr[[i,j,..]] 多维表的元expr[[{i1,i2,..}] 返回由第i(n)的元素组成的⼦表First[expr] 第⼀个元Last[expr] 最后⼀个元Head[expr] 函数头,等于expr[[0]]Extract[expr, list] 取出由表list制定位置上expr的元素值Take[list, n] 取出表list前n个元组成的表Take[list,{m,n}] 取出表list从m到n的元素组成的表Drop[list, n] 去掉表list前n个元剩下的表,其他参数同上Rest[expr] 去掉表list第⼀个元剩下的表Select[list, crit] 把crit作⽤到每⼀个list的元上,为True的所有元组成的表表的属性Length[expr] expr第⼀曾元素的个数Dimensions[expr] 表的维数返回{n1,n2..},expr为⼀个n1*n2...的阵TensorRank[expr] 秩Depth[expr] expr最⼤深度Level[expr,n] 给出expr中第n层⼦表达式的列表Count[list, pattern] 满⾜模式的list中元的个数MemberQ[list, form] list中是否有匹配form的元FreeQ[expr, form] MemberQ的反函数Position[expr, pattern] 表中匹配模式pattern的元素的位置列表Cases[{e1,e2...},pattern]匹配模式pattern的所有元素ei的表表的操作Append[expr, elem] 返回在表expr的最后追加elem元后的表Prepend[expr, elem] 返回在表expr的最前添加elem元后的表Insert[list, elem, n] 在第n元前插⼊elemInsert[expr,elem,{i,j,..}]在元素expr[[{i,j,..}]]前插⼊elemDelete[expr, {i, j,..}] 删除元素expr[[{i,j,..}]]后剩下的表DeleteCases[expr,pattern]删除匹配pattern的所有元后剩下的表ReplacePart[expr,new,n] 将expr的第n元替换为newSort[list] 返回list按顺序排列的表Reverse[expr] 把表expr倒过来RotateLeft[expr, n] 把表expr循环左移n次RotateRight[expr, n] 把表expr循环右移n次Partition[list, n] 把list按每n各元为⼀个⼦表分割后再组成的⼤表Flatten[list] 抹平所有⼦表后得到的⼀维⼤表Flatten[list,n] 抹平到第n层Split[list] 把相同的元组成⼀个⼦表,再合成的⼤表FlattenAt[list, n] 把list[[n]]处的⼦表抹平Permutations[list] 由list的元素组成的所有全排列的列表Order[expr1,expr2] 如果expr1在expr2之前返回1,如果expr1在expr2之后返回-1,如果expr1与expr2全等返回0Signature[list] 把list通过两两交换得到标准顺序所需的交换次数(排列数)以上函数均为仅返回所需表⽽不改变原表AppendTo[list,elem] 相当于list=Append[list,elem];PrependTo[list,elem] 相当于list=Prepend[list,elem];⼗四、绘图函数⼆维作图Plot[f,{x,xmin,xmax}] ⼀维函数f[x]在区间[xmin,xmax]上的函数曲线Plot[{f1,f2..},{x,xmin,xmax}] 在⼀张图上画⼏条曲线ListPlot[{y1,y2,..}] 绘出由离散点对(n,yn)组成的图ListPlot[{{x1,y1},{x2,y2},..}] 绘出由离散点对(xn,yn)组成的图ParametricPlot[{fx,fy},{t,tmin,tmax}] 由参数⽅程在参数变化范围内的曲线ParametricPlot[{{fx,fy},{gx,gy},...},{t,tmin,tmax}]在⼀张图上画多条参数曲线选项:PlotRange->{0,1} 作图显⽰的值域范围AspectRatio->1/GoldenRatio⽣成图形的纵横⽐PlotLabel ->label 标题⽂字Axes ->{False,True} 分别制定是否画x,y轴AxesLabel->{xlabel,ylabel}x,y轴上的说明⽂字Ticks->None,Automatic,fun⽤什么⽅式画轴的刻度AxesOrigin ->{x,y} 坐标轴原点位置AxesStyle->{{xstyle}, {ystyle}}设置轴线的线性颜⾊等属性Frame ->True,False 是否画边框FrameLabel ->{xmlabel,ymlabel,xplabel,yplabel}边框四边上的⽂字FrameTicks同Ticks 边框上是否画刻度GridLines 同Ticks 图上是否画栅格线FrameStyle ->{{xmstyle},{ymstyle}设置边框线的线性颜⾊等属性ListPlot[data,PlotJoined->True] 把离散点按顺序连线PlotSytle->{{style1},{style2},..}曲线的线性颜⾊等属性PlotPoints->15 曲线取样点,越⼤越细致三维作图Plot3D[f,{x,xmin,xmax}, {y,ymin,ymax}]⼆维函数f[x,y]的空间曲⾯Plot3D[{f,s}, {x,xmin,xmax}, {y,ymin,ymax}]同上,曲⾯的染⾊由s[x,y]值决定ListPlot3D[array] ⼆维数据阵array的⽴体⾼度图ListPlot3D[array,shades]同上,曲⾯的染⾊由shades[数据]值决定ParametricPlot3D[{fx,fy,fz},{t,tmin,tmax}]⼆元数⽅程在参数变化范围内的曲线ParametricPlot3D[{{fx,fy,fz},{gx,gy,gz},...},{t,tmin,tmax}]多条空间参数曲线选项:ViewPoint ->{x,y,z} 三维视点,默认为{1.3,-2.4,2}Boxed -> True,False 是否画三维长⽅体边框BoxRatios->{sx,sy,sz} 三轴⽐例BoxStyle 三维长⽅体边框线性颜⾊等属性Lighting ->True 是否染⾊LightSources->{s1,s2..} si为某⼀个光源si={{dx,dy,dz},color}color为灯⾊,向dx,dy,dz⽅向照射AmbientLight->颜⾊函数慢散射光的光源Mesh->True,False是否画曲⾯上与x,y轴平⾏的截⾯的截线MeshStyle 截线线性颜⾊等属性MeshRange->{{xmin,xmax}, {ymin,ymax}}⽹格范围ClipFill->Automatic,None,color,{bottom,top}指定图形顶部、底部超界后所画的颜⾊Shading ->False,True 是否染⾊HiddenSurface->True,False 略去被遮住不显⽰部分的信息等⾼线ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}]⼆维函数f[x,y]在指定区间上的等⾼线图ListContourPlot[array] 根据⼆维数组array数值画等⾼线选项:Contours->n 画n条等⾼线Contours->{z1,z2,..} 在zi处画等⾼线ContourShading -> False 是否⽤深浅染⾊ContourLines -> True 是否画等⾼线ContourStyle -> {{style1},{style2},..}等⾼线线性颜⾊等属性FrameTicks 同上密度图DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}]⼆维函数f[x,y]在指定区间上的密度图ListDensityPlot[array] 同上图形显⽰Show[graphics,options] 显⽰⼀组图形对象,options为选项设置Show[g1,g2...] 在⼀个图上叠加显⽰⼀组图形对象GraphicsArray[{g1,g2,...}]在⼀个图上分块显⽰⼀组图形对象SelectionAnimate[notebook,t]把选中的notebook中的图画循环放映选项:(此处选项适⽤于全部图形函数)Background->颜⾊函数指定绘图的背景颜⾊RotateLabel -> True 竖着写⽂字TextStyle 此后输出⽂字的字体,颜⾊⼤⼩等ColorFunction->Hue等把其作⽤于某点的函数值上决定某点的颜⾊RenderAll->False 是否对遮挡部分也染⾊MaxBend 曲线、曲⾯最⼤弯曲度⼗四、绘图函数(续)图元函数Graphics[prim, options]prim为下⾯各种函数组成的表,表⽰⼀个⼆维图形对象Graphics3D[prim, options]prim为下⾯各种函数组成的表,表⽰⼀个三维图形对象SurfaceGraphics[array, shades]表⽰⼀个由array和shade决定的曲⾯对象ContourGraphics[array]表⽰⼀个由array决定的等⾼线图对象DensityGraphics[array]表⽰⼀个由array决定的密度图对象以上定义图形对象,可以进⾏对变量赋值,合并显⽰等操作,也可以存盘Point[p] p={x,y}或{x,y,z},在指定位置画点Line[{p1,p2,..}]经由pi点连线Rectangle[{xmin, ymin}, {xmax, ymax}] 画矩形Cuboid[{xmin,ymin,zmin},{xmax,ymax,zmax}]由对⾓线指定的长⽅体Polygon[{p1,p2,..}] 封闭多边形Circle[{x,y},r] 画圆Circle[{x,y},{rx,ry}] 画椭圆,rx,ry为半长短轴Circle[{x,y},r,{a1,a2}] 从⾓度a1~a2的圆弧Disk[{x, y}, r] 填充的园、椭圆、圆弧等参数同上Raster[array,ColorFunction->f] 颜⾊栅格Text[expr,coords] 在坐标coords上输出表达式PostScript["string"] 直接⽤PostScript图元语⾔写Scaled[{x,y,..}] 返回点的坐标,且均⼤于0⼩于1颜⾊函数(指定其后绘图的颜⾊)GrayLevel[level] 灰度level为0~1间的实数RGBColor[red, green, blue] RGB颜⾊,均为0~1间的实数Hue[h, s, b] 亮度,饱和度等,均为0~1间的实数CMYKColor[cyan, magenta, yellow, black] CMYK颜⾊其他函数(指定其后绘图的⽅式)Thickness[r] 设置线宽为rPointSize[d] 设置绘点的⼤⼩Dashing[{r1,r2,..}] 虚线⼀个单元的间隔长度ImageSize->{x, y} 显⽰图形⼤⼩(像素为单位)ImageResolution->r 图形解析度r个dpiImageMargins->{{left,right},{bottom,top}}四边的空⽩ImageRotated->False 是否旋转90度显⽰流程控制—————————————————————————————————————⼗五、流程控制分⽀If[condition, t, f] 如果condition为True,执⾏t段,否则f段If[condition, t, f, u] 同上,即⾮True⼜⾮False,则执⾏u段Which[test1,block1,test2,block2..] 执⾏第⼀为True的testi对应的blockiSwitch[expr,form1,block1,form2,block2..]执⾏第⼀个expr所匹配的formi所对应的blocki段循环Do[expr,{imax}] 重复执⾏expr imax次Do[expr,{i,imin,imax}, {j,jmin,jmax},...]多重循环While[test, body] 循环执⾏body直到test为FalseFor[start,test,incr,body]类似于C语⾔中的for,注意","与";"的⽤法相反examp: For[i=1;t =x,i^2<10,i++,t =t+i;Print[t]]异常控制Throw[value] 停⽌计算,把value返回给最近⼀个Catch处理Throw[value, tag] 同上,Catch[expr] 计算expr,遇到Throw返回的值则停⽌Catch[expr, form] 当Throw[value, tag]中Tag匹配form时停⽌其他控制Return[expr] 从函数返回,返回值为exprReturn[ ] 返回值NullBreak[ ] 结束最近的⼀重循环Continue[ ] 停⽌本次循环,进⾏下⼀次循环Goto[tag] ⽆条件转向Label[Tag]处Label[tag] 设置⼀个断点Check[expr,failexpr] 计算expr,如果有出错信息产⽣,则返回failexpr的值Check[expr,failexpr,s1::t1,s2::t2,...]当特定信息产⽣时则返回failexprCheckAbort[expr,failexpr]当产⽣abort信息时放回failexprInterrupt[ ] 中断运⾏Abort[ ] 中断运⾏TimeConstrained[expr,t] 计算expr,当耗时超过t秒时终⽌MemoryConstrained[expr,b]计算expr,当耗⽤内存超过b字节时终⽌运算交互式控制Print[expr1,expr2,...] 顺次输出expri的值examp: Print[ "X=" , X//N , " " ,f[x+1]];Input[ ] 产⽣⼀个输⼊对话框,返回所输⼊任意表达式Input["prompt"] 同上,prompt为对话框的提⽰Pause[n] 运⾏暂停n秒函数编程—————————————————————————————————————⼗六、函数编程(*函数编程是Mathematica中很有特⾊也是最灵活的⼀部分,它充分体现了 *)(*Mathematica的“⼀切都是表达式”的特点,如果你想使你的Mathematica程 *)(*序快于⾼级语⾔,建议你把本部分搞通*)纯函数Function[body]或body& ⼀个纯函数,建⽴了⼀组对应法则,作⽤到后⾯的表达式上Function[x, body] 单⾃变量纯函数Function[{x1,x2,...},body]多⾃变量纯函数#,#n 纯函数的第⼀、第n个⾃变量## 纯函数的所有⾃变量的序列examp: #1^#2& [2,3] 返回第⼀个参数的第⼆个参数次⽅映射Map[f,expr]或f/@expr 将f分别作⽤到expr第⼀层的每⼀个元上得到的列表Map[f,expr,level] 将f分别作⽤到expr第level层的每⼀个元上Apply[f,expr]或f@@expr 将expr的“头”换为fApply[f,expr,level] 将expr第level层的“头”换为fMapAll[f,expr]或f//@expr把f作⽤到expr的每⼀层的每⼀个元上MapAt[f,expr,n] 把f作⽤到expr的第n个元上MapAt[f,expr,{i,j,...}] 把f作⽤到expr[[{i,j,...}]]元上MapIndexed[f,expr] 类似MapAll,但都附加其映射元素的位置列表Scan[f, expr] 按顺序分别将f作⽤于expr的每⼀个元Scan[f,expr,levelspec] 同上,仅作⽤第level层的元素复合映射Nest[f,expr,n] 返回n重复合函数f[f[...f[expr]...]]NestList[f,expr,n] 返回0重到n重复合函数的列表{expr,f[expr],f[f[expr]]..} FixedPoint[f, expr] 将f复合作⽤于expr直到结果不再改变,即找到其不定点FixedPoint[f, expr, n] 最多复合n次,如果不收敛则停⽌FixedPointList[f, expr] 返回各次复合的结果列表FoldList[f,x,{a,b,..}] 返回{x,f[x,a],f[f[x,a],b],..}Fold[f, x, list] 返回FoldList[f,x,{a,b,..}]的最后⼀个元ComposeList[{f1,f2,..},x]返回{x,f1[x],f2[f1[x]],..}的复合函数列表Distribute[f[x1,x2,..]] f对加法的分配率Distribute[expr, g] 对g的分配率Identity[expr] expr的全等变换Composition[f1,f2,..] 组成复合纯函数f1[f2[..fn[ ]..]Operate[p,f[x,y]] 返回p[f][x, y]Through[p[f1,f2][x]] 返回p[f1[x],f2[x]]Compile[{x1,x2,..},expr]编译⼀个函数,编译后运⾏速度可以⼤⼤加快Compile[{{x1,t1},{x2,t2}..},expr] 同上,可以制定函数参数类型⼗七、替换规则lhs->rhs 建⽴了⼀个规则,把lhs换为rhs,并求rhs的值lhs:>rhs 同上,只是不⽴即求rhs的值,知道使⽤该规则时才求值Replace[expr,rules] 把⼀组规则应⽤到expr上,只作⽤⼀次expr /. rules 同上expr //.rules 将规则rules不断作⽤到expr上,直到⽆法作⽤为⽌Dispatch[{lhs1->rhs1,lhs2->rhs2,...}]综合各个规则,产⽣⼀组优化的规则组查询函数、串函数—————————————————————————————————————⼗⼋、查询函数(*查询函数⼀般是检验表达式是否满⾜某些特殊形式,并返回True或False*)(*可以在Mathematica中⽤“?*Q”查询到 *)ArgumentCountQ MatrixQAtomQ MemberQDigitQ NameQEllipticNomeQ NumberQEvenQ NumericQExactNumberQ OddQFreeQ OptionQHypergeometricPFQ OrderedQInexactNumberQ PartitionsQIntegerQ PolynomialQIntervalMemberQ PrimeQInverseEllipticNomeQ SameQLegendreQ StringMatchQLetterQ StringQLinkConnectedQ SyntaxQLinkReadyQ TrueQListQ UnsameQLowerCaseQ UpperCaseQMachineNumberQ ValueQMatchLocalNameQ VectorQMatchQ⼗九、字符串函数"text" ⼀个串,头为_String"s1"<>"s2"<>..或StringJoin["s1","s2",..] 串的连接StringLength["string"] 串长度StringReverse["string"] 串反转StringTake["string", n] 取串的前n个字符的⼦串,参数同Take[]StringDrop["string", n] 参见Drop,串也就是⼀个表StringInsert["string","snew",n] 插⼊,参见Insert[]StringPosition["string", "sub"] 返回⼦串sub在string中起⽌字母位置StringReplace["string",{"s1"->"p1",..}] ⼦串替换StringReplacePart["string", "snew", {m, n}]把string第m~n个字母之间的替换为snewStringToStream["string"] 把串当作⼀个输⼊流赋予⼀个变量Characters["string"] 把串"string"分解为每⼀个字符的表ToCharacterCode["string"] 把串"string"分解为每⼀个字符ASCII值的表FromCharacterCode[n] ToCharacterCode的逆函数FromCharacterCode[{n1,n2,..}]ToCharacterCode的逆函数ToUpperCase[string] 把串的⼤写形式ToLowerCase[string] 把串的⼩写形式CharacterRange["c1","c2"] 给出ASCII吗在c1到c2之间的字符列表ToString[expr] 把表达式变为串的形式ToExpression[input] 把⼀个串变为表达式Names["string"] 与?string同,返回与string同名的变量列表。
mathematica的使用

微积分基本运算(1)
四、数学常数:
Pi E e=2.71828… Infinity I False True
即π 欧拉常数, 无穷大∞ 虚数单位 假 真
微积分基本运算(1)
五、关系、逻辑运算:
表达式 a==b > 意义 等于 大于 表达式 !p或Not[p] p||q或Or[p,q] 意义 非运算 或运算
表达式的Mathematica内部表示 Font:
设置当前选定内容的字体
Format菜单:执行与各种格式设定相关的操作
Face: 设置当前选定内容字体是否粗体(斜体) Size: 设置当前选定内容的字体大小 TextColor: 设置当前选定内容的文本颜色 Background Color: 设置当前选定内容的背景颜色等。 Show Ruler: 是否显示标尺栏? Show ToolBar: 是否显示工具栏? Magnification: 设定当前屏幕显示的比例, 通常设置为150%较好。
微积分基本运算(1)
算术运算及N,%运算 常见数学函数,数学常量 关系、逻辑运算 求极限,求导,微分,积分: Limit,D,Dt, Integrate, 解方程,方程组 Solve 解微分方程: NSolve,DSolve
微积分基本运算(1)
一、基本算术运算及N,%运算:
(235*456+78)-54 34^45 Pi^23 N[%] 读取上一次的运算结果 N[%15] 取第15次运算结果的数值
Kernel菜单:与Mathematica软件内核运行相关的操作
Interrupt Evaluation与Abort Evaluation: 中断当前命令的运行,当程序陷入死循环 时,或程序运行很久没有反应时,通常采用此 命令,快捷键 Alt+. Show In/Out Names: 是否显示In[2]:=, Out[2]:=等 Delete All Output: 删除当前所有输出
Mathematica数学软件操作技巧及界面详解

Mathematica数学软件操作技巧及界面详解Mathematica是一款十分强大的数学计算软件,它可以广泛应用于科学、工程和教育等领域。
本文将介绍一些Mathematica的操作技巧,并详细解析其界面设计。
一、Mathematica的基本操作技巧1. 输入和计算Mathematica的主界面提供了一个输入框,我们可以在其中输入各种数学表达式和计算公式。
输入时需要遵循一定的语法规则,比如使用^表示乘方,使用*表示乘法,使用/表示除法等。
在输入完毕后,按下Enter键即可进行计算。
2. 变量定义和赋值在Mathematica中,我们可以使用等号(=)来定义和赋值变量。
比如,我们可以输入"radius = 5"来定义一个名为radius的变量,并将其赋值为5。
之后,我们可以直接使用radius来进行计算。
3. 函数调用Mathematica内置了许多数学函数,比如sin、cos、log等。
我们可以使用这些函数来进行各种数学运算。
调用函数时需要在函数名后加上待计算的参数,比如"sin(0.5)"可以计算出0.5的正弦值。
二、Mathematica的界面详解1. 顶部菜单栏Mathematica的顶部菜单栏包含了许多功能按钮,我们可以通过点击这些按钮来执行相应的操作,比如打开文件、保存文件、进行图像绘制等。
2. 工具栏在Mathematica的工具栏上,我们可以找到常用的绘图工具、格式调整工具和计算选项卡等。
这些工具可以帮助我们更加方便地进行数学计算和图形绘制。
3. 文档窗口Mathematica的文档窗口是我们进行数学计算和编写代码的主要区域。
我们可以在文档窗口中输入数学表达式、编写代码,并且可以将计算结果直接显示在文档窗口中。
4. 侧边栏在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使用手册=========================第一章:介绍Mathematica-------------------------------------1.1 Mathematica的概述Mathematica是一种强大的数学计算和数据处理软件,广泛应用于科学、工程、计算机科学等领域。
1.2 安装和启动本节介绍如何安装Mathematica软件并启动它。
1.3 界面和基本操作介绍Mathematica的界面和基本操作,包括工具栏、菜单、笔记本等。
第二章:基本语法和数据类型-------------------------------------2.1 表达式和运算符讲解Mathematica的表达式和运算符,包括数值运算、符号运算、逻辑运算等。
2.2 变量和函数介绍Mathematica中的变量和函数的定义和使用方法。
2.3 数据类型讲解Mathematica中的基本数据类型,包括数值类型、字符串类型、列表类型等。
第三章:图形绘制-------------------------------------3.1 绘制函数图像介绍使用Mathematica绘制函数图像的方法和技巧。
3.2 绘制二维图形讲解Mathematica中绘制二维图形的常用函数和参数设置。
3.3 绘制三维图形介绍Mathematica中绘制三维图形的方法,包括绘制曲面、绘制立体图形等。
第四章:方程求解和数值计算4.1 方程求解讲解Mathematica中方程求解的方法和技巧。
4.2 数值计算介绍Mathematica中数值计算的函数和用法。
4.3 微分方程求解讲解Mathematica中求解微分方程的方法和技巧。
第五章:数据分析和统计-------------------------------------5.1 数据导入和导出介绍Mathematica中的数据导入和导出方法。
mathematica使用指南

Mathematica使用指南1.简介M a th em at ic a是一种功能强大的数学软件,它提供了广泛的数学计算和数据分析功能。
本文档将介绍M at he ma t ic a的基础知识和使用方法,帮助初学者快速上手。
2.安装与配置2.1下载与安装在官方网站上下载Ma t he ma ti ca的安装包,并按照提示完成安装过程。
2.2授权与激活通过输入许可证密钥进行授权和激活,确保软件的正常运行。
3.基本功能3.1符号计算M a th em at ic a可以进行符号计算,包括基本的代数运算、微积分、线性代数等。
使用各种符号和函数进行数学表达式的简化和求解。
3.2图形与可视化M a th em at ic a提供了强大的图形和可视化功能,可以绘制各种二维和三维图形,包括函数图像、曲线、散点图等。
还可以添加标签、注释、图例等增强图形的可读性。
3.3数据分析与统计M a th em at ic a支持数据分析和统计操作,可以导入和处理各种数据格式,并进行数据可视化、分布拟合、假设检验等统计分析。
3.4编程与脚本M a th em at ic a具有强大的编程功能,支持多种编程范式,包括函数式编程、面向对象编程等。
用户可以编写自定义函数和脚本,实现复杂的算法和任务。
4.实例演示为了更好地理解M ath e ma ti ca的使用,本节将介绍几个常见的实例演示,展示其在数学、物理、工程等领域的应用。
4.1解方程使用Ma th em at ic a求解方程是其常见的使用方式之一。
通过给定方程和初始条件,演示如何使用M at he ma ti ca快速求解方程并绘制解的图像。
4.2数据分析以一个实际的数据分析问题为例,展示如何使用M at he ma ti ca导入数据、进行数据清洗和预处理,并通过统计分析和可视化揭示数据的规律。
4.3拟合曲线通过生成一些带有噪声的数据点,并使用M at he ma ti c a进行曲线拟合,展示如何选择合适的拟合模型,并评估拟合的效果。
mathmatic使用说明

Mathematica教程M athematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。
假设在Windows环境下已安装好Mathematica4.0,启动Windows后,在“开始”菜单的“程序”中单击,就启动了Mathematica4.0,在屏幕上显示如图的Notebook窗口,系统暂时取名Untitled-1,直到用户保存时重新命名为止输入1+1,然后按下Shif+Enter键,这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In[1]和Out[1],注意In[1]是计算后才出现的;再输入第二个表达式,要求系统将一个二项式展开,按Shift+Enter输出计算结果后,系统分别将其标识为In[2]和Out[2].如图在Mathematica的Notebook界面下,可以用这种交互方式完成各种运算,如函数作图,求极限、解方程等,也可以用它编写像C那样的结构化程序。
在Mathematica系统中定义了许多功能强大的函数,我们称之为内建函数(built-in function), 直接调用这些函数可以取到事半功倍的效果。
这些函数分为两类,一类是数学意义上的函数,如:绝对值函数Abs[x],正弦函数Sin[x],余弦函数Cos[x],以e为底的对数函数Log[x],以a为底的对数函数Log[a,x]等;第二类是命令意义上的函数,如作函数图形的函数Plot[f[x],{x,xmin,xmax}],解方程函数Solve[eqn,x],求导函数D[f[x],x]等。
必须注意的是:如果输入了不合语法规则的表达式,系统会显示出错信息,并且不给出计算结果,例如:要画正弦函数在区间[-10,10]上的图形,输入plot[Sin[x],{x,-10,10}],则系统提示“可能有拼写错误,新符号‘plot’ 很像已经存在的符号‘Plot’”,实际上,系统作图命令“Plot”第一个字母必须大写,一般地,系统内建函数首写字母都要大写。
Mathematica软件使用入门

Mathematica软件使用入门目录第一章基本知识与基本操作 (3)1.1 Mathematica的基本语法特征 (3)1.2 Mathematica的启动、基本操作 (4)1.3 操作小技巧 (7)1.4 数值计算 (8)1.5 赋值与替换 (9)1.6 自定义函数 (10)1.7 方程与方程组解 (11)1.8 解不等式与不等式组 (12)1.9 由递推式求数列的通项公式 (13)1.10 作函数图像 (14)第二章运用Mathematica实现高等数学中的基本运算 (16)2.1 求极限运算 (16)2.2 求导数与微分 (18)2.3 求不定积分 (25)2.4 求定积分 (25)第三章实验练习题 (28)Mathematica是当今世界上最为流行的计算机代数系统之一.Mathematica系统是美国物理学家Stephen.Wolfram领导的一个小组开发的,后来他们成立了Wolfram研究公司.1987年推出了系统的1.0版;现在的最新版本是8.0版.Mathematica可以做:●符号计算和数值计算问题,如:能做多项式的计算、因式分解和展开等;●做各种有理式计算,求多项式、有理式方程和超越方程的精确解和近似解;●做向量、矩阵的各种计算;●求极限、导数、积分,做幂级数展开,求解某些微分方程等;●做任意位数的整数或分子分母为任意大整数的有理数的精确计算,做具有任意位精度的数值(实、复数值)的计算.●可以很方便地画出用各种方式表示的一元和二元函数的图形,通过图形,可以立即形象地掌握函数的某些特性,而这些特性一般是很难从函数的符号表达式中看清楚.第一章 基本知识与基本操作1.1 Mathematica 的基本语法特征使用Mathematica ,一定要牢牢记住:● Mathematica 中大写小写是有区别的,如Name 、name 、NAME 等是不同的变量名或函数名;● 系统所提供的功能大部分以系统函数的形式给出, 内部函数一般写全称, 而且一定是以大写英文字母开头, 如Sin[x], Cos[z]等;● 乘法即可以用*,又可以用空格表示,如2 3=2*3=6 , 2 Sin[x]=2* Sin[x] ● 乘幂可以用“^”表示,如x^0.5 表示: Tan[x]^y 表示: ● 自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头. ● 当你赋予变量任何一个值,除非你:明显地改变该值或 使用Clear[变量名] 或 使用“变量名=.”取消该值,否则它将始终保持原值不变.● 一定要注意四种括号的用法:0.5x yTan[x]( ):表示项的结合顺序,如: (x+(y^x+1/(2x)));[ ]:表示函数,如:Log[x], Sin[x];{ }:表示一个“表”(即是一组数字、或任意表达式、或函数等的一个有序集合),如:{2x,Sin[12 Pi],A,1}, {1+A,y*x,1,2};[[ ]]:双方括号表示“表”或“表达式”的下标,如:a; {3,5,7}[[2]]=5.a[[2,3]]表示:23●Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔).●当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果.●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键),就得到计算结果:其中“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”→“”即可.1.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”;⑤输入:%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 计算输入:z/.x->5 计算输入:Clear[x,y]; 计算输入:u=x+y 计算输入:u/.{x->5,y->6} 计算 计算结果如下:1.6 自定义函数用户可以自行定义函数,一个函数一旦被定义好之后就可以象系的内部函数一样使用.例1.4 如要定义函数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]即可.② 解方程组 输入:即可(结果见下图).22131x y x y +=⎧⎨-=⎩1.8例1.6 ① ⎪⎩⎪⎨⎧>---01222x x x 输入即可.② 解不等式)3(12>--x x 输入:即可(结果见下图)注: Mathematica系统有内部函数.还有一些系统扩展的功能但不是作为内部函数的、以文件的形式存储在磁盘上的文件,要使用它们,必须用一定的方式来调用这些文件,这些文件我们称之为程序包. 调用方式之一如上所述:或用:Needs["Algebra`InequalitySolve`"] 1.9 由递推式求数列的通项公式例1.7 设求数列的通项公式只要输入:11,1,n na 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,-即可(结果见下图)第二章 运用Mathematica 实现高等数学中的基本运算极限、导数和积分是高等数学中的主要概念和基本运算,如果你在科研中遇到较复杂的求极限、求导数或求积分问题,Mathematica 可以帮你快速解决这些问题。
Mathematica使用教程

Mathematica使⽤教程Mathematica 使⽤教程⼀、要点Mathematica 是⼀个敏感的软件. 所有的Mathematica 函数都以⼤写字母开头; 圆括号( ),花括号{ },⽅括号[ ]都有特殊⽤途, 应特别注意; 句号“.”,分号“;”,逗号“,”感叹号“!”等都有特殊⽤途, 应特别注意; ⽤主键盘区的组合键Shfit+Enter 或数字键盘中的Enter键执⾏命令.⼆、介绍案例1. 输⼊与输出例1 计算 1+1:在打开的命令窗⼝中输⼊1+2+3并按组合键Shfit+Enter 执⾏上述命令,则屏幕上将显⽰:In[1] : =1+2+3 Out[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[%] 则输出这⾥%表⽰上⼀次输出的结果,命令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(x38+++例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 e Exp[x]对数函数x a log Log[a,x]对数函数x ln Log[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] 输出输⼊ N[Pi, 20] 输出注:第⼀个输⼊语句也常⽤另⼀种形式:输⼊ Pi235] 输出 (3) 输⼊ Round[] 输出 -2 例10 计算表达式)6.0arctan(226sin 2ln 1132+-+-e π的值输⼊ 1/(1+Log[2])*Sin[Pi/6]-Exp[-2]/(2+2^(2/3))*ArcTan[.6] 输出2. ⾃定义函数在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 的值,⼜⼀种⽅法*)输出17 97 289注:本例1、2、5⾏的结尾有“;”,它表⽰这些语句的输出结果不在屏幕上显⽰.四、解⽅程在Mathematica 系统内,⽅程中的等号⽤符号“==”表⽰. 最基本的求解⽅程的命令为 Solve[eqns, vars]它表⽰对系数按常规约定求出⽅程(组)的全部解,其中eqns 表⽰⽅程(组),vars 表⽰所求未知变量. 例12 解⽅程0232=++x x 输⼊Solve[x^2+3x+2==0, x] 输出 }}1x {},2x {{-→-→例13 解⽅程组 =+=+1dy 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 →x →x 输⼊ 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,1y=的图形.[-上作出抛物线2x输⼊ Plot[x^2,{x,-1,1}]则输出例18 .输⼊ Plot[{Sin[x],Cos[x]},{x,0,2Pi}]则输出Plot则Mathematica会输出关于这个命令的选项的详细说明,请读者试之.此外,Mathematica的Help菜单中提供了⼤量的帮助信息,其中Help菜单中的第⼀项Help Browser(帮助游览器)是常⽤的查询⼯具,读者若想了解更多的使⽤信息,则应⾃⼰通过Help菜单去学习.编辑本段Mathematica 基本运算a+mathematica数学实验(第2版) b+c 加a-b 减a b c 或 a*b*c 乘a/b 除-a 负号a^b 次⽅Mathematica 数字的形式256 整数实数11/35 分数2+6I 复数常⽤的数学常数Pi 圆周率,π=…E 尤拉常数,e=2.…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]ArcSinh[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清除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 ⼤於等於aa<=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轴之标记。
Mathematica软件的基本用法_11数第一次练习

第1章Mathematica软件的基本用法§1.1启动与运行1.1.1Mathematica的启动假设在Windows环境下已安装好Mathematica5.0,启动Windows后,在“开始”菜单的“程序”中单击,就启动了Mathematica5.0,在屏幕上显示如图的Notebook 窗口,系统暂时为文件取名Untitled-1,直到用户保存时重新命名为止.1.1.2Mathematica的运行输入1+1,然后按下小键盘上的Enter键(或Shif+Enter键. 注:直接按Enter键是表达式换行),这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In[1]和Out[1],注意In[1]是计算后才出现的;再输入第二个表达式Expand[(x+y)^5],要求系统将一个二项式展开,按Shift+Enter输出计算结果后,系统分别将其标识为ln[2]和Out[2]. 如图.为了节省篇幅,本书后面不再把ln[i]与Out[i]写出. 如将“In[1]:=1+1,Out[1]=2”写成“运行1+1得2”.说明:如果把本系统的输出结果复制到Word文档中,在没有安装Mathematica的计算机上无法正常显示,但只要安装了立即变得正常.§1.2基本用法及命令格式1.2.1常量1.数值类型在Mathematic中,基本的数值类型有四种:整数,有理数、实数和复数.如果你的计算机的内存足够大,Mathemateic可以表示任意长度的精确整数及实数,而不受所用的计算机字长的影响. 整数与整数进行四则运算的结果仍是精确的整数或是有理数.例如:2的100次方是一个31位的整数:运行2^100得1267650600228229401496703205376.运行1/2+1/3得5 6 .当两个整数相除而又不能整除时,系统就用有理数来表示.实数既可以是精确值,也可以是用浮点数表示,Mathematica实数的有效位数可取任意位数,是一种具有任意精确度的近似实数,当然在计算的时候也可以控制实数的精度. 实数有两种表示方法:一种是小数形式表示,另外一种是用指数形式表示. 如:运行0.239998得0.239998.运行0.12*10^11得1.2×10实数也可以与整数、有理数进行混合运算,结果还是一个实数.运行2+1/4+0.5得2.75.在Mathematica中,复数是由实部和虚部组成,实部和虚部可以用整数、有理数、实数表示,用I表示虚数单位如:运行3+0.7I得3+0.7 .2.不同类型数的转换在Mathematica的不同应用中,通常对数字的类型要求是不同的. 例如在公式推导中的数字常用整数或有理数表示,而在数值计算中的数字常用实数表示. 在一般情况下在输出行Out[n]中,系统根据输入行ln[n]的数字类型对计算结果做出相应的处理. 如果有一些特殊的要求,就要进行数据类型转换.在Mathematica中提供以下几个函数达到转换数据类型的目的:表1-1举例如下:运行N[5/3]得1.66667,运行N[5/3,20]得1.66666666666666666667(怎么会多一个6呢?)1.6666666666666666667.注:在Mathematica4.0版本中,当016n≤≤时,系统自动以6位有效数字输出计算结果,在更高版本中不受此限制.Rationalize[x]给出x的有理数近似值,如运行Rationalize[0.48]得1225. Mathematica尽量保持计算的精确性,例如运行Rationalize[Pi]得π,运行Rationalize[Sqrt[2]] Rationalize[x,dx]给出x的误差小于dx的有理数近似值,如运行Rationalize[Pi,1]得3;运行Rationalize[Pi,0.1]得227;运行Rationalize[Pi,0.01]得227. 继续计算得π的此后7个不同精度级的有理数依次为:20133335535575948100798103993,,,,,,64106113113241753208533102.用同样的方法算得的前8个各种精度的近似值分别为317419957713933363196011,,,,,,,,2122970408985237813860.数学常数Mathematica中定义了一些常见的数学常数,这些数学常数都是精确数.表1-2黄金分割数应为:(11-+≈0.6180339887. 数学常数可用在公式推导和数值计算中,2在数值计算中表示精确值. 如:运行Pi^2得2π,运行N[Pi^2]得9.8696.1.2.2变量1.变量的命名变量的命名规则:以字母开头,后跟数字和字母的组合,不能跟具有特殊意义的符号如*,?,%,_,/等,长度不限,但Mathematica中内部函数和命令都是以大写字母开始的标识符. 为了不与它门混淆,读者在自定义变量时应该尽量以小写字母开始,另外在Mathematica中的变量也是区分大小写的. 例如:a12,ast,aST都是合法的变量名,而12a,z*a是非法的(提示与建议:给变量命名时,一方面不要用系统保留字,如Pi,E,C,Sin等;另一方面,尽可能与保留字相比至少有两个以上不一样的字符,不然在运行时系统会提示是否为拼写错误).符号%表示刚刚计算的结果,%2(或%%)表示倒数第2个计算结果,%n表示倒数第n个计算结果,在进行交互式计算时可以使用,但在程序中尽量少用.2.给变量赋值在Mathmatica中用等号=为变量赋值. 变量不必定义数值类型,可以表示一个数值,一个数组,一个表达式,甚至一个图形. 如:运行x=3得3;运行x^2+2x得15;运行x=%+1得16.可同时对不同的变量赋不同的值,例如:运行{u,v,w}={1,2,3}得{1,2,3};运行2u+3v+w得11.对于已定义的变量,当你不再使用它时,为防止变量值的混淆,可以随时用“变量名=.”清除它的值,如果变量本身也要清除则用函数Clear[x],例如运行u=.后再运行2u+v得2+2u(前面的运行已有v=2,而u的值1已经清除).3.变量的替换在给定一个表达式时其中的变量可以取不同的值,这时可用变量替换来计算表达式的不同值. 格式为expr/.x->val,例如:运行Clear[x]; f=x/2+1得12x +.运行f/.x->1得32.运行f/.x->4得3.如果表达式中有多个变量也可以同时替换,例如有两个变量时格式为: expr/.{x->xval,y->yval},例如:运行(x+y)*(x-y)^2/.{x->3,y->1-a}得2(4)(2)a a -+.1.2.3 内建函数在Mathematica 的Notebook 界面下,可以用交互方式完成各种运算,如绘制函数图象,求极限、解方程等,也可以用它编写象C 语言那样的结构化程序. 在Mathematica 系统中定义了许多功能强大的函数,我们称之为内建函数(built-in function), 直接调用这些函数可以达到事半功倍的效果. 这些函数分为两类,第一类是数学意义上的函数,如:绝对值函数Abs[x],正弦函数Sin[x],反正弦函数ArcSin[x],余弦函数Cos[x],指数函数Exp[x],以e 为底的对数函数Log[x],以a 为底的对数函数Log[a,x]等;第二类是命令意义上的函数,如作函数图形的函数Plot[f[x],{x,xmin,xmax}],解方程函数Solve[eqn,x],求导函数D[f[x],x]等.注意:(1)在Mathematica 中,所有函数严格区分大小写,一般地,内建函数的首写字母必须大写,有时一个函数名是由几个单词构成,则每个单词的首写字母也必须大写,如:求局部极小值函数FindMinimum[f[x],{x,x0}等.(2)在Mathematica 中,函数名和自变量之间的分隔符是用方括号“[ ]”,而不是一般数学书上用的圆括号“( )”,初学者很容易犯这类错误.如果输入了不合语法规则的表达式,系统会显示出错信息,并且不给出计算结果,例如:要画正弦函数在区间[-10,10]上的图形,输入plot[Sin[x],{x,-10,10}],则系统提示: General::spell1: Possible spelling error: new symbol name "plot" is similar to existing symbol "Plot". More …同时原样输出原命令,表示“可能有拼写错误,新符号…plot‟很象已经存在的符号…Plot‟”,由于系统作图命令“Plot”第一个字母必须大写,错误出在”plot ”中首字母没有大写. 再输入Plot[Sin[x],{x,-10,10},系统又提示“Syntax::bktmcp: Expression "Plot[Sin[x],{x,-10,10}" has no closing "]".”表示缺少右方括号,并且在命令中将不配对的括号用红色显示.一个表达式只有准确无误地输入后运行才能得出正确结果. 学会看系统出错信息能帮助我们较快找出错误,提高工作效率. 完成各种计算后,点击File->Exit 退出,如果文件未存盘,系统提示用户存盘,文件名以“.nb”作为后缀,称为Notebook 文件. 以后想使用本次保存的结果时可以通过File->Open 菜单读入,也可以直接双击该文件图标,系统自动调用Mathematica 将它打开.建议:最好在操作中途保存文件,第一次保存时,点击File->save 出现“另存为”窗口,选定保存位置并输入文件名后单击“保存”按钮即可,以后保存直接击Ctrl+S 即可.1.2.4 表达式的输入Mathematica 提供了多种输入数学表达式的方法. 除了用键盘输入外,还可以使用工具栏或者快捷方式输入运算符、矩阵或数学表达式.1.一维格式输入形如x/(2+3x)+y*(x-w)的表达式称为一维格式,除特殊字符外,所有数学表达式均可用这种格式输入,其优点之一是只用键盘就能完成输入,优点之二是适合在编程中使用,优点之三是可以在Mathematica 与Word 之间相互复制命令表达式. 在利用该软件处理数学问题时,建议采用一维格式. 这种格式的缺点是有些数学表达式不直观.2.二维格式输入形如23x y xx w++-的表达式称为二维格式,如果为了特殊需要可以使用二维格式输入.方法一:先按一维格式输入:x/(2+3x)+y/(x-w),在变量x,y ,w 未赋值的情况下运行的结果就是二维格式;方法二:可以使用快捷方式输入二维格式. 下面列出了用快捷方式输入二维格式的几种常见形式,如表1-3所示.表1-3例1.1 如输入数学表达式4x++(1)(,x,+,1,),Ctrl+^,4,->,+,a,Ctrl+_,1,->,Ctrl+/,Ctrl+2,2,x,+,y,->,->.也可以用基本输入工具栏输入二维格式:从FILE菜单中激活Plaettes->BasicInput工具栏,对于常用的特殊字符(如下图),只要单击这些字符按钮即可输入,使用工具栏可输入更复杂的数学表达式.3.特殊字符输入MathemMatica还提供了用以输入各种特殊符号的工具栏. 若要输入其它的特殊字符或运算符号,必须使用从File菜单中选取palettes,再选Complete Characters工具栏,如右图,单击对应的符号后即可输入.1.2.5数值的输出形式在数值的输出中, 可以使用转换函数进行不同数据类型和精度的转换. 另外, 对一些特殊要求的格式还可以使用如下的表达式表示形式函数,如表1-4所示.表1-4例 1.2 数值的形式转换运行A=N[Pi^30,30]得8.2128933040274958158650358543414⨯.10运行NumberForm[A,10]得NumberForm=8.2128933041410⨯.运行ScientificForm[A]的结果与此相同,但下面的命令输出幂值可被3整除的实数:运行EngineeringForm[A]得EngineeringForm=821.2893304027495815865035854341210⨯.§1.3函数1.3.1系统函数在Mathmatic中定义了大量的数学函数可以直接调用,这些函数其名称一般表达了一定的意义,可以帮助我们理解. 几个常用的函数如表1-5所示.表1-5Mathematica 中的函数与数学上的函数有些不同的地方,Mathematica 中函数是一个具有独立功能的程序模块,可以直接被调用. 同时每一函数也可以包括一个或多个参数,也可以没有参数. 参数的的数据类型也比较复杂. 更加详细的说明可以参看系统帮助,了解各个函数的功能和使用方法是学习Mathematica 软件的基础.1.3.2 自定义函数的定义1.函数的立即定义立即定义函数的语法是“f[x_]=expr ”,其中f 为函数名,x 为自变量,expr 为表达式. 在执行时会把expr 中的x 都换为f 的自变量x. 函数的自变量具有局部性,只对所在的函数起作用. 函数执行结束后变量的值也就没有了,不会改变其它全局定义的同名变量的值.例1.3 定义函数f(x)=xsinx+x 2,求函数值f(3),绘制其图形. 运行Clear[x];f[x_]=Sin[x]+x^2得x2运行f[3]得9+Sin[3]运行Plot[f[t],{t,0,2}]得如图1-4所示的图形.注意:如果运行前x 已经赋了值,则不能得到上述函数.对于自定义函数我们可以使用命令Clear[f]清除掉,而Remove[f]命令则从系统中删除该函数.2.延迟定义函数从定义格式上延迟定义函数与即时定义的区别为“=”与“:=”,延迟定义的格式为“f[x_]:=expr ”,其他操作与立即定义函数方式基本相同. 主要区别是:即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用,如果定义函数前变量已赋值将会把当前值直接代入函数表达式中计算出结果;延迟定义时,其中的变量只是形式变量,不受当前值的影响,只是在调用函数时,才把变量的值代入函数表达式进行计算.建议读者在编程时尽量用延迟定义函数方式定义函数. 3.多变量函数的定义也可以定义多个变量的函数,延迟定义函数方式的格式为“f[x_,y_,z_,…]:=expr ”,其中f 为函数名,x,y ,z,…为自变量,expr 为表达式.例1.4 定义函数f(x,y)=xy+ycosx 并求函数值f(2,3). 运行f[x_,y_]:=x*y+y*Cos[x]得xy+yCos[x] 运行f[2,3]得6+3Cos[2] 与即时定义比较,例如:当运行x=3;后再运行f[x_,y_]=x^2*y 得9y ,运行f[t,y]得9y ;而运行f[x_,y_]:=x^2*y 后再运行f[t,y]得t 2y.4.使用条件运算符或If 命令定义函数 例1.5 定义分段函数:21,0(),(1)&&(0)sin ,1x x f x x x x x x -≥⎧⎪=>-<⎨⎪≤-⎩.这时,要根据x 的不同值给出不同的表达式. 一种办法是使用条件运算符,基本格式为f[x_]:=expr/;condition,当condition条件满足时才把expr赋给f.“/;condition”的详细用法见8.2.2.通过观察得出的图形可以验证下列函数定义的正确性:运行f[x_]:=x-1/;x>=0f[x_]:=x^2/;(x>-1)&&(x<0)f[x_]:=Sin[x]/;x<=-1Plot[f[x],{x,-2,2}]得如图1-5所示图形.图1-5当然, 使用If命令也可以定义上面的函数,If语句的格式为If[条件,值1,值2]如果条件为真取“值1”,条件为假取“值2”,下面是用If语句定义的命令.运行g[x_]:=If[x>=0,x-1,If[x>-1,x^2,Sin[x]]];Plot[g[x],{x,-2,2}]得到的图形与图1-5完全一样.可以看出用If定义的函数g(x)和前面的函数f(x)相同,这里使用了两个If嵌套,逻辑性比较强. 关于其它的条件命令的进一步讨论请看8.2.1小节.1.3.3函数的调用格式无论系统自带的函数还是用户采用延迟方式定义的函数,其调用方式相同.方法一(函数名前放):f[expr],如运行N[Pi]得3.14159;运行Sqrt[2]方法二(函数名后放):expr//f,如运行2//Sqrt;运行Pi/2//Sin得1. 两种调用方法中,前者更符合数学习惯,而且能更方便地改变参数.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章Mathematica的启动的运行Mathematica是美国Wolfram公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。
目前最新版本是Mathematica4.0,本附录仅介绍Mathematica4.0的一些常用功能,须深入掌握Mathematica的读者可查阅相关书籍。
在Windows环境下安装好Mathematica4.0,用鼠标双击Mathematica图标(刺球状),在显示器上显示如图1-1的工作窗口,这时可以键入你想计算的东西,比如键入1+1,然后同时按下Shift键和Enter键(数字键盘上只要按Enter键),这时Mathematica开始工作,计算出结果后,窗口变为图1-2。
图1-1 Mathematica的工作窗口Mathematica第一次计算时因为要启动核(kernel),所需时间要长一些,也可以在Mathematica 启动后第一次计算之前,手工启动核,方法是用鼠标点击:Kernel->Start Kernel->Local.这样第一次计算就很快了。
图1-2 完成运算后的Mathematica的窗口图1-2中的“In[1]:=”表示第一个输入;“Out[1]=”表示第一个输出结果。
接下来可键入第二个输入,按这样的方式可利用Mathematica进行“会话式”计算。
要注意的是:“In[1]:= ”和“Out[1]=”是系统自动添加的,不需用户键入。
Mathematica还提供“批处理”运行方式,即可以将Mathematica作为一种算法语言,编写程序,让计算机执行,这在第七章将会作简要介绍。
第二章 Mathematica的基本运算功能2.1 算术运算Mathematica最基本的功能是进行算术运算,包括加(+),减(-),乘(*),除(/),乘方(^),阶乘(!)等。
注意:1 在Mathematica中,也可用空格代表乘号;数字和字母相乘,乘号可以省去,例如:3*2可写成3 2,2*x可写成2x,但字母和字母相乘,乘号不能省去。
建议大家尽可能不要省去乘号,以免引起混乱。
2 在Mathematica中,表达式中用来表示运算的结合次序的括号只允许是圆括号(无论多少层)。
例如:4*(2+3/(2-5))3 当输入式子中不含小数点,输出结果是完全精确的。
例如:输入2/3,输出仍然为2/3。
4 为了得到计算结果的近似数或指定有效数字的位数,可以用N[ ]函数。
例如:N[x],N[x,20].前者取x 的默认位数近似值,后者取x的20位有效数字。
5 %表示上一个输出结果,%%表示倒数第二个输出结果,以此类推,%n表示第n个输出结果(而不是倒数第n个结果)。
6 在Mathematica中,如果在输入的表达式末尾加上一个分号“;”,表示不显示计算结果,但你可以调用它的结果。
2.2 常量和变量在一个过程中保持不变的量称为常量,常量也称为常数,Mathematica提供很多常用的数学常数,如:Pi :圆周率; Degree :度; Infinity :无穷大;E :自然对数的底; I :虚数单位在很多计算中可能多次用到同一个数值,这时可将该数值赋给一个变量。
如(为节省篇幅,将输入和输出写在同一行):In[1]:=x=y=5 Out[1]=5In[2]:=pi=N[Pi,20] Out[2]=3.14159265358979323846在后续计算中就可直接把x,y,pi作为常数使用。
如In[3]:=pi^2 Out[3]=9.8696044010893586188你所定义的变量值是不会变的,具有永久性,一旦你给变量x赋值后,这一变量值将一直保持不变,直到你重新给它赋值或使用清除命令将它清除:x=. 或者 Clear[x]在Mathematica中,对于变量名没有长度限制,但变量名不能以数字开头,如x2可以作为变量名,但2x 却是2*x的意思,在输入含有变量的式子时,应注意x y表示x*y,而xy是一变量,x^2y意味着(x^2)*y 而不是x^(2y)。
2.3 函数2.3.1 系统内建函数Mathematica提供了很多常用的函数,多达上百种,包括基本初等函数和某些特殊函数,这里仅给出其中较为常用的一些。
Sqrt[x] 平方根函数 Exp[x] 指数函数Log[x] 自然对数 Log[b,x] 以b为底的对数函数Abs[x] 绝对值函数 Mod[n,m] n 关于m的模Round[x] 四舍五入函数 Random[ ] 取0和1之间的随机数Max[x,y,…] 取最大值函数 Min[x,y,…]取最小值函数三角函数与反三角函数Sin[x] Cos[x] Tan[x] Cot[x] Sec[x] Csc[x]ArcSin[x] ArcCos[x] ArcTan[x] ArcCot[x] ArcSec[x] ArcCsc[x]双曲函数与反双曲函数Sinh[x] Cosh[x] Tanh[x] Coth[x] Sech[x] Csch[x]ArSinh[x] ArcCosh[x] ArcTanh[x] ArcCoth[x] ArcSech[x] ArcCsch[x]Mathematica提供的函数以及后面介绍的运算符都可从联机帮助文件中查到。
读者可以用它查询到Mathematica提供的所有函数、常数和各种符号及它们的用法。
另外,要提醒大家的是:(1)Mathematica中,大小写英文字母要严格区分开,函数名字该大写的地方一定要大写,否则会发生语法错误。
(2)函数后面的表达式一定要放在方括号内(不是圆括号)。
(3)当Mathematica无法计算输入的表达式的精确值,而又要求它返回精确值时,将返回原表达式。
如:In[1]:=Sqrt[2] Out[1]=Sqrt[2]2.3.2 自定义函数虽然Mathematica为用户提供了大量的函数,但是在很多时候,为了完成某些特定的运算,用户还需要自己定义一些新的函数,如:In[1]:=f[x_]:=x^2 ;g[x_,y_]:=(x-y)^2/y;In[1]分别定义了两个函数和。
注意:左边方括号中的变量后必须紧跟一下划线“_”,而右边表达式中的变量后没有这一符号。
定义了函数f(x)、g(x,y)后,就可对其进行各种算术运算或符号运算。
如:In[2]:=g(2,3) Out[2]=In[3]:=D[f[x],x] Out[3]=2x如果用户一时忘记了前面定义的函数,可以用下列命令查询:In[4]:=?f Out[4]=Global`ff[x_]:=x^2这里的符号“Global”表示定义的函数在其后面的计算中全局有效。
当你需要废除已经定义的函数时,可以使用Clear[f];这样,前面定义的函数不再起作用。
如果一个函数的定义需要多个语句,可将它们放在一对花括号或一对圆括号中,并用分号隔开,如:In[6]:=f[x_,n_]:=(t=Sin[x]+Cos[x];t^n+2t);In[6]定义了一个二元函数,它先计算t=Sin[x]+Cos[x],,然后计算t^n+2t,最终得到f(x,n)。
要定义一个分段函数,一般要用到条件控制语句If、Which和Switch语句。
下面列出Mathematica的一些条件结构:lhs:=rhs/;test 当test为True时使用定义If[test,then,else] 当test为True时计算then,否则计算elseWhich[test1,value1,test2,value2,...] 给出第一个test i为True时的value iSwitch[expr,form1,value1,form2,value2,...,def] 给出第一个与expr相匹配的form i对应的valuei值,若都不成立,结果为默认值def下面举例介绍分段函数的定义:定义一个阶跃函数,可使用If语句:In[1]:=s[x_]:=If[x>=0,1,-1]也可用/;test形式来分别定义它的两个部分:In[2]:=ss[x_]:=1/;x>=0;ss[x_]:=-1/;x<0If函数允许指定条件既不是True 也不是 False时的值。
例如:In[3]:=sl[x_,y_]:=If[x>y,a,b,c];若输入sl[2,1+I],则输出c。
在上例中,只有当x,y都是实数时才可比较它们大小,而1+I为一复数,不能与2比较大小,因而输出第三种结果c.当条件多于两个时,可以用If的嵌套方式来处理,但更方便的方法是用Which函数,例如In[4]:=hh[x_]:=Which[x<0,x^2,x<=5,0,x>5,x^3],定义了以下函数2.4 集合在进行计算时,把许多元素放在一起并作为一个整体来处理是很方便的,在Mathematica中,集合是收集元素的一种方法,是一种非常重要而又极其普遍的结构。
Mathematica中的集合实际上是一个数组,即它的元素具有有序性,而且可以重复。
In[1]:=s={3,5,1} Out[1]={3,5,1}In[2]:=t={-1,3,7} Out[2]={-1,3,7}以下命令把集合中的每个元素平方加1。
In[3]:=s^2+1 Out[3]={10,26,2}也可求两个集合对应元素的和差积商等,例如:In[4]:=s+t-2^s+s*t+t^s/t Out[4]={-8,72,14}在大多数情况下,Mathematica是把集合作为一个整体来处理,但有时也需要对集合中的某个元素进行处理。
这里给出处理集合元素的一些常用函数:{a,b,c,…} 一个集合Part[list,i] 或 list[[i]] 取集合list中的第i个元素Part[list{i,j,…}] 或 list[[{i,j,…}]] 由集合list的第i,j,…元素组成的集合Part[list,i]=value 或 list[[i]]=value 给集合list的第i个元素重新赋值例如:In[5]:={1,2,5,6,8,9}[[4]] Out[5]=6In[6]:=Part[s,{2,3,1,1,2,3}] Out[6]={5,1,3,3,5,1}In[7]:=t[[2]]=5 Out[7]=5In[8]:=t Out[8]={-1,5,7}第三章 Mathematica的图形输出Mathematica允许用各种图形、曲线输出计算结果,甚至输出动画,因此可以实现计算的可视化。
图形的输出方式很多,此处只介绍其中的一小部分。
3.1 一元函数曲线的输出如果希望看到一个函数的几何图形,可以简单地输入In[1]:=Plot[Sin[x],{x,0,2Pi}]它代表绘制sin(x)的曲线,0<x<2Pi.(为节省篇幅,图形略去)还可以给这个图形的坐标轴加以说明,可使用:In[2]:=Plot[Sin[x],{x,0,2Pi},AxesLable->{“x”,”sin(x)”}] 或者In[2]:=Show[%,AxesLable->{“x”,”sin(x)”}]其中Show表示把上面的图形显示出来。