用mathematica做函数计算
mathematica阶乘

mathematica阶乘
Mathematica是一种功能强大的计算机语言,它提供了许多数学函数,包括计算阶乘的函数。
阶乘是指从1到给定的整数的连续乘积。
例如,5的阶乘是1 * 2 * 3 * 4 * 5 = 120。
在Mathematica中,可以使用Factorial函数来计算阶乘。
例如,要计算5的阶乘,可以输入Factorial [5],结果为120。
如果要计算更高的数字的阶乘,可以使用Factorial函数的参数。
例如,Factorial [10]将计算10的阶乘,结果为3628800。
除了Factorial函数外,Mathematica还提供了其他相关的函数,如Factorial2和FactorialPower。
Factorial2函数计算偶数的阶乘,而FactorialPower函数计算阶乘幂,即n的k次幂。
在使用Mathematica计算阶乘时,需要注意阶乘的值可能很大,可能超出计算机的可表示范围。
在这种情况下,可以使用Mathematica 的精度控制函数来确保计算结果的准确性。
- 1 -。
mathematica如何对函数高阶积分

mathematica如何对函数高阶积分一、引言在数学和物理领域,积分是一个重要的工具,用于求解一系列微分方程。
而在高级函数积分中,Mathematica的强大功能和灵活操作显得尤为重要。
本文将介绍如何使用Mathematica对函数进行高阶积分,涵盖基本原理、方法和实例。
二、基本原理对于一个函数f(x),其高阶积分是指对函数f(x)的导数进行积分,即对f'(x)、f''(x)、...进行积分。
在Mathematica中,可以使用Integrate函数对函数进行积分,使用D函数对函数进行求导。
高阶积分可以通过多次使用D和Integrate实现。
三、方法1. 手动操作:首先,对需要求导的函数进行求导,得到一阶导数、二阶导数等。
然后,使用Integrate函数对一阶导数进行积分,得到高阶积分的结果。
最后,通过反求导,得到原函数的近似值。
2. 自动操作:Mathematica提供了高级功能,可以直接对函数进行高阶积分。
只需要将需要积分的函数作为参数传递给Integrate函数,即可得到高阶积分的值。
四、实例以下是一个具体的实例,展示如何使用Mathematica对函数进行高阶积分。
假设要求解以下函数的二阶积分:f(x) = x^2 + 2x + 1。
首先,使用D函数求导得到一阶和二阶导数:f'(x) = 2x + 2f''(x) = 2然后,使用Integrate函数对一阶导数进行积分:∫[x+2](f'(x))dx = ∫(x+2)×(2x+2)dx =(1/3)(x^3)+(2x^2)+(2x)+C (其中C为常数)最后,将结果反求导得到原函数的近似值:f(x) ≈ (1/3)x^3 + (2/5)x^5 + (2/3)x^4 + C。
五、注意事项1. 在进行高阶积分时,需要注意函数的连续性和可微性。
如果函数在这些性质上存在问题,可能会导致积分结果不正确。
mathematica解三角函数方程

mathematica解三角函数方程
(1)因为你根本不会用mathematica软件,当然求不出解了.你的代码就写错了,函数调用的时候是写方括号,不是小括号。
(2)其次,当你要求求解一个方程的时候,你应该指定未知数,比如你解一个含有x的方程,那么最终的结果不应该含有x.你既然指定了x,y是未知数,那么最终的解的结果应该是x,y是不含有x和y.你给的解xy=Pi/2,先不说解是错误的,就从数学上来说,这也是不对的,解含有x,y的方程,给出的解应该是单独的解,xy=Pi/2是一条曲线,不是一个单独的解.能够给出解是一条曲线的,那个叫微分方程,微分方程它的自变量是函数。
(3)用mathematica的时候,应该和以前学过的数学知识结合起来.你求解的是一个方程组,那么以前老师讲过,方程组可能会误解.如果问题本身无解,软件没有义务告诉你为何无解.方程组还有一种情况,叫做同解方程,就是说有的方程是多余的,比如你的这个例子就是,如果发现同解方程,应该去掉。
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简单算例

mathematica简单算例Mathematica是一款强大的数学软件,可以用于解决各种数学问题和进行数值计算。
在本文中,我们将介绍一些简单的算例,展示Mathematica的基本用法和功能。
一、求解方程假设我们需要求解一个简单的一元二次方程,比如x^2-5x+6=0。
我们可以使用Mathematica的Solve函数来解这个方程。
代码如下:```mathematicaSolve[x^2 - 5x + 6 == 0, x]```运行以上代码后,Mathematica会给出方程的解,即x=2和x=3。
通过这个例子,我们可以看到Mathematica可以方便地解决各种复杂的方程。
二、绘制函数图像Mathematica还可以用来绘制函数的图像。
假设我们想要绘制函数y=x^2的图像,我们可以使用Mathematica的Plot函数。
代码如下:```mathematicaPlot[x^2, {x, -10, 10}]```运行以上代码后,Mathematica会生成一个关于y=x^2的图像,x 的取值范围为-10到10。
通过这个例子,我们可以看到Mathematica可以帮助我们直观地理解数学函数。
三、计算数列Mathematica还可以用来计算数列的和。
假设我们需要计算斐波那契数列的前20项的和。
我们可以使用Mathematica的Sum函数来计算。
代码如下:```mathematicaSum[Fibonacci[n], {n, 1, 20}]```运行以上代码后,Mathematica会计算出斐波那契数列的前20项的和。
通过这个例子,我们可以看到Mathematica可以帮助我们快速计算各种数学问题。
四、符号计算Mathematica还可以进行符号计算。
假设我们需要对一个多项式进行展开,比如(x+1)^3。
我们可以使用Mathematica的Expand函数来展开多项式。
代码如下:```mathematicaExpand[(x + 1)^3]```运行以上代码后,Mathematica会展开多项式(x+1)^3,结果为x^3+3x^2+3x+1。
mathematica 反函数微分

