5Mathematica求不定积分与函数作图

合集下载

mathtype 不定积分

mathtype 不定积分

mathtype 不定积分Mathematica 中的不定积分计算Mathematica 提供了一种强大且易于使用的环境来计算不定积分。

以下是有关如何使用 Mathematica 计算不定积分的分步指南:步骤 1:输入积分表达式在 Mathematica 笔记本中,使用 Integrate 函数输入积分表达式。

例如,要计算 x^2 的不定积分,请输入:```Integrate[x^2, x]```步骤 2:指定变量确保指定积分变量。

在本例中,积分变量是 x,因此我们使用x 作为 Integrate 函数的第二个参数。

步骤 3:简化结果Mathematica 将返回不定积分的结果,可能包含常数项 C。

要简化结果,请使用 Simplify 函数:```Simplify[%]```步骤 4:获取最终结果Simplify 函数将返回积分的简化版本,没有常数项。

步骤 5:显示结果要显示结果,请使用 Print 函数:```Print[%]```示例:下面是一些使用 Mathematica 计算不定积分的示例: x^2 的不定积分:```Integrate[x^2, x]Simplify[%]```结果:```(1/3) x^3 + C```sin(x) 的不定积分:```Integrate[Sin[x], x]Simplify[%]```结果:```-Cos[x] + C``` e^x 的不定积分:```Integrate[E^x, x]Simplify[%]```结果:```E^x + C```其他功能:Mathematica 还提供其他功能来处理不定积分:IntegrateAll:将积分应用于给定表达式中的所有函数。

DSolveValue:求解微分方程,该方程包含积分。

NIntegrate:计算定积分的数值逼近值。

提示: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 建立替换规则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,内容全面,循序渐近,非常容易学习使用。

mathematica5简明教程

mathematica5简明教程

mathematica5简明教程Mathematica5简明教程第1章Mathematica概述1.1 运行和启动:介绍如何启动Mathematica软件,如何输入并运行命令1.2 表达式的输入:介绍如何使用表达式1.3 帮助的使用:如何在mathematica中寻求帮助第2章Mathematica的基本量2.1 数据类型和常量:mathematica中的数据类型和基本常量2.2 变量:变量的定义,变量的替换,变量的清除等2.3 函数:函数的概念,系统函数,自定义函数的方法2.4 表:表的创建,表元素的操作,表的应用2.5 表达式:表达式的操作2.6 常用符号:经常使用的一些符号的意义第3章Mathematica的基本运算3.1 多项式运算:多项的四则运算,多项式的化简等3.2 方程求解:求解一般方程,条件方程,方程数值解以及方程组的求解3.3 求积求和:求积与求和第4章函数作图4.1 二维函数作图:一般函数的作图,参数方程的绘图4.2 二维图形元素:点,线等图形元素的使用4.3 图形样式:图形的样式,对图形进行设置4.4 图形的重绘和组合:重新显示所绘图形,将多个图形组合在一起4.5 三维图形的绘制:三维图形的绘制,三维参数方程的图形,三维图形的设置第5章微积分的基本操作5.1 函数的极限:如何求函数的极限5.2 导数与微分:如何求函数的导数,微分5.3 定积分与不定积分:如何求函数的不定积分和定积分,以及数值积分5.4 多变量函数的微分:如何求多元函数的偏导数,微分5.5 多变量函数的积分:如何计算重积分5.6 无穷级数:无穷级数的计算,敛散性的判断第6章微分方程的求解6.1 微分方程的解:微分方程的求解6.2 微分方程的数值解:如何求微分方程的数值解第7章 Mathematica程序设计7.1 模块:模块的概念和定义方法7.2 条件结构:条件结构的使用和定义方法7.3 循环结构:循环结构的使用7.4 流程控制第8章 Mathematica中的常用函数8.1 运算符和一些特殊符号:常用的和不常用一些运算符号8.2 系统常数:系统定义的一些常量及其意义8.3 代数运算:表达式相关的一些运算函数8.4 解方程:和方程求解有关的一些操作8.5 微积分相关函数:关于求导,积分,泰勒展开等相关的函数8.6 多项式函数:多项式的相关函数8.7 随机函数:能产生随机数的函数函数8.8 数值函数:和数值处理相关的函数,包括一些常用的数值算法8.9 表相关函数:创建表,表元素的操作,表的操作函数8.10 绘图函数:二维绘图,三维绘图,绘图设置,密度图,图元,着色,图形显示等函数8.11 流程控制函数第1章Mathematica概述1.1 Mathematica的启动和运行Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。

数学建模之软件篇Mathematica使用介绍

数学建模之软件篇Mathematica使用介绍

第一章 数学软件Mathematica简介
6.%在Mathematica中代表什么含义
几乎所有的计算都可能用到前面已经计算好的结果,这时 Mathematica提供了一种简单的调用方式:
第一章 数学软件Mathematica简介
7.如何计算结果的近似值
在实际应用中,我们通常需要的是一个精确度很高的数值结果, 而不是一个绝对准确但表示非常复杂的结果,比如Sin[2/3]或者一个 一元四次方程的解。但如果参与运算的量都是精确的,则Mathematica 按精确值的方式输出。我们常用N函数把结果转换为数值结果。
表称为List,是由大括号“{ }”括起来的若干元素,元素间用逗号分 隔。其直接形式为:表名={元素1,元素2,…}。所以Mathematica中的表 其实就是我们通常所用的集合。它可以用来表示集合、矩阵、数组、向 量、数列等一些我们在计算机中常用的结构。 (1)参数表 在后面的学习中,我们经常会在Mathematica的内部函数的参数中看见 大括号,这就是参数表。下面我们列出常用参数表的含义:
取值范围可以是:Intergers,Rationals,Real,Complexes(即整数,有 理数,实数,复数)。
例:
第二章 初等数学篇
7.Mathematica中常用的多项式操作函数
在Mathematica中,你可以对多项式(包括一元和多元多项式)直接 进行加、减、乘、除、乘方等运算,此外系统还提供了丰富的函数以满足 用户对多项式操作的需要。 下面给出多项式的常用操作函数:
第二章 初等数学篇
3.Mathematica中的表指什么
(5)表的运算
第二章 初等数学篇
4.如何求解一元n次方程
解一元多项式方程主要的函数是Solve,该函数的目标是尽量找出方程 的精确解。Mathematica总可以解出四阶及以下的多项式方程,对于三次或 四次方程,结果可能相当复杂。在解四次以上的多项式方程时, Mathematica碰到数学理论上的障碍(即一般的四次以上的多项式方程不能 根式求解)而可能给不出精确解,但总可以给出数值解,并且对某些高次 方程Solve是可以给出精确结果的.

5Mathematica求不定积分与函数作图word资料10页

5Mathematica求不定积分与函数作图word资料10页

§4 Mathematica 求不定积分与函数作图4.1 求不定积分1 用Mathematica 求不定积分有两种方式(1) 用命令Integrate[f,x] (*其中x 为积分变量*)(2) 直接用工具栏输入不定积分⎰f(x)dx 。

例4.1 计算不定积分⎰+dx x x 2411。