mathematica反函数微分
Mathematica中可以使用以下方法来求反函数的微分:
1.使用InverseFunction函数
InverseFunction函数可以用于求一个函数的反函数。
如果f是一个函数,那么InverseFunction[f]将返回f的反函数。
要求f的反函数的微分,可以使用D[InverseFunction[f],x]命令。
例如,假设f(x)=x^2,那么InverseFunction[f]返回sqrt(x)。
因此,f的反函数的微分为D[sqrt(x),x]=1/(2*sqrt(x))。
2.使用Derivative函数
Derivative函数可以用于求一个函数的导数。
如果f是一个函数,那么Derivative[f,x]将返回f在x处的导数。
要求f的反函数的微分,可以使用Derivative[InverseFunction[f],x,x]命令。
例如,假设f(x)=x^2,那么InverseFunction[f]返回sqrt(x)。
因此,f的反函数的微分为Derivative[sqrt(x),x,x]=1/(2*sqrt(x))。
3.使用Inverse函数
Inverse函数可以用于求一个函数的反函数。
如果f是一个函数,那么Inverse[f]将返回f的反函数。
Inverse函数还提供了D方法,用于求反函数的微分。
例如,假设f(x)=x^2,那么Inverse[f]返回sqrt(x)。
因此,f的反函数的微分为Inverse[f].D[x]=1/(2*sqrt(x))。
mathematica解方程

mathematica解方程
Mathematica是一款强大的数学软件,可以使用其内置的求解方程的功能来解决方程问题。
下面是使用Mathematica求解方程的一般步骤:
1. 输入方程:在Mathematica的Notebook界面中,输入要解决的方程,使用等号“=”表示方程的左右两侧。
2. 使用Solve函数求解:使用Solve函数,输入方程,指定要解的变量,运行程序即可求解方程。
例如:
Solve[x^2 - 2x + 1 == 0, x]
这个命令可以求解方程x^2 - 2x + 1 = 0,并返回方程的解。
3. 使用Reduce函数求解:如果方程的解比较复杂或者有多个解,可以使用Reduce函数。
Reduce函数可以找到方程的所有解,并给出条件。
例如:
Reduce[x^3 + 3x^2 + 3x + 1 == 0, x]
这个命令可以求解方程x^3 + 3x^2 + 3x + 1 = 0,并返回方程的所有解。
4. 使用NSolve函数求解数值解:如果方程无法用解析式表示,或者需要求解数值解,可以使用NSolve函数。
例如:
NSolve[x^2 - 2x + 1 == 0, x]
这个命令可以求解方程x^2 - 2x + 1 = 0 的数值解。
mathematica求积分方程

mathematica求积分方程
Mathematica是一种功能强大的计算机代数系统,可用于求解和简化各种数学问题,包括积分方程。
要使用Mathematica求解积分方程,你可以遵循以下一般步骤:
打开Mathematica并创建一个新的Notebook。
输入你的积分方程,确保使用Mathematica的语法和标记。
例如,如果你要解决一个一维积分方程,可以使用如下的形式:eqn = Integrate[f[x], {x, a, b}] == g
这里,f[x] 是要积分的函数,{x, a, b} 指定积分的变量和积分范围,g 是等式右边的表达式。
使用Solve、DSolve、Integrate等适当的Mathematica函数来解决积分方程。
例如,可以使用Solve来求解包含未知函数的积分方程:
solution = Solve[eqn, f[x]]
Mathemtica会计算并返回积分方程的解。
你可以进一步操作和分析解,以满足你的需求。
如果需要,你还可以绘制解的图形或执行其他附加分析。
需要注意的是,Mathematica可以处理各种类型的积分方程,包括常微分方程、偏微分方程和不定积分方程。
具体的操作和函数将取决于你的积分方程的类型和复杂性。
在实际工作中,你可能需要查阅Mathematica的文档或参考书籍以获取更多有关特定积分方程类型的详细信息和示例。
利用Mathematica求函数极值

4
x 2 3 y 2 9x (2)求函数 f ( x, y) x 3 y 3 3的最值 解 自定义函数 f[x_,y_]:=x^3-y^3+3*x^2+3*y^2-9*x; 求驻点 Solve[{D[f[x,y],x]==0,D[f[x,y],y]==0}] \输出结果为{{x->-3,y->0},{x->-3,y->2},{x>1,y->0},{x->1,y->2}} 比较各点函数值 f[x,y]/.% \输出结果为 {27,31, -5,-1} 可求得最值为31
边学边做: (一)用命令FindMinimum求极小值: FindMinimum[f[x],{x,x0}] FindMinimum[f[x,y],{x,x0},{y,y0}] (1)先作图,观察之后求函数 f ( x) x 4 在 2 x 2 [-3,3] 内的极值 3x 2 y 3 (2)作图之后求函数 f ( x, y) x 2 y 2 xy 的极值 (二)用求驻点的方法求函数极值 (1)求函数 的极值 4( x 1)
处 有极值,求此极值,并说明是极大值还是极小 值. 3 2 f ( x ) ax bx cx d 在x=-1处有极大 (2)若函数 值为8,在x=2处有极小值为-19,求a,b,c,d. (3)把一根直径为d的圆木锯成截面为矩形的梁, 问矩形截面高h与宽b如何选择时,才能使梁 1 2 W bh 达到最大? 的抗弯截面系数 6 (4)求表面积为a2且体积最大的长方体体积.
f ( x)
(2)求函数
x2 1
f ( x, y) x 3 y 3 3x 2 3 y 2 9x
的最值
mathematica sum函数

mathematica sum函数Mathematica是一款强大的数学软件,其中sum函数是一个常用的函数,用于求和。
本文将详细介绍Mathematica中的sum函数,包括其基本语法、使用方法、应用场景等。
一、sum函数基本语法sum函数的基本语法为:sum[f,{i,i1,i2,...}]其中,f表示要求和的函数,i表示求和变量,i1和i2分别表示求和变量的起始值和结束值。
可以有多个求和变量。
二、sum函数使用方法1. 求单个变量的累加和例如,要求1到10之间所有整数的累加和,可以使用以下代码:sum[i, {i, 1, 10}]输出结果为55。
2. 求多个变量的累加和例如,要求x从0到2,y从0到3之间所有整数x+y的累加和,可以使用以下代码:sum[x + y, {x, 0, 2}, {y, 0, 3}]输出结果为18。
3. 求带有条件限制的累加和例如,要求1到100之间所有能被3整除且小于50的整数的累加和,可以使用以下代码:sum[If[Mod[i, 3] == 0 && i < 50, i, 0], {i, 1, 100}]输出结果为408。
4. 求无穷级数例如,要求1/2+1/4+1/8+...的和,可以使用以下代码:sum[1/2^i, {i, 0, Infinity}]输出结果为1。
三、sum函数应用场景sum函数在数学建模、统计分析、物理学等领域中有广泛的应用。
以下是一些常见的应用场景。
1. 求和公式sum函数可以用来求各种数学公式中的累加和,如等差数列、等比数列、阶乘等。
例如,要求前10项等差数列2,4,6,...的和,可以使用以下代码:sum[2 + (i - 1)*2, {i, 1, 10}]输出结果为110。
2. 概率统计在概率统计中,sum函数常用于求离散型随机变量的期望值、方差等。
例如,设X为一个取值为0或1的随机变量,其概率分布为P(X=0)=0.7,P(X=1)=0.3,要求X的期望值和方差,可以使用以下代码:p = {0.7, 0.3};mean = sum[p[[i]]*i, {i, 1, Length[p]}]variance = sum[(i - mean)^2*p[[i]], {i, 1, Length[p]}]输出结果为mean=0.3,variance=0.21。
用Mathematica做函数计算

,
(2) cos
5 (4) arctan( 0.125) ,
,
(5) 3125 ,
(6) ln(2.0375 )
习题1-3
3 定义如下的分段函数
e x , f ( x) 1 x , x 0; x 0
并求出函数值 4 定义一个函数
2 x 2 y 2 , f ( x, y ) 0 ,
u x, y
@D @ D
@ D "
x2 + y2
3.3 自定义函数 在Mathematica中函数的概念是与传统概念有着区 别的。它理解为对输入输出的一种法则。比如可以 输入圆心和半径,而输出圆的图形。 例1 定义一个函数,画出以原点O为圆心,r为半径 的圆。
键入
myPlot r_ :=
ParametricPlot
0.833333
“%”表示前一次运算输出的结果。为了 得到更多位数的近似值,可以加上参数指 N Pi, 18 定位数。例
3.14159265358979324
@D
3.1 四则运算与运算次序
Mathematica中常用的数学常数有
π e
用Pi表示 用E表示 用Infinity表示 Mathematica中的变量名用字母或数字组成, 第1个字母用小写. 例如data1,list2,等等. 变量的赋值用"=".例data=25
Map myPlot, 1, 2, 3, 4, 5 Show %
@ D@ 8 @ D @ D < 8 < D @ 8 < D @ D
3.3 自定义函数
r * Cos t , r * Sin t , t, 0, 2 * Pi , AspectRatio ® Automatic
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 建立替换规则exprule 将规则rule应用于exprexpr..的无限精度数值E ...的无限精度数值Catalan ..卡塔兰常数EulerGamma ....高斯常数GoldenRatio ...黄金分割数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,解出varsDSolve[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—————————————————————————————————————八、数值函数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] 解线性组合在>=b&&x>=0约束下的最小值,x,b,c为向量,m为矩阵LatticeReduce[{v1,v2...}] 向量组vi的极小无关组数据处理:Fit[data,funs,vars]用指定函数组对数据进行最小二乘拟和data可以为{{x1,y1,..f1},{x2,y2,..f2}..}多维的情况emp: Fit[{,12,,}, {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...] 区间的交—————————————————————————————————————十二、矩阵操作或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] 解线性方程组==bNullSpace[m] 矩阵m的零空间,即[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} 三维视点,默认为{,,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对应的blocki Switch[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,...]当特定信息产生时则返回failexpr CheckAbort[expr,failexpr]当产生abort信息时放回failexprInterrupt[ ] 中断运行Abort[ ] 中断运行TimeConstrained[expr,t] 计算expr,当耗时超过t秒时终止MemoryConstrained[expr,b]计算expr,当耗用内存超过b字节时终止运算交互式控制Print[expr1,expr2,...] 顺次输出expri的值examp: Print[ "X=" , X.},body]多自变量纯函数#,#n 纯函数的第一、第n个自变量## 纯函数的所有自变量的序列examp: ^& [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.}] 把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 .}]综合各个规则,产生一组优化的规则组><Mathematica的常见问题><===================================1).Mathematica 可以定义变量为实数么1. 在Simplify/FullSimplify可以使用\[Element],如Simplify[Re[a+b*I],a\[Element]Reals]2. 可以使用ComplexExpand[]来展开表达式,默认:符号均为实数:Unprotect[Abs];Abs[x_] := Sqrt[Re[x]^2 + Im[x]^2];ComplexExpand[Abs[a + b*I], a]3. 使用/:,对符号关联相应的转换规则x /: Im[x] = 0;x /: Re[x] = x;y /: Im[y] = 0;y /: Re[y] = y;Re[x+y*I]===================================2).Mathematica中如何中断运算Alt+. 直接终止当前执行的运算Alt+, 询问是否终止或者继续如果不能终止,用菜单Kernel\Quit Kernal\Local来退出当前运算===================================3).请高手推荐Mathematica参考书我迄今为止看到的最好的一本就是Mathematica自己带的帮助里面的The Mathematica Book,内容全面,循序渐近,非常容易学习使用。
第二讲 用Mathematica进行函数计算和解微积分