解 方法一:⎰+=dx x x In 2411:]1[231)3231(]1[x x xOut ++-= 方法二: ),11(Integrate :]2[24x x x In +=231)3231(]2[x x xOut ++-= 2 除了指定的积分变量之外,其它所有符号都被作为常数处理例4.2 计算不定积分dx c bx ax )(2++⎰。

解 ⎰++=dx c x b x a In )**(:]3[232]3[22ax bx cx Out ++= 3 积分变量不一定是单个的符号变量,也可以是一个函数,在例5.4.3中,积分变量是x sin 。

例4.3 计算不定积分⎰x d x sin )log(sin 2。

解 ⎰=][Sin ]][Sin [Log :]4[2x d x In][Sin ]][Sin [Log ][Sin 2]4[2x x x Out +-=4 Integrate 命令也能在复数平面上进行积分运算例4.4 计算不定积分⎰dx e Ix x )sinh(。

解 ⎰=dx x x I In ][Exp *]*[Sinh :]5[=]5[Out i ])[Sin 21][Cos 21(x e x e x x +-5 Integrate 命令在处理积分运算时会做两个假设。

第一个假设已经在例4.2中提到,即Mathematica 假设除了积分变量之外其它符号都被作为常数处理。

第二个假设是Mathematica 求得的积分结果是一个通式(generic form),积分结果可能在某些点不成立,这时Mathematica 会告诉⎰)()(x d x f 的标准结果,并且假设这一结果在哪些点不成立。

Mathematica使用教程

Mathematica使用教程

Mathematica使用教程【Mathematica 简介】Mathematica 软件是由沃尔夫勒姆研究公司(Wolfram Research Inc.)研发的。

Mathematica 版发布于1988年6月23日。

发布之后,在科学、技术、媒体等领域引起了一片轰动,被认为是一个革命性的进步。

几个月后,Mathematica 就在世界各地拥有了成千上万的用户。

今天,Mathematica 已经在世界各地拥有了数以百万计的忠实用户。

Mathematica 已经被工业和教育领域被广泛地采用。

实际上,Mathematica 负责将高级的数学和计算引入了传统上非技术的领域,极大的增加了科技软件的市场。

一个包含应用、咨询、书籍、和课程软件的行业支持着国际化的 Mathematica 用户群,这个行业还在不断地膨胀。

随着沃尔夫勒姆研究公司不断地扩大和 Mathematica 的使用被不断地扩展到不同的领域,将会看到 Mathematica 在全世界范围内对未来产品、重要研究发现、和教学的巨大影响。

数学软件是现在科研工作者的必备的工具,个人比较喜欢用Mathematica,因为它是最接近数学语言的。

Mathematica 在15日发布,其最显著的变化是允许自由形式的英文输入,而不再需要严格按照Mathematica语法,这类似于Wolfram|Alpha搜索引擎。

Mathematica 8允许用户按照自己习惯的思考过程输入方程式或问题,最令人激动的部分是软件不是逐行执行命令,而是能理解上下文背景。

1. Enter your queries in plain English using new free-form linguistic input2. Access more than 10 trillion sets of curated, up-to-date, and ready-to-use data3. Import all your data using a wider array of import/export formats4. Use the broadest statistics and data visualization capabilities on the market5. Choose from a full suite of engineering tools, such as wavelets and control systems6. Use more powerful image processing and analysis capabilities7. Create interactive tools for rapid exploration of your ideas8. Develop faster and more powerful applicationsWolfram Research 的CEO 和创立者斯蒂芬·沃尔夫勒姆表示:“传统上,让计算机执行任务必须使用计算机语言或者使用点击式界面:前者要求用户掌握它的语法;而后者则限制了可访问函数的范围。

Mathematic的函数作图总结

Mathematic的函数作图总结

Mathematic的函数作图总结Mathematic的函数作图总结⼀、Mathematic做图总结:随着数学的计算技术不断地发展,出现了许多优秀的数学软件。

使⽤这些数学软件,可以⼤⼤地提⾼我们分析和解决数学问题的能⼒。

数学软件Mathematica功能⽐较强⼤,它集数值计算、公式推导和图形等功能为⼀体。

可以顺利解决我们在⾼等数学、线性代数、概率论、最优化、概率统计等⼀些数学科⽬中所要经常遇到的⼀些问题。

Mathematica在操作是必须得注意⼤⼩写,内部函数⼀般要写全称,⽽且⼀定是以⼤写英⽂字母开头,⾃定义的变量可以取任意的名称,长度不限但是不可以以数字开头,()⽤来表⽰项的结合顺序,⽽[]表⽰函数。

Mathematica的图形函数⼗分丰富,⽤它可以画出很复杂的图形,⽽且只需要寥寥⼏句就可以,具有⼗分⽅便的操作性能。

Mathematica可以⽤来函数的各类函数画图:例如所有的三⾓函数,反三⾓函数,以及各类的特殊函数,各种的复杂函数各种的随机函数等等图形的输出。

函数的各种表⽰⽅法(列表法,解析法(直⾓坐标⽅程,参数⽅程,极坐标⽅程,隐函数))Mathematic做图分为⼆维的和三维的⼆、根据函数维数对Mathematic做图作总结:⼆维图形:例如:Plot x Sin 1x ,x,0.5,0.5例如:⽤ImplicitPlot 命令作出221x y xy +=+的图形再例如:⽤不同颜⾊画出sin ,arctan ,[4,4]y x y x x ==∈-的图形,并写出命令。

G1Plot Sin x ,x,4,4,PlotStyle RGBColor 0,1,0G2Plot ArcTan x ,x,4,4,PlotStyle RGBColor 1,1,0Show G1,G2由图可以看出 Mathematic可以在⼀幅图中⽤多种颜⾊表⽰图像图像更清晰明了。

即颜⾊函数RGBColor[red,green,blue]⽤PolarPlot命令, 作出曲线3sin8ρ?=(极坐标表⽰)的图形。

mathematica不定积分

mathematica不定积分

mathematica不定积分Mathematica 是一款强大的数学软件,支持多种数学计算。

其中,不定积分是数学计算中的重要内容之一。

下面我们就来介绍如何使用Mathematica 进行不定积分。

一、输入函数首先,我们需要输入待求不定积分的函数。

在 Mathematica 中,可以使用“Integrate”函数对函数进行不定积分。

例如,对于函数 f(x) = x^2,我们可以输入以下命令进行不定积分:Integrate[x^2, x]二、确定积分常数在进行不定积分时,必须要确定积分常数。

在 Mathematica 中,可以使用“C”来表示积分常数。

例如,对于函数 f(x) = x^2,我们可以输入以下命令进行不定积分,并用“C”表示积分常数:Integrate[x^2, x] + C三、使用特殊函数在 Mathematica 中,还支持使用特殊函数来进行不定积分。

例如,对于三角函数 sin(x),可以使用“Sin”函数来进行不定积分。

例如,对于函数f(x) = sin(x),我们可以输入以下命令进行不定积分:Integrate[Sin[x], x]四、使用换元法换元法是不定积分的常用方法之一。

在 Mathematica 中,可以使用“ReplaceAll”函数以及“Simplify”函数来进行换元法的计算。

例如,对于函数 f(x) = sin(2x),可以使用换元法进行不定积分,如下所示:Integrate[Sin[2x], x] /. 2x -> ySimplify[%]五、使用分部积分法分部积分法是不定积分的另一种常用方法。

在 Mathematica 中,可以使用“Integrate”函数以及“ProductRule”函数来进行分部积分法的计算。

例如,对于函数 f(x) = x*cos(x),可以使用分部积分法进行不定积分,如下所示:Integrate[x Cos[x], x] // ProductRule六、使用积分表计算不定积分时,还可以使用积分表。

[整理]Mathematica函数作图.

[整理]Mathematica函数作图.
得到结果:
图1
为平面图形加刻度框。程序如下:
Plot[ Sin[ x ], { x, 0, 2Pi }, Frame ->True ]
得到结果:
图2
为图形加背景颜色。例如绿色,程序如下:
Plot[ Sin[ x ],{ x, 0, 2Pi }, Background ->RGBColor[0, 1, 1] ]
ParametricPlot[{2r(1–Cos[x])Cos[x], 2r(1–Cos[x])Sin[x]},
{x,0,2Pi}, AspectRatio->Automatic]
图形如下:
图10
图11
(2)用极坐标作图法画心脏线的图形,程序如下:
第一步打开子程序软件包<<Graphics`Graphics`
得到结果:
图7
参数函数图形
例6平面参数函数图形。画圆:
ParametricPlot[{Cos[x],Sin[x]},{x,0,2Pi}]
得到结果(图形按1:0.618的比例显示):
图8
若要屏幕显示实际比例的图形,输入以下程序:
ParametricPlot[{Cos[x],Sin[x]},{x,0,2Pi}, AspectRatio->Automatic]
得到结果:
图3
例2平面函数图形。例如,在区间[-10,10 ]中画 的图像。命令及格式如下:Plot[ , { x, -10, 10 } ]
得到结果:
图4
例3平面函数图形。例如,在区间[-10,10 ]中画Sin[x]/x的图像。命令及格式如下:Plot[Sin[x]/x,{x,-10,10}]
得到结果:
程序运行后,得到结果:

Mathematica函数作图

Mathematica函数作图
例9空间参数函数图形
ParametricPlot3D[{u*Cos[u]*Cos[v],u*Cos[u]*Sin[v],Tan[u]},{u,0,2Pi},{v,0,2Pi}]
结果如下:
图13
隐函数图形
例10隐函数图形。输入程序(注意,方程有两个等号)
第一步<<Graphics`ImplicitPlot`
ParametricPlot[{2r(1–Cos[x])Cos[x], 2r(1–Cos[x])Sin[x]},
{x,0,2Pi}, AspectRatio->Automatic]
图形如下:
图10
图11
(2)用极坐标作图法画心脏线的图形,程序如下:
第一步打开子程序软件包<<Graphics`Graphics`
得到结果:
图5
例4平面函数图形。例如,在区间[ 0,10]中画函数 的图像。命令及格式如下:Plot[Log[10,x]-Sin[x],{x,0,10}]
得到结果:
图6
空间函数图形
例5空间函数图形。例如,在区间 画函数 的图像。命令及格式如下:
Plot3D[Sin[x*y],{x,0,2Pi},{y,0,2Pi}]
平面函数图形
例1平面函数图形。例如,在区间[ 0,2Pi]中画Sin[x]的图像。命令及格式如下:Plot[Sin[x],{x,0,2Pi}]
得到结果:
图1
为平面图形加刻度框。程序如下:
Plot[Sin[x],{x,0,2Pi}, Frame ->True ]
得到结果:
图2
为图形加背景颜色。例如绿色,程序如下:
程序运行后,得到结果:
图9

实验五用Mathematica软件计算一元函数的积分解读

实验五用Mathematica软件计算一元函数的积分解读

实验五 用Mathematica 软件计算一元函数的积分实验目的:1. 掌握用Mathematica 软件作求不定积分和定积分语句和方法。

2. 熟悉软件在建模中应用实验准备:数学概念1. 不定积分2. 定积分实验过程与要求:教师利用多媒体组织教学,边讲边操作示范。

实验的内容:一、利用Mathematica 软件包计算不定积分在Mathematica 系统中用Integrate 函数求函数的不定积分,基本格式为:Integrate [f [x ],x ]其中f [x ]是以x 为自变量的函数或表达式.实验 求dx x x x )9arctan 2sin 4(3⎰-+-.解 In[1]:= Integrate[x ^3-4Sin[x ]+2ArcTan[x ]-9,x ]注意结果中省略了常数C .实验 求dx xx x ⎰++cos 1sin . 解 In[2]:= Integrate[(x +Sin[x ])/(1+Cos[x ]),x ]课后实验用笔算和机算两种方法求下列各积分:(1)()⎰+dx x x 232 (2)⎰+dx x x 122 (3)⎰-dx x x 21arcsin (4)⎰+dx x x 21arctan (5)⎰+dx x x sin 43cos (6)⎰+-dx ee x x 1 (7)⎰xdx x 22cos sin (8)⎰+dx ee x x 12二、求定积分和广义积分在Mathematica 系统中定积分的计算也用Integrate 函数,基本格式为:Integrate [f [x ],{x ,a ,b }]其中表{x ,a ,b }中,x 为积分变量,a ,b 分别代表积分下限和上限,当b 为∞时,即为广义积分.实验 求xdx x cos 102⎰.解 In[3]:= Integrate[(x ^2)Cos[x ],{x ,0,1}]实验 求dx e x ⎰+∞-02.解 In[4]:= Integrate[Exp[-2x ],{x ,0,+Infinity}] Out[4]=12如果要得积分值的近似值,可将N 函数作用于上,对于某些已经被证明其原函数不能用初等函数来表示的积分也可直接用Nintegrate 求其数值解.实验 求xdx x cos 102⎰的近似值.解 In[5]:= NIntegrate[(x ^2)Cos[x ],{x ,0,1}]Out[5]=0.239134实验 求dx xx ⎰10sin 的数值解. 解 In[6]:= NIntegrate[Sin[x ]/x ,{x ,0,1}] Out[6]=0.946083实验三、应用实验本实验研究转售机器的最佳时间问题人们使用机器从事生产是为获得更大的利润。

第四讲 用Mathematica画函数图形

第四讲  用Mathematica画函数图形
第四讲
用Mathematica画函数图形
用Mathematica画函数的图形
基本的一元函数作图 二维作图的可选参数 参数方程作图 极坐标方程作图 三维图形命令
基本的一元函数作图
命令格式: 自变量的取值范围
Plot [ f[x], {x, xmin, xmax}, 可选项]
如: Plot [Sin[1/x], {x, -0.01, 0.01}, PlotPoints->100]
参数方程
参数方程命令格式:
ParametricPlot [ {x[t],y[t]}, {t, tmin, tmax}, 可选项] 如: ParametricPlot [ {2*(t-Sin[t]),2*(1-Cos[t])},{t, 0, 2Pi},
✓ PoleStyle:说明用什么方式画图形; • RGBColor:图形的颜色 • Thickness[t]:描述线的宽度 • Dashing:用于画虚线
✓ PlotPoints:用于说明采样点的基本点数
Background: 用于指定背景颜色 Automatic 实际颜色与Windows窗口背景色一致
二维作图可选参数
第一类参数:与图形显示有关
✓ AspectRatio:改变图形显示的横纵坐标的比例; ✓ Frame:是否给图形加边框,默认为False; ✓ PlotRange:用于指定图形在纵坐标方向上的范围;
✓ Axeslable :用于给坐标轴加上标记 ✓Axes: 指定是否显示坐标轴
True(或Automatic)显示坐标轴
如: Plot [Sin[x], {x, -2Pi, 2Pi}, AspectRatio->Automatic, Frame->True, AxesLabel->{x, Sin[x]}, PlotRange->{-2,2}]

Mathematica简易教程

Mathematica简易教程
4. 使用条件运算符定义和IF命名定义函数 如定义:
Page 21
使用条件运算符,基本格式为:f[x_]:=expr/;condition,当condition条件满足 时才把expr赋给f(x)。
Page 22
当然,使用If命令也可以定义上面的函数,If语句的格式为If[条件,值1,值 2],如果条件成立取“值1”,否则取“值2”,用If语句定义如下:
mathematicapage目录第一章mathematica简介第二章mathematica的基本量第三章mathematica的基本运算第四章函数作图第五章微积分的基本操作page第一章mathematica简介mathematica由美国物理学家stephenwolfram领导开发的他们组建wolfram研究公司mathematica是一个计算机代数系统把符号运算数值计算与图形显示集一体可以完成上述三项功能更重要的是它把这些功能融合在一个系统里使它们成为一个整体
3.2.4 解条件方程
在作方程计算时,可以把一个方程看做你要处理的主要方程,而把其 他方程作为必须满足的辅助条件,你就会发现这样处理很方便。 在Mathematica中,我们通常是首先命名辅助条件组,然后用名字把辅 助条件包含在你要用函数Solve[]求解的方程组中。
Page 40
3.3 求和与求积
Mathematica简介与入门
目录
第一章 Mathematica简介 第二章 Mathematica的基本量
第三章 Mathematica的基本运算
第四章 函数作图 第五章 微积分的基本操作
Page 2
第一章 Mathematica简介
Mathematica由美国物理学家Stephen Wolfram领导开发的,他们组建Wolfram 研究公司 Mathematica是一个计算机代数系统,把 符号运算、数值计算与图形显示集一体, 可以完成上述三项功能,更重要的是它把 这些功能融合在一个系统里,使它们成为 一个整体.此外,Mathematica还是一个 易于扩充的系统,即实际上提供了功能强 大的程序设计语言,可以定义用户需要的 各种函数,完成用户需要的各种工作,系 统本身还提供了一大批用这个语言写出的 专门程序或软件包 Mathematica的发布标志着现代科技计算 的开始。Mathematica是世界上通用计算 系统中最强大的系统。自从1988发布以来, 它已经对如何在科技和其它领域运用计算 机产生了深刻的影响

03项目二Mathematica 一元函数积分学及空间图形的画法

03项目二Mathematica  一元函数积分学及空间图形的画法

项目二 一元函数积分学与空间图形的画法实验1 一元函数积分学(基础实验)实验目的 掌握用Mathematica 计算不定积分与定积分的方法. 通过作图和观察, 深入理解 定积分的概念和思想方法. 初步了解定积分的近似计算方法. 理解变上限积分的概念. 提高应用 定积分解决各种问题的能力.基本命令1.计算不定积分与定积分的命令Integrate 求不定积分时, 其基本格式为Integrate[f[x],x]如输入 Integrate[x^2+a,x]则输出 3x ax 3+其中a 是常数. 注意积分常数C 被省略.求定积分时, 其基本格式为Integrate[f[x],{x,a,b}]其中a 是积分下限, b 是积分上限.如输入 Integrate[Sin[x],{x,0,Pi/2}] 则输出 1注:Mathematica 有很多的命令可以用相应的运算符号来代替. 例如,命令Integrate 可用积分号 ⎰代替, 命令Sum 可以用连加号∑代替, 命令Product 可用连乘号∏代替. 因此只要调出这些运 算符号, 就可以代替通过键盘输入命令. 调用这些命令,只要打开左上角的File 菜单,点击Palettes 中的BasicCalculations, 再点击Calculus 就可以得到不定积分号、定积分号、求和号、求偏导数 号等等. 为了行文方便, 下面仍然使用键盘输入命令, 但读者也可以尝试用这些数学符号直接计算.2.数值积分命令NIntegrate用于求定积分的近似值. 其基本格式为NIntegrate[f[x],{x,a,b}]如输入 NIntegrate[Sin[x^2],{x,0,1}] 则输出 0.3102683.循环语句For循环语句的基本形式是For[循环变量的起始值, 测试条件, 增量, 运算对象]运行此命令时, 将多次对后面的对象进行运算, 直到循环变量不满足测试条件时为止. 这里必须 用三个逗号分开这四个部分. 如果运算对象由多个命令组成, 命令之间用分号隔开.例如, 输入t=0;For[j=1,j<=10,j++,t=t+j]; t则循环变量j 从取值1开始, 到10结束. 每次增加1. 执行结果, 输出变量t 的最终值1+2+… +10=55.注:For 语句中的 j++ 实际表示j=j+1.实验举例用定义计算定积分当)(x f 在],[b a 上连续时, 有∑∑⎰=∞→-=∞→⎪⎭⎫⎝⎛-+-=⎪⎭⎫ ⎝⎛-+-=nk n n k n b an a b k a f n a b n a b k a f nab dx x f 11)(lim)(lim)( 因此可将∑-=⎪⎭⎫ ⎝⎛-+-1)(n k n a b k a f na b 与∑=⎪⎭⎫⎝⎛-+-nk n a b k a f n a b 1)( 作为⎰b adx x f )(的近似值. 为了下面计算的方便, 在例1.1中定义这两个近似值为b a f ,,和n 的函数.例1.1 (教材 例1.1) 计算⎰102dx x 的近似值.输入s1[f_,{a_,b_},n_]:=N[(b-a)/n*Sum[f[a+k*(b-a)/n],{k,0,n-1}]]; s2[f_,{a_,b_},n_]:=N[(b-a)/n*Sum[f[a+k*(b-a)/n],{k,1,n}]];再输入Clear[f];f[x_]=x^2;js1=Table[{2^n,s1[f,{0,1},2^n],s2[f,{0,1},2^n]},{n,1,10}]; TableForm[js1,TableHeadings->{None,{ "n", "s1", "s2"}}]则输出n s1 s2 2 0.125 0.625 4 0.21875 0.46875 8 0.273438 0.398438 16 0.302734 0.365234 32 0.317871 0.349121 64 0.325562 0.341187 128 0.329437 0.33725 256 0.331383 0.335289 512 0.332357 0.334311 10240.3328450.333822这是⎰102dx x 的一系列近似值. 且有.21102s dx x s <<⎰例1.2 计算⎰10sin dx xx 的近似值.输入Clear[g];g[x_]=Sin[x]/x;js2=Table[{n,s2[g,{0,1},n]},{n,3,50}]则得到定积分的一系列近似值:{{3,0.91687},{4,0.924697},{5,0.929226},…, {48,0.944421},{49,0.944455},{50,0.944488}}注:用这种方法(矩形法)得到的定积分的近似值随n 收敛很慢. 可以用梯形法或抛物线法改进收敛速度(见教材中的有关章节). 如果用Nintegrate 命令可以得到本题的比较精确的近似值为0.946083.例1.3 用定义求定积分⎰b adx x 2的动画演示.输入Clear[f,x,a,b];f[x_]=x^2;a=0;b=1.5;m=0;g1=Plot[f[x],{x,a,b},PlotStyle->{RGBColor[1,0,0]},DisplayFunction->Identity];For[j=3,j<=50,j+=2,m=j;tt1={ };tt2={ };For[i=0,i<m,i++,x1=a+i*(b-a)/m;x2=x1+(b-a)/m; tt1=Append[tt1,Graphics[{RGBColor[0,0,1],Rectangle[{x1,0},{x2,f[x2]}]}]];tt2=Append[tt2,Graphics[{RGBColor[0,0,1],Rectangle[{x1,f[x1]},{x2,0}]}]]];Show[tt1,tt2,g1,DisplayFunction->$DisplayFunction,PlotLabel->m ''intervals '']]执行以上命令, 可得到一系列图形(共24幅), 如果观察动画, 只要选中24幅图形中的任一幅图形, 双击以后即可以形成动画. 当分割越来越细时, 观察小矩形面积之和与曲边梯形面积之间的关系, 有助于理解定积分的概念及其几何意义.不定积分计算例1.4 (教材 例1.2) 求.)1(532⎰-dx x x 输入Integrate[x^2*(1-x^3)^5,x]则输出18x 3x 6x 59x 106x 53x 181512963-+-+-例1.5 求.3sin 2⎰-xdx e x 输入Integrate[Exp[-2 x]*Sin[3 x],x]则输出])3[2]3[3(1312x Sin x Cos e x+--例1.6 (教材 例1.3) 求.arctan 2⎰xdx x 输入Integrate[x^2*ArcTan[x],x]则输出]x 1[Log 61]x [ArcTan x 316x 232+++-例1.7 求.sin ⎰dx xx 输入Integrate[Sin[x]/x,x]则输出SinIntegrate[x]它已不是初等函数.定积分计算例1.8 求.)(102⎰-dx x x输入Integrate[x-x^2,{x,0,1}]则输出61例1.9 (教材 例1.4) 求.|2|40⎰-dx x输入Integrate[Abs[x-2],{x,0,4}]则输出4例1.10 (教材 例1.5) 求.4212⎰-dx x输入Integrate[Sqrt[4-x^2],{x,1,2}]则输出ππ+--)233(61例1.11 (教材 例1.6) 求.102⎰-dx e x输入Integrate[Exp[-x^2],{x,0,1}]则输出]1[21Erf π 其中Erf 是误差函数, 它不是初等函数. 改为求数值积分, 输入NIntegrate[Exp[-x^2],{x,0,1}]则有结果0.746824.变上限积分例1.12 (教材 例1.7) 求.)(2cos 0⎰xdx x w dx d输入D[Integrate[w[x],{x,0,Cos[x]^2}],x]则输出-2 Cos[x] Sin[x]w[Cos[x]2]注意这里使用了复合函数求导公式.例1.13 (教材 例1.8) 画出变上限函数⎰x dt t t 02sin 及其导函数的图形.输入命令f1[x_]:=Integrate[t*Sin[t^2],{t,0,x}]; f2[x_]:=Evaluate[D[f1[x],x]];g1=Plot[f1[x],{x,0,3},PlotStyle->RGBColor[1,0,0]]; g2=Plot[f2[x],{x,0,3},PlotStyle->RGBColor[0,0,1]]; Show[g1,g2];则输出图1.1.图1.1求平面图形的面积例1.14 (教材 例1.9) 设xx e x f πcos )2(2)(--=和).2cos(4)(-=x x g 计算区间]4,0[上两曲线所围成的平面的面 积.输入命令Clear[f,g];f[x_]=Exp[-(x-2)^2 Cos[Pi x]];g[x_]=4 Cos[x-2]; Plot[{f[x],g[x]},{x,0,4},PlotStyle->{RGBColor[1,0,0],RGBColor[0,0,1]}];FindRoot[f[x]==g[x],{x,1.06}] FindRoot[f[x]==g[x],{x,2.93}]NIntegrate[g[x]-f[x],{x,1.06258,2.93742}]则输出两函数的图形(图1.2)及所求面积.17413.4=s图1.2求平面曲线的弧长例1.15 (教材 例1.10) ),sin sin()(x x x x f +=计算))0(,0(f 与))2(,2(ππf 两点间曲线的弧长. 输入命令Clear[f];f[x_]=Sin[x+x*Sin[x]];Plot[f[x],{x,0,2Pi},PlotStyle->RGBColor[1,0,0]]; NIntegrate[Sqrt[1+f'[x]^2],{x,0,2Pi}]则输出曲线的图形(图1.3)及所求曲线的弧长12.0564.图1.3注: 曲线)(x f y =在区间]2,0[π上的弧长⎰'+=π202))((1dx x f s .求旋转体的体积例1.16 (教材 例1.11) 求曲线)0(sin )(2π≤≤=x x x x g 与x 轴所围成的图形分别绕x 轴和y 轴旋转所成的旋 转体体积.输入Clear[g];g[x_]=x*Sin[x]^2; Plot[g[x],{x,0,Pi}]则输出图1.4.观察)(x g 的图形. 再输入Integrate[Pi*g[x]^2,{x,0,Pi}]得到输出 ⎪⎪⎭⎫⎝⎛+-864153πππ又输入 Integrate[2 Pi*x*g[x],{x,0,Pi}] 得到输出 ⎪⎪⎭⎫⎝⎛+-323πππ若输入 NIntegrate[2 Pi*x*g[x],{x,0,Pi}] 则得到体积的近似值为27.5349.注: 图1-4绕y 轴旋转一周所生成的旋转体的体积.)(20⎰=ππdx x xg V此外,我们还可用ParametricPlot3D 命令(详见本项目实验2的基本命令)作出这两个旋转体的 图形.输入Clear[x,y,z,r,t]; x[r_,t_]=r;y[r_,t_]=g[r]*Cos[t]; z[r_,t_]=g[r]*Sin[t];ParametricPlot3D[{x[r,t],y[r,t],z[r,t]},{r,0,Pi},{t,-Pi,Pi}]则得到绕x 轴旋转所得旋转体的图形(图1.5).又输入Clear[x,y,z];x[r_,t_]=r*Cos[t];y[r_,t_]=r*Sin[t];z[r_,t_]=g[r];ParametricPlot3D[{x[r,t],y[r,t],z[r,t]},{r,0,Pi},{t,-Pi,Pi}] 则得到绕y轴旋转所得旋转体的图形(图1.6).图1.6实验习题1. 求下列不定积分:(1) ⎰+dx xa x22sin cos ; (2)⎰-dx xe x 2sin2; (3) ⎰---dx x xxx 32422; (4) .ln 23⎰xdx x ; (5)⎰++-25124)72(2x xdxx ; (6)⎰---dx xx x 22121.2. 求下列定积分: (1) ⎰-202sin )cos 1(πθθθd ; (2)⎰-10122)2(dx x x ;(3)⎰++a xa x dx22(a >0); (4)⎰+3125xx x dx ;(5) .2sin 222⎰-ππxdx e x ; (6)dx x x ⎰-1043294.3. 求⎰-π3)cos(2dx x e x 的近似值. 4. 设,)()(,sin )(1.0⎰==x dt t g x h xxx g 作出)(),(x h x g 的图形, 并求).(2x h dxd5. 画出变上限函数⎰⋅x t dt e t 02及函数2)(2x xe x f =的图形.6.设,51),3(4cos )(2)3(≤≤-=--x x e x f x 求),(x f y =x 轴, 5,1==x x 所围曲边梯形绕x 轴旋转 所成旋转体的体积V , 并作出该旋转体的图形.实验2 空间图形的画法(基础实验)实验目的 掌握用Mathematica 绘制空间曲面和曲线的方法. 熟悉常用空间曲线和空间曲面 的图形特征,通过作图和观察, 提高空间想像能力. 深入理解二次曲面方程及其图形.基本命令1.空间直角坐标系中作三维图形的命令Plot3D命令Plot3D 主要用于绘制二元函数),(y x f z =的图形. 该命令的基本格式为Plot3D[f[x,y],{x,x1,x2},{y,y1,y2},选项]其中f[x,y]是y x ,的二元函数, x1,x2表示x 的作图范围, y1,y2表示y 的作图范围.例如,输入Plot3D[x^2+y^2,{x,-2,2},{y,-2,2}]则输出函数22y x z +=在区域22,22≤≤-≤≤-y x 上的图形(图2.1)与Plot 命令类似, Plot3D 有许多选项. 其中常用的如PlotPoints 和ViewPoint. PlotPoints 的用 法与以前相同. 由于其默认值为PlotPoints->15, 常常需要增加一些点以使曲面更加精致, 可能要 用更多的时间才能完成作图. 选项ViewPoint 用于选择图形的视点(视角), 其默认值为 ViewPoint->{1.3,-2.4,2.0},需要时可以改变视点.2.利用参数方程作空间曲面或曲线的命令ParametricPlot3D 用于作曲面时, 该命令的基本格式为ParametricPlot3D[{x[u,v],y[u,v],z[u,v]},{u,u1,u2},{v,v1,v2},选项]其中x[u,v],y[u,v],z[u,v]是曲面的参数方程表示式. u1,u2是作图时参数u 的范围, v1,v2是参数v 的 范围.例如,对前面的旋转抛物面, 输入ParametricPlot3D[{u*Cos[v],u*Sin[v],u^2},{u,0,3},{v,0,2 Pi}]同样得到曲面22y x z +=的图形(图2.2).由于自变量的取值范围不同, 图形也不同. 不过, 后者比较好的反映了旋转曲面的特点, 因 而是常用的方法.又如, 以原点为中心, 2为半径的球面. 它是多值函数, 不能用命令Plot3D 作图. 但是, 它的 参数方程为,20,0,cos 2,sin sin 2,cos sin 2πθπϕϕθϕθϕ≤≤≤≤===z y x因此,只要输入ParametricPlot3D[{2 Sin[u]*Cos[v],2 Sin[u]*Sin[v],2 Cos[u]},{u,0,Pi},{v,0,2 Pi}]便作出了方程为22222=++y x z 的球面(图2.3)..用于作空间曲线时,ParametricPlot3D 的基本格式为ParametricPlot3D[{x[t],y[t],z[t]},{t,t1,t2},选项]其中x[t],y[t],z[t]是曲线的参数方程表示式. t1,t2是作图时参数t 的范围.例如, 空间螺旋线的参数方程为).80(10/,sin ,cos π≤≤===t t z t y t x输入ParametricPlot3D[{Cos[t],Sin[t],t/10,RGBColor[1,0,0]},{t,0,8 Pi}]则输出了一条红色的螺旋线(图2.4).在这个例子中,请读者注意选项RGBColor[1,0,0]的位置.用于作空间曲线时, ParametricPlot3D 的选项PlotPoints 的默认值是30, 选项ViewPoint 的默 认值没有改变.3.作三维动画的命令MoviPlot3D:无论在平面或空间, 先作出一系列的图形, 再连续不断地放映, 便得到动画. 例如, 输入调用作图软件包命令<<Graphics\Animation.m.执行后再输入MoviePlot3D[Cos[t*x]*Sin[t*y],{x,-Pi,Pi},{y,-Pi,Pi},{t,1,2},Frames->12]则作出了12幅曲面图, 选中任一幅图形, 双击它便可形成动画.实验举例一般二元函数作图例2.1 (教材 例2.1) 作出平面y x z 326--=的图形,其中20,30≤≤≤≤y x . 输入Plot3D[6-2x-3y,{x,0,3},{y,0,2}]则输出所作平面的图形(图2.5).如果只要位于第一卦限的部分, 则输入Plot3D[6-2x-3y,{x,0,3},{y,0,2},PlotRange->{0,6}]观察图形. 其中作图范围选项为PlotRange->{0,6},而删除的部分显示为一块水平平面(图2.6).图2.6例2.2 (教材 例2.2) 作出函数2214y x z ++=的图形.输入k[x_,y_]:=4/(1+x^2+y^2)Plot3D[k[x,y],{x,-2,2},{y,-2,2},PlotPoints->30,PlotRange->{0,4},BoxRatios->{1,1,1}]则输出函数的图形2.7. 观察图形, 理解选项PlotRange->{0,4}和BoxRatios->{1,1,1}的含义. 选项 BoxRatios 的默认值是{1,1,0.4}.例2.3 (教材 例2.3) 作出函数22y x xye z ---=的图形. 输入命令Plot3D[-x*y*Exp[-x^2-y^2],{x,-3,3},{y,-3,3},PlotPoints->30,AspectRatio->Automatic];则输出所求图形(图2.8).图2.8例2.4 (教材 例2.4) 作出函数)94cos(22y x z +=的图形. 输入Plot3D[Cos[4x^2+9y^2],{x,-1,1},{y,-1,1},Boxed->False,Axes->Automatic,PlotPoints->30,Shading->False]则输出网格形式的曲面图2.9, 这是选项Shading->False 起的作用, 同时注意选项Boxed->False 的作用.二次曲面例2.5 (教材 例2.5) 作出椭球面1194222=++z y x 的图形.这是多值函数, 用参数方程作图的命令ParametricPlot3D. 该曲面的参数方程为,cos ,sin sin 3,cos sin 2u z v u y v u x === (ππ20,0≤≤≤≤v u ).输入ParametricPlot3D[{2*Sin[u]*Cos[v],3*Sin[u]*Sin[v], Cos[u]},{u,0,Pi},{v,0,2 Pi},PlotPoints->30]则输出椭球面的图形(图2.10). 其中选项PlotPoints->30是增加取点的数量, 可使图形更加光滑.图2.10例2.6 (教材 例2.6) 作出单叶双曲面1941222=-+z y x 的图形.曲面的参数方程为,tan 3,cos sec 2,sin sec u z v u y v u x === (.20,2/2/πππ≤≤<<-v u )输入ParametricPlot3D[{Sec[u]*Sin[v],2*Sec[u]*Cos[v], 3*Tan[u]},{u,-Pi/4,Pi/4},{v,0,2 Pi},PlotPoints->30]则输出单叶双曲面的图形(图2.11).图2.11例2.7 作双叶双曲面13.14.15.1222222-=-+z y x 的图形.曲面的参数方程是,csc 3.1,sin cot 4.1,cos cot 5.1u z v u y v u x ===其中参数πππ<<-≤<v u ,20时对应双叶双曲面的一叶, 参数πππ<<-<≤-v u ,02时对应双叶双曲面的另一叶. 输入sh1=ParametricPlot3D[{1.5*Cot[u]*Cos[v],1.4*Cot[u]*Sin[v],1.3/Sin[u]},{u,Pi/1000,Pi/2},{v,-Pi,Pi}, DisplayFunction->Identity];(*DisplayFunction->Identity 是使图形暂时不输出的选项*) sh2=ParametricPlot3D[{1.5*Cot[u]*Cos[v],1.4* Cot[u]*Sin[v],1.3/Sin[u]},{u,-Pi/2,-Pi/1000}, {v,-Pi,Pi},DisplayFunction->Identity];Show[sh1,sh2,DisplayFunction->$DisplayFunction](*命令Show[sh1,sh2]是把图形sh1,sh2放置在一起, DisplayFunction->$DisplayFunction 是恢复显示图形的选项*) 输出为图2.12.例2.8 可以证明: 函数xy z =的图形是双曲抛物面. 在区域22,22≤≤-≤≤-y x 上作出它的图形.输入Plot3D[x*y,{x,-2,2},{y,-2,2},BoxRatios->{1,1,2}, PlotPoints->30]输出图形略. 也可以用ParametricPlot3命令作出这个图形, 输入ParametricPlot3[{r*Cos[t],r*Sin[t],r^2*Cos[t] *Sin[t]},{r,0,2},{t,0,2 Pi},PlotPoints->30]输出为图2.13比较这些图形的特点.例2.9 (教材 例2.7) 作出圆环v z u v y u v x sin 7,sin )cos 38(,cos )cos 38(=+=+=,(πππ22/,2/30≤≤≤≤v u )的图形.输入ParametricPlot3D[{(8+3*Cos[v])*Cos[u],(8+3*Cos[v])*Sin[u],7*Sin[v]},{u,0,3*Pi/2},{v,Pi/2,2*Pi}];则输出所求圆环的图形(图2.14).图2.14例2.10 画出参数曲面]2,001.0[],4,0[)5/2/ln(tan cos sin sin sin cos ∈∈⎪⎩⎪⎨⎧++===v u u v v z vu y v u x π的图形.输入命令ParametricPlot3D[{Cos[u]*Sin[v],Sin[u]Sin[v],Cos[v]+Log[Tan[v/2]+u/5]}, {u,0,4*Pi},{v,0.001,2}];则输出所求图形(图2.15).曲面相交例2.11 (教材 例2.8) 作出球面22222=++z y x 和柱面1)1(22=+-y x 相交的图形. 输入g1=ParametricPlot3D[{2 Sin[u]*Cos[v],2 Sin[u]*Sin[v],2 Cos[u]},{u,0,Pi},{v,0,2 Pi},DisplayFunction->Identity];g2=ParametricPlot3D[{2Cos[u]^2,Sin[2u],v},{u,-Pi/2,Pi/2},{v,-3,3},DisplayFunction->Identity];Show[g1,g2,DisplayFunction->$DisplayFunction]则输出所求图形(图2.16).例2.12 作出锥面222z y x =+和柱面1)1(22=+-y x 相交的图形. 输入g3=ParametricPlot3D[{r*Cos[t],r*Sin[t],r}, {r,-3,3},{t,0,2 Pi},DisplayFunction->Identity];Show[g2,g3,DisplayFunction->$DisplayFunction]输出为图2.17.图2.17例2.13 画出以平面曲线x y cos =为准线, 母线平等Z 轴的柱面的图形. 写出这一曲面的参数方程为⎪⎩⎪⎨⎧=∈-∈==s z R s t t y t x ],,[,cos ππ 取参数s 的范围为[0, 8]. 输入命令ParametricPlot3D[{t,Cos[t],s},{t,-Pi,Pi},{s,0,8}]则输出所求图形(图2.18).例2.14 (教材 例2.9) 作出曲面x y x y x z =+--=2222,及xOy 面所围成的立体图形. 输入g1=ParametricPlot3D[{r*Cos[t], r*Sin[t],r^2},{t,0,2*Pi},{r,0,1},PlotPoints->30]; g2=ParametricPlot3D[{Cos[t]*Sin[r],Sin[t]Sin[r],Cos[r]+1},{t,0,2*Pi},{r,0,Pi/2},PlotPoints->30];Show[g1,g2]则输出所求图形(图2.19).图2.19例2.15 (教材 例2.10) 作出螺旋线t z t y t x 2,sin 10,cos 10===(R t ∈)在xOz 面上的正投影曲线的图形.所给螺旋线在xOz面上的投影曲线的参数方程为10==.,costztx2输入ParametricPlot[{2t,10Cos[t]},{t,-2Pi,2Pi}];则输出所求图形(图2.20).图2.20注:将表示曲线的方程组, 消去其中一个变量, 即得到曲线在相应于这一变量方向上的正投影曲线的方程, 不考虑曲线所在平面, 它就是投影柱面方程; 对于参数方程, 只要注意将方程中并不存在的那个变元看成第二参数而添加第三个方程即可.例2.16 (教材例2.11) 作出默比乌斯带(单侧曲面)的图形.输入Clear[r,x,y,z];r[t_,v_]:=2+0.5*v*Cos[t/2];x[t_,v_]:=r[t,v]*Cos[t]y[t_,v_]:=r[t,v]*Sin[t]z[t_,v_]:=0.5*v*Sin[t/2];ParametricPlot3D[{x[t,v],y[t,v],z[t,v]},{t,0,2 Pi},{v,-1,1},PlotPoints->{40,4},Ticks->False]则输出所求图形(图2.21). 观察所得到的曲面, 理解它是单侧曲面.空间曲线例2.17 (教材 例2.12) 作出空间曲线)60(2,sin ,cos π≤≤===t t z t t y t t x 的图形. 输入ParametricPlot3D[{t*Cos[t],t*Sin[t],2*t,RGBColor[1.0,0,0.5]},{t,0,6 Pi}]则输出所求图形(图2.22).图2.22例2.18 绘制参数曲线 ⎪⎩⎪⎨⎧===2/cos 2sin t z t y t x 的图形.输入命令ParametricPlot3D[{Sin[t],2Cos[t],t.2},{t,0,12}];则输出所求图形(图2.23).例2.19 绘制参数曲线 ⎪⎪⎩⎪⎪⎨⎧=+==t z t y t x arctan 211cos 2的图形.输入命令ParametricPlot3D[{Cos[t]^2,1/(1+2*t),ArcTan[t]},{t,0,8}]; 则输出所求图形(图2.24).动画制作例2.20 平面正弦曲线的运动. 输入Table[Plot[Sin[x+t*Pi],{x,0,6 Pi}],{t,0,2,1/8}]则作出了16幅具有不同相位的正弦曲线(输出图形略). 双击屏幕上某一幅画, 则可形成动画. 下面是动画的最后一幅图(图2.25).例2.21 (教材 例2.13) 作模拟水波纹运动的动画. 输入调用软件包命令<<Graphics\Animation.m执行后再输入MoviePlot3D[Sin[Sqrt[x^2+y^2]+t*2*Pi],{x,-8 Pi,8 Pi},{y,-8 Pi,8 Pi},{t,1,0},PlotPoints->50,AspectRatio->0.5,ViewPoint->{0.911,-1.682,2.791},Frames->12]则输出12幅具有不同相位的水面图形, 双击屏幕上任意一幅图, 均可观察动画效果. 下图是第一幅图(图2.26).图2.26例2.22 (教材 例2.14) 用动画演示由曲线],0[,sin π∈=z z y 绕z 轴旋转产生旋转曲面的过程.该曲线绕z 轴旋转所得旋转曲面的方程为,sin 222z y x =+ 其参数方程为])2,0[],,0[(,,sin sin ,cos sin ππ∈∈===u z z z u z y u z x输入For[i=1,i<=30,i++,ParametricPlot3D[{Sin[z]*Cos[u],Sin[z]*Sin[u],z},{z,0,Pi},{u,0,2*Pi*i/30},AspectRatio->1,AxesLabel->{"X","Y","Z"}]];则输出连续变化的30幅图形. 双击屏幕上任意一幅图, 均可观察动画效果. 下面是生成旋转曲面的过程中的第23幅图(图2.27).图2.27例2.23 将一张薄膜贴在1,0,1,0====y y x x 的方框上, 薄膜振动的函数取为))sin()sin()cos 1)(cos 1(16),,(224141222t n m y m x n m n n m t y x u m n ππππππ+⋅-+=∑∑==其中t 为参数, 作出图形随t 的变动而引起薄膜振动的动画.初始位置是).0,,(y x u 通过t 的不同值得到多幅画面, 然后将这些图形连续地一张张显示出来, 即可达到运动的动画效果. 输入命令<<Graphics 'Animation '; Clear[x,y,t,m,n];u[x_,y_,t_]:=Sum[16*(1+Cos[n*Pi])*(1-Cos[m*Pi])*Sin[n*Pi*x]*Sin[m*Pi*y]*Cos[Sqrt[m^2+n^2]*Pi*t] /(m^2*n^2*Pi*2),{m,1,4},{n,1,4}]Animate[Plot3D[u[x,y,t],{x,0,1},{y,0,1}, PlotRange->{-8,8}],{t,0,1.75,0.25}];则输出相应动画. 下面动画的最后一幅图(图2.28).图2.28实验习题1.用Plot3D 命令作出函数)33,33(3sin 2cos ≤≤-≤≤--=y x y x z 的图形, 采用选项 PlotPoints->40.2.作出函数)sin(22y x z +=π的图形.3.用Plot3D 命令作出函数)sin (cos 228/)(22y x e z y x +=+-在ππππ≤≤-≤≤-y x ,上的图形, 采用选项PlotPoints->60.4.二元函数22y x xyz +=在点(0,0) 处不连续, 用Plot3D 命令作出在区域22,22≤≤-≤≤-y x 上的图形(采用选项PlotPoints->40).观察曲面在(0,0)附近的变化情况.5.一个环面的参数方程为),20,20(sin ,sin )cos 3(,cos )cos 3(ππ≤≤≤≤=+=+=v u u z v u y v u x 试用命令ParametricPlot3D 作出它的图形.6.一个称作正螺面的曲面的参数方程为).80,11(3/,sin ,cos ≤≤≤≤-===v u v z v u y v u x 试用命令ParametricPlot3D 作出它的图形.7.用命令Plot3D 作双曲抛物面4122y x z -=,其中1414,66≤≤-≤≤-y x (用选项 BoxRatios->{1,1,1}, PlotPoints->30).8.用命令ParametricPlot3D 作出圆柱面122=+y x 和圆柱面122=+z x 相交的图形.9.用命令ParametricPlot3D 作出抛物柱面2y x =和平面1=+z x 相交的图形.10.用命令ParametricPlot3D 作出圆柱面122=+y x 和圆柱面122=+z x 相交所成的空间曲线 在第一封内的图形.11.用命令ParametricPlot3D 作出球面22222=++z y x 和柱面1)1(22=+-y x 相交所成的空 间曲线的图形.。

Mathematica教程06函数作图

Mathematica教程06函数作图
二维图形
函数作图 一元函数的图形 在平面直角坐标系中绘制函数y=f(x)的图形的函数是Plot,
其调用格式如下: Plot[f(x),{x,a,b}] 绘制函数f(x)在区间[a,b]范围内的图形。 Plot[{f1(x),f2(x),...},{x,a,b}]同时绘制多个函数的图形。 这出个函绘数图值函yi=数f(x的i),自再动将化点程(度xi,很yi)高连,接能起自来动得选到取曲若线干。个且x能i,求
等值线图
绘制函数z=f(x,y)的等值线图使用函数: ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 其中f 是二元函
数的表达式. ContourPlot[x^2-y^2,{x,-1,1},{y,-1,1}] 说明:用灰度表示函数值的大小,越亮的地方函数值越大。 这个函数有以下几个可选参数: ①ContourShading用于决定是否使用灰度。
Plot[Sin[x^2], {x, 0, 3}, Frame -> True] GridLinese用于加网格线。它的值为:
None不加网格线(默认值)。 Automatic 由Mathematics自动加上网格线。 {{x1,x2,...},{y1,y2,...}} 在横轴上的点x1,x2,...和纵轴上 点y1,y2,...处加上网格线
绘制点列 用一个表给出点列中各点的坐标,函数ListPlot用于绘制点列,
其调用格式如下: ListPlot[{y1,y2,...}]画出点列(1,y1),(2,y2),... ListPlot[{{x1,y1},{x2,y2},...}]画出点列(x1,y1),(x2,y2),... 这个函数还有可选参数PlotJoined,用于将各点用线段顺次连

在Mathematica中作图

在Mathematica中作图

在Mathematica-中作图第6章 在Mathematica 中作图6.1 二维函数作图二维函数作图命令 PlotIn[1]:=Plot[x Sin[1/x],{x,-0.5, 0.5}]-0.4-0.20.20.4-0.2-0.10.10.20.30.4图6-1Out[1]= -Graphics -Plot 命令的一般形式:Plot [f, {x, xmin, xmax}, 选项 ]在区间{x, xmin, xmax}上,按选项定义值画出函数f 的图形。

Plot [{f1,f2,…}, {x, xmin, xmax }, 选项 ]在区间{x, xmin, xmax}上,按选项定义的值同时画出函数f1,f2,…的图形。

Mathematica 绘图时允许用户设置选项值而提出对绘制图形的细节各种要求。

例如:要求取消坐标轴,给图形加框线等要求。

每个选项都有一个确定的名字,以“选项名 -> 选项值” 的形式放在 Plot 中最右边位置,如In[3]所示 。

In[2]:= Plot[{Sin[x],Sin[2x]}, {x,-0.5,6.7}] 123456-1-0.50.51图 6-2Out[2]= -Graphics -In[3]:=Plot[(x^2-x)Sin[x],{x,2,16},AxesLabel->{"x","f(x)"}](* 给x 、y 坐标轴分别加标记"x", "f (x)" *) 2.557.51012.515x-100-5050100150f H xL 图 6-3Out[3]= -Graphics -In[4]:= Plot[Sin[x],{x,0,3},Frame ->True,GridLines -> Automatic](* 给图形加上框线和网格 *)图6-4Out[4]= -Graphics -下面列出部分选项及其意义:AspectRatio 图形的高度与宽度的比例,默认值是1/GoldRatio,其中GoldRatio=0.618。

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 建立替换规则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基本数学函数及应用

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}]波纹面动画演示注意:此演示需要较大内存,耐心等待。

Mathematica函数图形的绘制

Mathematica函数图形的绘制

《微积分》课程第一章演示与实验函数图形的绘制by PengBo, Shanghai JiaoTong University用Mathematica绘制函数图形的基本方法使用Mathematica绘制函数图形是非常方便的,一般只需指定函数和绘图范围。

如果需要在一幅图上绘制多条曲线或改变曲线的线形,颜色,底色等属性或给图形增加标题等信息,只需要指定相应的选项即可。

(* 绘制[-Pi,Pi]内Sin(x)函数的图形 *)Plot[Sin[x],{x,-Pi,Pi}]-Graphics-(* 可以使用函数集合来同时绘制多条曲线,并可将结果赋给变量 *)p1 = Plot[{Sin[2 x],Cos[x]/2},{x,-Pi,Pi}]-Graphics-(* 绘制[-Pi,Pi]内Sin(2 x)+Cos(x)/2函数的图形,保存在变量p2中 *)p2 = Plot[Sin[2 x] + Cos[x]/2,{x,-Pi,Pi}]-Graphics-(* 可以使用Show函数叠加p1和p2 *)Show[p1,p2]-Graphics-(* 可以使用 PlotRange参数指定y轴的选取区域 *)Plot[Tan[x],{x,-Pi,Pi},PlotRange->{-5,5}]-Graphics-(* 可以使用PlotStyle选项改变线型 *)?PlotStylePlot[{Sin[x],Sin[3 x]},{x,-Pi,Pi}, PlotStyle->{RGBColor[1,0,0],RGBColor[0,0,0]}]PlotStyle is an option for Plot, ParametricPlot and ListPlot. PlotStyle -> style specifies that all lines or points are to be generated with the specified graphics directive, or list of graphics directives. PlotStyle -> {{style1}, {style2}, ... } specifies that successive lines generated should use graphics directives style1, style2, ... .-Graphics-初等函数图形(* 指数函数 a<1 *)Plot[Evaluate[{(1/2)^x,(1/3)^x,(1/10)^x}],{x,-2,2},PlotStyle->{ RGBColor[1,0,0],RGBColor[0,1 ,0],RGBColor[0,0,1]}]-Graphics-(* 指数函数 a>1 *)Plot[Evaluate[{(2)^x,(3)^x,(10)^x}],{x,-2,2},PlotStyle->{ RGBColor[1,0,0],RGBColor[0,1,0],RG BColor[0,0,1]}]-Graphics-(* 对数函数, a>1 *)Plot[Evaluate[{Log[2,x],Log[3,x],Log[10,x]}],{x,0.0001,6},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0],RGBColor[0,0,1]}]-Graphics-(* 对数函数, a<1 *)Plot[Evaluate[{Log[1/2 ,x],Log[1/3,x],Log[1/10,x]}],{x,0.0001,6},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0],RGBColor[0,0,1]}]-Graphics-(* 幂函数, a>0 *)Plot[Evaluate[{x^2,x,x^(1/2)}],{x,0.0001,2},PlotStyle->{ RGBColor[1,0,0],RGBColor[0,1,0],RGB Color[0,0,1]}]-Graphics-(* 幂函数, a<0 *)Plot[Evaluate[{x^(-1/2),x^(-1),x^(-2)}],{x,0.0001,4},PlotRange->{0,4},PlotStyle->{ RGBColor[1,0,0],RGBColor[0,1,0],RGBColor[0,0,1]}]-Graphics-(* 基本三角函数 *)Plot[{Sin[x],Cos[x]},{x,-2Pi,2Pi}, PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0]}]-Graphics-(* 基本三角函数 *)Plot[{Tan[x],Cot[x]},{x,-2Pi,2Pi},PlotRange->{-5,5},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0]}]-Graphics-(* 反三角函数 *)Plot[{ArcSin[x],ArcCos[x]},{x,-1,1}, PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0]}]-Graphics-(* 双曲三角函数 *)Plot[{Sinh[x],Cosh[x]},{x,-3,3}, PlotRange->{{-3,3},{-10,10}},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0]}]-Graphics-(* 双曲三角函数 *)Plot[{Tanh[x],Coth[x]},{x,-4,4},PlotRange->{-4,4},PlotStyle->{RGBColor[1,0,0],RGBColor[0,1,0]}]-Graphics-一般函数绘图示例(* 直接在[-3,3]范围间作图,由于超出函数定义域,出现错误信息 *)Plot[Sqrt[4-x^2],{x,-3,3}]Plot::plnr: CompiledFunction[{x}, <<1>>, -CompiledCode-][x] is not a machine-size real number at x = -3..Plot::plnr: CompiledFunction[{x}, <<1>>, -CompiledCode-][x] is not a machine-size real number at x = -2.75.Plot::plnr: CompiledFunction[{x}, <<1>>, -CompiledCode-][x] is not a machine-size real number at x = -2.5.General::stop: Further output of Plot::plnr will be suppressed during this calculation.-Graphics-(* 经分析,定义域为 [-2,2],所以限定 x 轴范围为[-2,2] *)Plot[Sqrt[4-x^2],{x,-2,2}]-Graphics-(* 但我们看到的图形并不是圆,因为Mathematica一般将图象比例调整为黄金分割,以达到最佳的视觉效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

355§4 Mathematica 求不定积分与函数作图4.1 求不定积分1 用Mathematica 求不定积分有两种方式(1) 用命令Integrate[f,x] (*其中x 为积分变量*)(2) 直接用工具栏输入不定积分⎰f(x)dx 。

例4.1 计算不定积分⎰+dx x x 2411。

解 方法一:⎰+=dx x x In 2411:]1[231)3231(]1[x x xOut ++-= 方法二: ),11(Integrate :]2[24x x x In +=231)3231(]2[x x xOut ++-= 2 除了指定的积分变量之外,其它所有符号都被作为常数处理例4.2 计算不定积分dx c bx ax )(2++⎰。

解 ⎰++=dx c x b x a In )**(:]3[232]3[22ax bx cx Out ++= 3 积分变量不一定是单个的符号变量,也可以是一个函数,在例5.4.3中,积分变量是x sin 。

例4.3 计算不定积分⎰x d x sin )log(sin 2。

解 ⎰=][S i n ]][S i n [L o g :]4[2x d x In][Sin ]][Sin [Log ][Sin 2]4[2x x x Out +-=356 4 Integrate 命令也能在复数平面上进行积分运算例4.4 计算不定积分⎰dx e Ix x )sinh(。

解 ⎰=dx x x I In ][Exp *]*[Sinh :]5[=]5[Out i ])[Sin 21][Cos 21(x e x e x x +-5 Integrate 命令在处理积分运算时会做两个假设。

第一个假设已经在例4.2中提到,即Mathematica 假设除了积分变量之外其它符号都被作为常数处理。

第二个假设是Mathematica 求得的积分结果是一个通式(generic form),积分结果可能在某些点不成立,这时Mathematica 会告诉⎰)()(x d x f 的标准结果,并且假设这一结果在哪些点不成立。

例4.5 计算不定积分⎰dx x n 。

解 dx x In n ⎰=:]6[ nx Out n+=+1]6[1 // 假设n ≠-1. 6 如果积分结果是(或部分是)数学物理特殊函数,结果以特殊函数的形式输出。

例4.6 计算不定积分dx e x xn ⎰。

解 ]],[Exp ^[Integrate :]7[x x n x In = ),1()1(]7[11x n x Out n n -+Γ--=+--7 如果无法积分,Mathematica 会保留积分的原式,若原式中含有常数系数,Mathematica 会把常数系数提到积分之外,保留积不出来的表达式。

例4.7 计算不定积分⎰++dx hx x a )sec log()4(。

解 ⎰++=dx x x a In ]][Sech [Log )4(:]8[⎰++=dx x x a Out ]][Sech [Log )4(]8[注意:Mathematica 不会在积分结果后面加上积分常数(integration constant )。

因此,应注意不定积分的结果还应有一个积分常数C 。

357 4.2 二维绘图1 作图原理计算机在画函数图形时所用的基本方法类似于描点法。

机器首先对所给的区间里的一定数量的点 (通常取区间的均分点)计算函数值,并画出这些点))(,(x f x ,然后依x 的大小从小到大所对应的点用直线段连接成一条直线 (实际上是一条折线),就把它作为函数在观察区内的图形。

2 基本绘图命令Plot(1) Mathematica 最基本的作图命令是Plot ,其使用方法如表5-4-1所示 表4-1 基本绘图命令Plot 的使用方法其中可选项可以有,也可以没有。

如果没有,Plot 就会按照系统默认的方式作图。

例4.8 用Plot 命令画出)2,2(,tan ππ-∈=x x y 当时的图形。

解 }]2,2,{],[Tan [Plot :]1[Pi Pi x x In -=Out [1]=-Graphics-输出图形如图5-4-1所示图4-1例4.9 将函数,2sin ,sin x y x y==当)2,2(ππ-∈x 时的图形画在一张图上。

解}]Pi:]2[PiPlot[{x=In-xSinx,22,{]},],Sin2[[Out[2]=-Graphics-输出图形如图4-2所示图4-2(2)Plot命令表达式中的可选项是对画图的细节提出的各种要求和设置,每个选项都有一个确定的名字和选项值以“选项名→选项值”的形式放在Plot命令的最后位置,一次可设置多个选项,以逗号相隔依次排列。

常用的Plot命令可选项见表4-2表4-2 Plot命令常用的可选项358359例 4.10 将函数!5!3)(,!3)(,)(532310x x x x f x x x f x x f +-=-==和x y sin =的图形画在一张图上。

解}]"","{"AxesLabel ,Automatic o AspectRati },,0,{},,,],[Sin [{Plot ;120/5^6/3^;6/3^;:]3[210210y x Pi x f f f x x x x f x x f x f In →→+-=-===Out [3]=-Graphics-输出图形如图4-3所示图4-3 例4.11 作出函数x y cot =在)2,2(ππ-∈x 内的图形,指定作图范围、坐标轴的纵横比例和坐标的标记。

解In[4]:= Plot[Cot[x],{x,-2Pi,2Pi},PlotRange →{-6,6},AspectRatio →Automatic,AxesLabel→{“x”,”Cot[x]”}]Out[4]=-Graphics-输出图形如图4-4所示图4-4(3)对于函数值变化比较剧烈的表达式,应当取一个恰当的绘图区间和比较大的PlotPoints值,以避免作出在一些区间域过分偏离实际的图形。

例4.12比较以下输入和输出结果的不同。

解In[5]:=Plot[Sin[10x],{x,-Pi,Pi}]Out[5]=-Graphics-4-5所示输出图形如图In[6]:=Plot[Sin[10x],{x,-Pi/5,Pi/5},PlotPoints 100]360361Out[6]=-Graphics-输出图形如图4-6所示图4-6 (4) 曲线的样式要通过PlotStyle 命令来调用,常用的PlotStyle 命令的可选项见表4-3表4-3 PlotStyle 函数常用的可选项如果用Plot 函数画两个或多个函数的图形,可以用PlotStyle 为每条曲线设定一个不同方式 ,这时必须把描述一条曲线的项放在一个表里作为PlotStyle 值的一个子表。

例 4.13 分别用红、绿、蓝三种颜色画出x y x y x y 3sin ,2sin ,sin ===的图形。

解In[7]:=Plot[{Sin[x],Sin[2x],Sin[3x]},{x,0,2Pi},PlotStyle →{RGBColor[1,0,0],362 RGBColor[0,1,0],RGBColor[0,0,1]}]Out[7]=-Graphics-输出图形如图4-7所示图4-7例4.14 分别用不同的颜色和线型修饰x y x y 2sin ,sin ==的图形。

解In[8]:=Plot[{Sin[x],Sin[2x]},{x,-2Pi,2Pi},PlotStyle →{{RGBColor[0,1,1],Thickness[0,0,1]}, {RGBColor[1,0,1], Dashing[{0.05,0.05}]}}]Out[8]= -Graphics-输出图形如图4-8所示图4-83 二维参数图在二维平面内,有时无法将隐函数0),(=y x f 化成)(x f y =显函数的形式,363所以无法使用Plot 命令直接绘图。

但是在某些情况下,可以把平面上的曲线0),(=y x f 化成:)(),(t y y t x x ==的形式,其中变量t 为方程式的参数(Parameter ),而这个方程式则被称为参数方程(Parametric equation )。

随着t 的变化,我们可以在y x ,平面上描绘出曲线的轨迹,所得的曲线称为参数图。

Mathematica 用ParametricPlot 命令绘制二维参数图。

它的使用形式有两种:(1) ParametricPlot[{x(t),y(t)},{t ,下限,上限},可选项] 绘制二维参数图;(2) ParametricPlot[{{x1(t),y1(t)},{x2(t),y2(t)},…},{t ,下限,上限}] 同时绘制多个参数图。

ParametricPlot 接受与Plot 一样的可选项,其作用也一样,但是PlotPoints 选项的默认值为25。

例4.15 利用ParametricPlot 命令画单位圆⎩⎨⎧==t x ty cos sin )20(π≤≤t 的图形。

解In[1]:=ParametricPlot[{Sin[t],Cos[t]},{t,0,2Pi},AspectRatio →Automatic] Out[1]= -Graphics-输出图形如图4-9所示图4-9如果绘制的参数图不平滑或有明显的误差,你可以更改PlotPoints 的值获得比较准确的图形。

364 例4.16 比较以下输入和输出结果的不同解 In[2]:=ParametricPlot[{Cos[2t],Sin[3t]},{t,0,2Pi}]Out[2]= -Graphics-输出图形如图4-10所示图4-10In[3]:=ParametricPlot[{Cos[2t],Sin[3t]},{t,0,2Pi},PlotPoints →200] Out[3]= -Graphics-输出图形如图4-11所示图4-11例4.17 利用ParametricPlot 命令将⎩⎨⎧==t x t y cos 3sin 11 )20(π≤≤t 和⎩⎨⎧==t x ty cos 2sin 22的图形画在一张图上.解 In[4]:=ParametricPlot[{{Cos[t],Sin[3t]},{Cos[t],Sin[2t]}},{t,0,2Pi}]Out[4]= - Graphics-输出图形如图4-12所示365图4-12 4 极坐标作图Mathematica 没有直接提供极坐标的绘图命令,我们只要把ParametricPlot 稍做修改,就可以定义成极坐标的绘图命令。

相关文档
最新文档