运算次序与一般规则一致
先乘方,后乘除,最后加减。 先乘方,后乘除,最后加减。 要改变次序用“ 要改变次序用“( )” 如: (2+3-4)*5/6
四则运算与运算次序
近似运算命令“ 近似运算命令“N[ ]”
为了保持精度 如果要得到更多位数的近似值, 如果要得到更多位数的近似值,可以加上参数位数 如: N[(2+3-4)*5/6]
命令:Limit[x^2*Log[x], x->0] 命令: Limit[(E^x-E^(-x)-2x)/(x-Sin[x]), x->0] Limit[((2x-30)^20*(3x+2)^30)/(2x+1)^50, x->Infinity] Limit[Tan[x]-Sin[x]/x^3,x->0]
(1)∫a x dx
2
b
( 2)∫0 cos(sin x )dx
2π
命令: 命令: Integrate[x^2,{x,a,b}] Integrate[Cos[Sin[x]],{x,0,2Pi}] 求下列积分: 如: 求下列积分:0 sin(sin( x ))dx ∫ 命令: 命令:Integrate[Sin[Sin[x]],{x,0,1}] NIntegrate[Sin[Sin[x]],{x,0,1}] 注意: 有时不能给出结果, 注意 Integrate有时不能给出结果,用NIntegrate可得 有时不能给出结果 可得 到近似的数值结果 。
D[f[x, y],x] D[f[x, y],y] D[f[x, y],{x,2}] D[f[x, y],{y,2}] D[f[x, y],x,y]
求其一阶与二阶偏导数: 如: 已知 f ( x , y ) = x 2 y + y 3 ,求其一阶与二阶偏导数: 命令:f[x_,y_]=x^2*y+y^3 命令: ……
mathematica 计算近似数

mathematica 计算近似数
Mathematica是一款功能强大的数学计算软件,可以进行近似数计算,具体方法有:- 使用内置的近似函数:如Round、Floor、Ceil等,这些函数可以将一个数舍入到指定的精度。
例如,如果要将 3.1415926舍入到小数点后两位,可以使用Round函数:Round(3.1415926,0.01),输出结果为3.14。
- 使用N函数:该函数可以将一个表达式转换为数值形式,并按照指定的精度进行舍入。
例如:N(Pi,20)将π转换为数值形式,并舍入到小数点后20位。
- 使用FindRoot函数求解方程:如果需要求解一个方程的根,可以使用FindRoot函数。
例如,要求解方程Sin(x)=x/2的根,可以使用以下代码:FindRoot(Sin(x)==x/2,{x,1}),其中{x,1}表示从x=1的位置开始搜索根。
- 使用NDSolve函数求解微分方程:如果需要求解一个微分方程,可以使用NDSolve 函数。
例如,要求解y''(x)+y(x)=Sin(x),满足y(0)=0、y'(0)=1的初值问题,可以使用以下代码:sol=NDSolve({y''(x)+y(x)==Sin(x),y(0)==0,y'(0)==1},y(x),{x,0,10}),其中,sol是求解的结果,y(x)是y的解函数。
可以通过Evaluate(y(x)/.sol)来获得解函数的数值结果。
mathematica环路积分

mathematica环路积分
环路积分是向量场沿着闭合曲线的积分。
在Mathematica中,你可以使用内置的函数来计算环路积分。
首先,你需要定义你的向量场,然后使用LineIntegrate函数来进行计算。
以下是一个简单的例子:
假设我们有一个向量场F[x_, y_] := {x^2, y^2},我们想计算它沿着单位圆的环路积分。
我们可以使用下面的代码来实现:
curve = Circle[{0, 0}, 1];
F[x_, y_] := {x^2, y^2};
LineIntegrate[F[x, y], {x, y} \[Element] curve]
这段代码首先定义了一个单位圆的曲线curve,然后定义了向量场F[x_, y_] := {x^2, y^2}。
最后使用LineIntegrate函数来计算环路积分。
当然,这只是一个简单的例子。
在实际应用中,你可能需要根
据具体的向量场和曲线来进行计算。
Mathematica提供了丰富的函数和工具来处理各种数学计算,包括环路积分。
你可以根据具体的问题和需求,使用适当的函数和方法来进行计算。
总之,在Mathematica中计算环路积分通常涉及定义向量场和曲线,然后使用相应的函数来进行计算。
希望这个简单的例子可以帮助你更好地理解在Mathematica中如何进行环路积分的计算。
在Mathematica系统中求函数的极限

负向逼近(右极限)
3. Limit[2^x,x->0,Direction->1] Out[3]=1
正向逼近(左极限)
x 0
lim 2
x
4. Limit[ArcTan[x],x->Infinity]
x
lim arctan x
Pi Out[4]= 2
正无穷大
5. Limit[ArcTan[x],x->-Infinity]
例
求下列极限:
e2 x 1 1. lim ; x 0 x
2. 3. 4. 5.
x 0
lim 2 ;
x
1 x
x0
lim 2 ;
x
lim arctan x ;
x
lim arctan x .
编程 解 1. Limit[(Exp[2*x]-1)/x,x->0] Out[1]=2 2. Limit[2^(1/x),x->0,Direction->-1] Out[2]=Infinity
x
lim arctan x
Pi Outx0direction1out31limitarctanxxinfinityot4out4pi34xxlim?20?xxlim?arctan??正向逼近左极限limitarctanxxinfinity2pi?2out55xxarctanlim???正无穷大负无穷大
MATHEMATICA基本数学函数及应用

MATHEMATICA第一讲1 数的运算算例378/123N[378/123,6] (*取小数点后6位的近似值*)Pi^2E^(-1)100!N[Pi,100]N[I^(-I)]2 常用数学函数Sqrt[ ]平方根, Exp[ ]指数函数, Log[ ] 对数函数,Sin[ ] 正弦函数, Cos[ ] 余弦函数,T an[ ] 正切函数, Cot[ ] 余切函数,Sec[ ] 正割函数, Csc[ ] 余割函数,ArcSin[ ] 反正弦函数, ArcCos[ ] 反余弦函数,ArcT an[ ] 反正切函数, ArcCot[ ] 反余切函数, ArcSec[ ] 反正割函数, ArcCsc[ ] 反余割函数,Sinh[ ] 双曲正弦, Cosh[ ] 双曲余弦,T anh[ ] 双曲正切, Coth[ ] 双曲余切,Sech[ ] 双曲正割, Csch[ ] 双曲余割,ArcSinh[ ]反双曲正弦, ArcCosh[ ]反双曲余弦,ArcT anh[ ]反双曲正切, ...算例Sin[N[Sqrt[3],50]]3 其它函数! 阶乘Mod[n,m] n取模m的结,Quoti ent[n,m] n除以m的商的整数部分GCD[n,m]LCM[n,m] n和m的最大公约数和最小公约数Round[ ] 距离近似数x最近的整数Floor[ ] 不大于x的最大整数算例100!Quoti ent[10,3]GCD[105,30]Round[-1.234]Floor[-1.234]4 变量的赋值与替换算例f1=x^2+3 x+1 (*将表达式赋给变量f1*)f1/.x->3 (*求f1当x=3时的值f1(3)*)f1/.x->x+1 (*在f1中用x+1替换x得到f1(x+1)*) f1=. (*取消变量f1的定义*)f1/.x->3 (*此时已经得不到所想的结果f1(3)*)5 多项式计算Expand[p] (* 多项式展开*)Factor[p] (*多项式因式分解*)算例p1=x^3-6x^2+11x-6p2=(x-1)*(x-2)*(x-3)Factor[p1]Expand[p2]MATHEMATICA第二讲一元函数的图形一命令语句Plot[表达式,{变量,下限,上限},可选项]Plot[{表达式,表达式,...},{变量,下限,上限},可选项]二可选参数项第一类参数1. PlotRange->{y1,y2} 指定作图纵座标范围为(y1,y2)默认值为Atuomatic或指定All执行算例Plot[T an[x],{x,-2Pi,2Pi}]Plot[T an[x],{x,-2Pi,2Pi},PlotRange->{-10,10}]Plot[Exp[-x^2]*Sin[6x],{x,-2,2},PlotRange->{-0.5,0.5}] Plot[Exp[-x^2]*Sin[6x],{x,-2,2},PlotRange->All]2.AspectRatio->Automatic 按实际比例作图默认值为Atuomatic=0.618:1执行算例Plot[Sqrt[1-x^2],{x,-1.5,1.5}]Plot[Sqrt[1-x^2],{x,-1.5,1.5}, AspectRatio->Automatic] 3. Axes->Automatic 画坐标轴自动确定位置Axes->None 不画坐标轴Axes->{x0,y0} 指定坐标原点在(x0,y0)处执行算例Plot[Cos[x],{x,-2Pi,2Pi}]Plot[Cos[x],{x,-2Pi,2Pi},Axes->None]Plot[Cos[x],{x,-2Pi,2Pi},Axes->{1,2}]4 AxesLabel->None 不说明坐标轴的标记AxesLabel->{x,y} 指定横轴为x纵轴为yAxesLabel->{u,v} 指定横轴为u纵轴为v执行算例Plot[Sin[x]/x,{x,-10,10},AxesLabel->None]Plot[Sin[x]/x,{x,-10,10},AxesLabel->{x,y}]Plot[Sin[x]/x,{x,-10,10},AxesLabel->{时间T,电流I}]5. Ticks->{i,j} 规定坐标轴上的刻度位置Ticks->{t1,t2,t3,...}执行算例Plot[{ArcSin[x],ArcCos[x]},{x,-1,1},PlotStyle->{{RGBColor[0,1,1],Thickness[0.01]}, {RGBColor[1,0,1],Dashing[{0.05,0.05}]}}]第二类参数1.DisplayFunction->Identity 只生成图形现在不显示执行算例Plot[{Sin[T an[x]]-T an[Sin[x]]},{x,1,2},DisplayFunction->Identity]Plot[{Sin[T an[x]]-T an[Sin[x]]},{x,-2,2}]2. PlotPoints->50 指定计算函数值的取点数为50执行算例Plot[{Sin[T an[x]]-T an[Sin[x]]},{x,-2,2},PlotPoints->50]3. MaxBend 说明曲线的折线在相邻两段之间的最大折角执行算例4. PlotDivision 说明取点的限度执行算例5.PlotStyle->Thickness[t] 描述线宽PlotStyle->GrayLevel[i] 描述灰度PlotStyle->RGBColor[r,g,b] 描述颜色PlotStyle->Dashing[{d1,d2,...}] 描述虚线的画法PlotStyle->PointSize[0.03] 描述点的大小执行算例Plot[{Sin[x],Sin[2x],Sin[3x]},{x,0,2Pi},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0],RGBColor[0,0,1]}]Plot[Sin[1/x],{x,-1,1}]Plot[Sqrt[1+x^2],{x,-6,6},PlotStyle->Dashing[{0.02,0.01}]] Plot[Sin[Cos[Sin[x]]],{x,-Pi,Pi}]Plot[(T an[Sin[x]]-Sin[T an[x]])/x^2,{x,-5,5}]Plot[{E^x,ArcT an[x],E^ArcT an[x]},{x,-5,5},PlotPoints->100] 三图形的重新显示,组合,存储和输出Show[t] 重新显示Show[t1,t2,...,tn] 将几个图形合在一起执行算例f1=Plot[x,{x,0.1,2},PlotRange->{0,2}]f2=Plot[1/x,{x,0.1,2},PlotRange->{0,3}]f3=ParametricPlot[{2,t},{t,0,2}]Show[f1,f2,f3]Display["filename",图形]保存图形到文件中存为Postsceipt格式Hardcopy[图形] 将图形送去打印四二维参数图形ParametricPlot[{x(t),y(t)},{t,下限,上限},可选项]执行算例ParametricPlot[{Sin[t],Cos[t]},{t,0,2*Pi}, AspectRatio->Automatic] ParametricPlot[{Sin[2*t],Cos[3*t]},{t,0,2*Pi}, AspectRatio->Automatic]y1=ParametricPlot[{Cos[t]^3,Sin[t]^3},{t,0,2*Pi}, AspectRatio->Automatic] y2=ParametricPlot[{Cos[t],Sin[t]},{t,0,2*Pi}, AspectRatio->Automatic] Show[y1,y2]z1=ParametricPlot[{t-Sin[t],1-Cos[t]},{t,0,2*Pi}, AspectRatio->Automatic]五极坐标图形执行算例r[t_]:=(3Cos[t]^2-1)/2ParametricPlot[{r[t] Cos[t],r[t] Sin[t]},{t,0,2Pi}, AspectRatio->Automatic]r[t_]:=2(1-Cos[t])ParametricPlot[{r[t] Cos[t],r[t] Sin[t]},{t,0,2Pi}, AspectRatio->Automatic]r[t_]:=2Sin[3t]ParametricPlot[{r[t] Cos[t],r[t] Sin[t]},{t,0,2Pi}, AspectRatio->Automatic]r[t_]:=Cos[2*t]ParametricPlot[{r[t] Cos[t],r[t] Sin[t]},{t,0,2Pi}, AspectRatio->Automatic]r[t_]:=0.5*tParametricPlot[{r[t] Cos[t],r[t] Sin[t]},{t,0,2Pi}, AspectRatio->Automatic]r[t_]:=Exp[t/3]ParametricPlot[{r[t] Cos[t],r[t] Sin[t]},{t,0,2Pi}, AspectRatio->Automatic]r[t_]:=Cos[8*t]ParametricPlot[{r[t] Cos[t],r[t] Sin[t]},{t,0,2Pi}, AspectRatio->Automatic]介绍:Hue六动画制作<<Graphics\Animatio.m 调入动画制作软件包Animate[图形,{自变量,下限,上限}],{参变量,下限,上限,步长}]执行算例<<Graphics\Animatio.mAnimate[Plot[Sin[x+t*Pi],{x,0,10Pi}],{t,0,5/3,1/3}]T able[k, 100]MATHEMATICA第三讲三维作图一命令语句Plot3D[函数表达式,,,{变量,上限,下限},{可选项}]Plot3D[{函数表达式,着色表达式},{变量,上限,下限},{变量,上限,下限},{可选项}]二可选参数项1 PlotRange,说明要求的图形显示范围2 PlotLabel,说明图的名称标注3 AspectRatio,说明整个图的高度比4 Boxed:说明是否给图形加一个立体框5 BoxRation:说明图形立体框在三个方向的长度比6 ViewPoints:在将三维图形投射到平面上时使用的观察点.7 Mesh:说明在曲线上是否画网格8 HiddenSurface:曲面被挡住的部分是否隐掉9 Shading:在曲面上是否涂阴影10 lightScources:设置照明光源11 Lighting:说明是否打开已经设置的光源12 AmbienLight:漫射光设置.默认值是黑色,用GrayLevel[0]表示13 ClipFill:作出的图形中被切掉的那些部分用什么方法填充14 Axes:说明是否画坐标轴以及把坐标轴中心放在什么地方15 Ticks:规定坐标轴上刻度的位置执行算例1 默认情形Plot3D[x^2+y^2,{x,-1,1},{y,-1,1}]2 适当选取X,Y,Z轴的比例关系Plot3D[x^2+y^2,{x,-1,1},{y,-1,1},BoxRatios->{1,1,1.5}]3 不加阴影的情形Plot3D[x^2+y^2,{x,-1,1},{y,-1,1},BoxRatios->{1,1,1.5},Shading->False]4 不打开照明的情形Plot3D[x^2+y^2,{x,-1,1},{y,-1,1},BoxRatios->{1,1,1.5},Lighting->False]5 不设网格的情形Plot3D[x^2+y^2,{x,-1,1},{y,-1,1},BoxRatios->{1,1,1.5},Boxed->False,Axes->False,Mesh->False]-SurfaceGraphics-6 用参数方式图形更合乎实际情形ParametricPlot3D[{函数表达式},{变量,上限,下限},{可选项}]ParametricPlot3D[{v Sin[u],v Cos[u],v^2},{v,0,1},{u,0,2Pi}, BoxRatios->{1,1,1}] ParametricPlot3D[{u,u^2,t},{u,-1,1},{t,0,1}, PlotPoints->25,Lighting->True, ViewPoint->{2,-1,1}]7 视点的选择Plot3D[Cos[Sqrt[x^2+y^2]],{x,-10,10},{y,-10,10},PlotPoints->25,Lighting->True, ViewPoint->{1,1,2}]Plot3D[Cos[Sqrt[x^2+y^2]],{x,-10,10},{y,-10,10},PlotPoints->25,Lighting->True, ViewPoint->{0,0,1}]Plot3D[Cos[Sqrt[x^2+y^2]],{x,-10,10},{y,-10,10},PlotPoints->25,Lighting->True, ViewPoint->{0,1,2}]ParametricPlot3D[{u^2,u,v}, {v,0,2},{u,-2,2},BoxRatios->{1,1,0.6},ViewPoint->{1,3,1},Shading->True]8 将多个曲面放在一张图上Z1=Plot3D[x*y,{x,0,1},{y,0,1}]Z2=ParametricPlot3D[{u,u,t},{u,0,1},{t,0,1},PlotPoints->25,Lighting->True]Z3=ParametricPlot3D[{1,u,t},{u,-1,1},{t,0,1},PlotPoints->25,Lighting->True]Show[Z1,Z2,Z3,BoxRatios->{1,1,1},ViewPoint->{1,1,1},Shading->False]9 动画制作<<Graphics\Animatio.mAnimate[ParametricPlot3D[{u,u^2,t},{u,-1,1},{t,0,1},PlotPoints->25,Lighting->True,ViewPoint->{Cos[2*Pi*t],Sin[2*Pi*t],1}],{t,0,1,1/6}]波纹面动画演示注意:此演示需要较大内存,耐心等待。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本节主要内容
3.1四则运算与运算次序 3.1四则运算与运算次序 3.2Mathematica的内部函数 3.2Mathematica的内部函数 3.3 自定义函数 3.4 Mathematica中的特殊函数 中的特殊函数
3.1 四则运算与运算次序
Mathematica中和,差,积,商,乘方运
3.4 Mathematica中的特殊函数
但是使用的时候,要注意在不同的数学书中, 这些函数的定义,可能有所出入. P1(x)例2 调入拉格朗日函数P1(x)-P6(x) P1(x)
TableForm Table LegendreP n , x , n , 6 T able L egendreP x
算分别用"+","-","*"或空 格,"/","^"来表示. 运算次序与通常一致,先乘方,后是乘除, 最后是加减.要改变次序可以调用小括号 "()". 2+ 3 - 4 * 5 6 例如
HL
5 6
结果为
3.1 四则运算与运算次序
当输入整数运算时,系统返回分数,保持 精确度,要得到近似值可以用近似计算命 令"N[ ]". 例 N%
ex a
x
Exp[x] a^x
Sqrt[x] Abs[x]
ln x
log a x
max{a,b,c} min{a,b,c}
其它
x
x
3.3 自定义函数
Mathematic允许用户使用自己定义的函数, 定义方法有 3.3.1初等函数 3.3.1 例 f x_ := x^3 + Exp x
f3
D D @ @ @ D
D @ @
f x_ := If x 1, x^2, 2 - x
D @@ D
D
3.3 自定义函数 在自定义函数时,自变量后面的下划线是不可少 的.类似可以定义多变量函数. 例如 u x_, y_ := Sqrt x^2 + y^2 要想知道所定义的函数是否正确,键入u[x,y],回 车后系统输出表达式 例如 返回
0.833333
@ D
"%"表示前一次运算输出的结果.为了 得到更多位数的近似值,可以加上参数指 N 定位数.例 Pi, 18
3.14159265358979324
@D
3.1 四则运算与运算次序
Mathematica中常用的数学常数有
π e 用Pi表示 用E表示 用Infinity Infinity表示 Infinity ∞ Mathematica中的变量名用字母或数字组成, 第1个字母用小写. 例如data1,list2,等等. 变量的赋值用"=".例data data=25 data
@DDDD < @@@@@8 D D @ @D @
画出他们的图形
1 0.5 -1 -0.5 -0.5 0.5 -1
3.4 Mathematica中的特殊函数
D D
运行后得到下面的图形:
1
图3.4.1
习题1 习题1-3
1 计算 e10 的近似值,取小数点后18位. 2 计算下列函数的值
(1) sin
3.4.1正交多项式.例如 3.4.1 勒让德多项式 LegendreP[n,x]
1 dn 2 Pn ( x) = n ( x 1) n 2 n! dx n
切比雪夫多项式 ChehyshevT[n,x]
Tn ( x ) = cos(arccos nx )
3.4.2数学物理函数.例如 3.4.2 贝塞尔函数 BesselJ[n,z] Gamma函数 Gamma Gamma[z] β—函数 β (a, b) = τ (a )τ (b ) = 1t a 1 (1 t )b 1dt τ (a + b ) ∫ 0
结果为 27 + E^3
注意:定义函数时自变量后面一定要加下划线. 注意
3.3 自定义函数
3.3.2分段函数的定义 3.3.2 用If which If或which If which命令,例如定义函数
x 2 , x ≤ 1 f (x ) = 2 x , x > 1
可以键入 或
f x := which x 1, x^2, x > 1, 2 - x
Mathematica的内部函数 3.2 Mathematica的内部函数
Mathematica中所有基本函数都已定义,
此外还有许多函数,列表如下:
函数名
输入格式
函数名
输入格式
三角函数 与 反三角函数
双曲函数 与 反双曲函数 指数函数
sinx cosx tanx cotx secx cscx sinhx coshx tanhx
π
3 (3) e 5 ,
,
(2) cos
π
5 ( 4) arctan( 0.125) ,
,
(5) 3125 ,
(6) ln( 2.0375 )
习题1 习题1-3
3 定义如下的分段函数
e x , f ( x) = 1 + x , x < 0; x >= 0
并求出函数值 4 定义一个函数
2 x2 y2 , f (x, y) = 0 ,
3.1 四则运算与运算次序
在Mathematica中变量如果赋了值,在以后 的表达式中一直以该值出现,这一点常常 被初学者忽略,造成计算结果出错. 例如 x = Pi 3;
y = Sin x
D @悙
N
0.866025
t = x^2 + 1
p2 1+ 9
3.1 四则运算与运算次序
系统输出了一个数值,是将看作π/3的结 果,而不是一个表达式.要第二次使用一 个变量,必须清除原来的值,用"Clear Clear" Clear 命令,格式为Clear Clear[变量]或Clear Clear[变量1, Clear Clear 变量2],也可以用格式 变量名=. 表示将 原来的定义取消.
Map myPlot, 1, 2, 3, 4, 5 Show %
D8 D D @ @@ @ < 8 < < D @8 D @ D
3.3 自定义函数
4 2 -4 -2 -2 -4 2 4
这里"Map Map"命令表示将 Map 函数用于后面的表列, 运行后得到一组同心圆.
图3.3thematica中的特殊函数
Sin[x] Cos[x] Tan[x] Cot[x] Sec[x] Csc[x]
Sinh[x] Cosh[x] Tanh[x]
arcsinx arccosx arctanx arccotx arcsecx arccscx arcsinhx arccoshx arctanhx
ArcSin[x] ArcCos[x] ArcTan[x] ArcCot[x] ArcSec[x] ArcCsc[x] ArcSinh[x] ArcCosh[x] ArcTanh[x] Log[x] Log[a,x] Max[a,b,c] Min[a,b,c]
@D @ D
u x, y
@D "
x2 + y2
3.3 自定义函数 在Mathematica中函数的概念是与传统概念有着区 别的.它理解为对输入输出的一种法则.比如可以 输入圆心和半径,而输出圆的图形. 例1 定义一个函数,画出以原点O为圆心,r为半径 的圆.
键入 myPlot r_ :=
ParametricPlot r * Cos t , r * Sin t , t, 0, 2 * Pi , AspectRatio Automatic
@@ @D < 8D
+
63 x5 8 315 x4 16
-1 + 2 3 8 3 x 2
3 x2 2
+ -
5 x3 2
-
15 x2 4
+
35 x4 8
15 x 8
35 x3 4
- 156 +
105 x2 16
-
+
231 x6 16
For i = 1, i <= 6, i ++, LegendreP t i = Plot LegendreP i, x , x, - 1, 1 , DisplayFunction Identity Show t 1 , t 2 , t 3 , t 4 , DisplayFunction $DisplayFunction
f (1), f (2), f (0)
x2 + y2 >=1 其它
