版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元九
Mathematica软件及其运用9.1Mathematica入门单元九
Mathematica软件及其运用9.1M19.1.1
Mathematica使用中的几个问题Mathematica系统是美国Wolfram研究公司开发的一个功能强大的计算机数学系统,它的主要功能是进行符号演算、数值计算和图形绘制。它可以做多项式的四则运算、展开、因式分解等;可以求多项式方程、有理式方程和超越方程的精确解和近似解;也可以求函数的极限、导数、积分等;还可以作函数的图形及数据的拟合、程序设计。9.1.1Mathematica使用中的几个问题Mathe2软件的安装软件的运行使用入门软件的安装软件的运行使用入门39.1.2数的表示和计算1、数学常数:Pi圆周率∏E自然对数的底eI虚数单位iInfinity表示无穷大的符号∞2、数学运算符加、减、乘、除、乘方+、-、*、/、^9.1.2数的表示和计算1、数学常数:2、数学运算符43、数的运算规则算术运算顺序与数学相同,先乘方、再乘除、最后加减,可用小括号改变运算顺序同级运算(除乘方外)从左到右进行,乘方运算从右到左进行例:(23)4表示为(2^3)^4
而2^3^4表示3、数的运算规则54、数的运算结果
(1)、整数、分数——结果为精确数(2)、浮点数(带有小数点的数)——结果为浮点数(3)、含数学常数的式子——除数学常数外,按上面规则进行(4)、精确数转换为浮点数格式1:N[a]或a//N求a的近似值,有效位数取6位格式2:N[a,n]求a的近似值,有效位数取n位
4、数的运算结果
(1)、整数、分数——结果为精确数65、比较算符及其运算结果(1)、比较算符(P.11)(2)、运算结果(True或False)6、逻辑运算符(P.12)5、比较算符及其运算结果79.1.3变量和算式1、变量名——以字母开头的字母数字串例:x,abc,Mapa202、变量的赋值和替换(1)、赋值——用“=”表示赋值(2)、替换(代入)——格式:表达式/.x->a(3)、清除(取消)——格式:=.或clear[x,y,……]9.1.3变量和算式1、变量名——以字母开头的字母数字串81、系统常用的数学函数
幂函数Sqrt(平方根)指数函数Exp(以e为底的指数)对数函数Log三角函数Sin,Cos,Tan,Cot,Sec,Csc反三角函数ArcSin,ArcCos,ArcTan,ArcCot绝对值函数Abs求和函数Sum取整数函数IntegerPart求模函数Mod[m,n]——求m除n所得余数9.1.4常用函数1、系统常用的数学函数9.1.4常用函数92、函数的书写规则(1)函数名的第一个字母大写,后面小写(2)函数作用对象表达式写在函数名的方括号内,如Sin[x](3)有多个参数的函数,参数之间用逗号分隔,如Log23=Log[2,3]2、函数的书写规则(1)函数名的第一个字母大写,后面小写103、数学函数的运算和函数值4、自定义函数格式:f[x_,y_,……]:=函数表达式5、函数的嵌套格式:Nest[f,x,n]6、定义临时变量格式:Module[{x,y,……},表达式1;表达式2;……]3、数学函数的运算和函数值11使用中的几个问题1、简便输入%—表示上次计算的结果%%—表示上上次计算的结果%n—表示第n次计算的结果2、运行程序—Shift+Enter或小键盘上的Enter
使用中的几个问题1、简便输入123、保存文件用菜单进行:saveas……4、分号“;”的应用(1)在几个语句中间,表示各语句间并列关系,用于一行多句输入(2)在表达式的末尾,抑制结果显示3、保存文件139.1.5符号演算和数值计算一、基本表达式操作1、多项式的展开格式:Expand[表达式]2、通分格式:Together[表达式]3、分解因式格式:Factor[表达式]9.1.5符号演算和数值计算一、基本表达式操作144、化简表达式格式:Simplify[表达式]5、约分格式:Cancel[表达式]6、把表达式分项格式:Apart[表达式]7、求多项式中某项的系数格式:Cofficient[表达式]4、化简表达式159.1.5.1解方程或方程组1、求方程的代数解格式1:Roots[方程,变量]格式2:Solve[{方程1,方程2,……},{变量1,变量2,……}]格式3:Reduce[{方程1,方程2,……},{变量1,变量2,……}]9.1.5.1解方程或方程组1、求方程的代数解162、求方程的数值解格式1:NRoots[方程,变量]格式2:NSolve[{方程1,方程2,……},{变量1,变量2,……}]3、消去变量格式:Eliminate[方程,变量]4、寻求方程的数值根格式:FindRoot[方程,{x,x0},{y,y0},……]2、求方程的数值解179.1.5.2常用的语句
1、打印语句(屏幕输出)格式:Print[表达式,表达式,……]2、求和格式1:Sum[通项,{n,下限,上限,步长}]格式2:NSum[通项,{n,下限,上限,步长}]9.1.5.2常用的语句1、打印语句(屏幕输出183、求积格式1:Product[通项,{n,下限,上限,步长}]格式2:NProduct[通项,{n,下限,上限,步长}]3、求积194、条件语句(P.12)格式1:If[条件,语句1,语句2]格式2:Which[条件1,语句1,条件2,语句2,……,条件n,语句n]4、条件语句(P.12)格式2:Which[条件1,语句1205、循环语句(1)Do语句格式1:Do[循环体语句,{n}]重复计算表达式n次格式2:Do[循环体语句,{变量,初值,终值,步长}]重复计算表达式,变量以步长从初值变化到终值5、循环语句(1)Do语句21(2)While语句格式:While[条件语句,表达式]反复计算表达式,直到条件失效为止(3)For语句格式:For[初始表达式,条件,步进表达式,循环体]求初始表达式的值,然后重复计算步进表达式和循环体的值,直到条件失效为止(2)While语句(3)For语句22
9.1.5.3表与表达式的结构一、表的概念表是用大括号括起来的若干个表达式,表达式之间用逗号分隔格式:{表达式,表达式,……}例:{2,35,Sin[x]}{x^2,3x+5,Pi}{{1,2},{3,4},{4,5}}
9.1.5.3表与表达式的结构一、表的概念格式:{表23例:aa={1,2,3,4,5}bb={2,3,4,5,6}求:aa+bbaa–bbaa*bbaa/bbaa+5二、表的运算1、表的和、差、积、商运算两个元素个数相同的表可以进行四则运算,结果是对应元素运算例:aa={1,2,3,4,5}二、表的运算1、表的和、24例:tt={Pi/4,12,9+x+x^2}Sin[tt]={sin(Pi/4),sin(12),sin(9+x+x^2)}2、表和函数运算f[表]——表示函数f作用到表的每一个元素得一新表三、二层表的转换将某些表的自变量取值与函数值分别放在一起或相反格式:Transpose[表]例:t1=table[{n,Sin[n]},{n,5}]求:Transpose[t1]例:tt={Pi/4,12,9+x+x^2}2、表和函数25四、表的生成1、直接生成(无规律性的表)按顺序写出表中的元素并放在大括号内例:{1,0,-1,x}2、数值生成函数Rang(有规律性的数值表)格式2:Range[m,n]—生成表{m,m+1,…n}例2:生成表{5,6,7,……,15}格式1:Range[n]—生成表{1,2,…n}例1:生成表{1,2,3,……,10}格式3:Range[m,n,步长]例3:生成表{1,3,5,……,21}四、表的生成1、直接生成(无规律性的表)2、数值生成函数Ra263、通用表生成函数Table(循环生成有规律性的表)格式1:Table[表达式,{n}]—把表达式复制n次生成表例1:生成{5,5,5,5,5,5,5}例2:生成{ex,ex
,ex,ex,ex}格式2:Table[表达式,{x,n}]—生成的表中元素x的取值从1到n,步长为1例3:生成{Sin[1],Sin[2],…,Sin[10]}例4:生成20个素数组成的表3、通用表生成函数Table(循环生成有规律性的表)格式127格式3:Table[表达式,{x,n1,n2}]—生成的表中元素x的取值从n1到n2,步长为1例5:生成{10,11,12,……,20}格式4:Table[表达式,{x,n1,n2,n3}]—生成的表中元素x的取值从n1到n2,步长为n3例6:生成{10,20,30,……,150}例7:生成{e,e4,e7,e10,e13}格式5:Table[f[m,n],{m,m1,m2,m3},{n,n1,n2,n3}]—生成二层表例8:生成{{2,3,4,5,6},{3,4,5,6,7},……{6,7,8,9,10}}格式3:Table[表达式,{x,n1,n2}]—生成的28例9:生成{{1,2},{2,3},{3,4},{4,5},{5,6}}例10:生成{{1,Sin[1]},{2,Sin[2]},……,{5,Sin[5]}}4、迭代(递推)生成格式:NestList[函数名f,初值x,迭代次数n]例1:f[x_]:=1/(1+x)NestList[f,x,4]例2:NestList[Sin,x,4]例9:生成{{1,2},{2,3},{3,4},{4,5},29五、表的有关操作1、元素的抽取格式1:First[表]——取出表的第一个元素格式2:Last[表]——取出表的最后一个元素格式3:表[[n]]——取出表的第n个元素格式4:Take[表,n]——n为正数取出表的前n个元素作成一个新表,n为负数则从表的最后一个元素向前取格式5:Take[表,{m,n}]——取出表的第m个到第n个元素作成一个新表格式6:表[[n1,n2,…,n]]——取出多层表中第n1个子表中的n2个子表中的…第n个元素五、表的有关操作30例:有表d={3,{2,x^2},{3+y,{“abc”,{x},4}},c}求(1)First[d](2)Last[d]d[[3]]Take[d,2](5)Take[d,{2,3}](6)d[[3,2,2]]例:有表d={3,{2,x^2},{3+y,{“abc”312、去掉元素格式1:Rest[表]——去掉表的第一个元素格式2:Drop[表,n]——n为正值,去掉表的前n个元素,n为负值,去掉表的后n个元素格式3:Drop[表,{m,n}]——去掉表的第m至第n个元素例
Rest[d];Drop[d,2]3、按序号选取元素格式:表[[{s1,s2,…}]]——选出表中第s1,s2,…个元素作成一个新表例:d[[1,4,1,2]]2、去掉元素3、按序号选取元素324、表的元素替换格式:表[[n]]=x—把表的第n个元素替换为x例:d[[3]]={1,2}5、向表添加元素格式1:Prepend[表,表达式]——将表达式加在原表的所有元素前格式2:Append[表,表达式]——将表达式加在原表的所有元素后格式3:Insert[表,表达式,n]——将表达式插在原表的第n个位置4、表的元素替换5、向表添加元素336、表与表合并格式1:Join[表1,表2,…]——把几个表的元素按顺序连接格式2:Union[表1,表2,…]——表表合并,重复的元素只取一次7、表的排序格式:Sort[表]——将表中的元素按升序排列8、表的长度格式:Length[表]——统计表中的元素的个数6、表与表合并7、表的排序8、表的长度34六、表的综合操作举例1、生成表{{1,x},{2,x2},{3,x3},{4,x4}}2、取出所有子表的第一个元素3、求所有子表的第一个元素的指数值4、放回表中相应的位置六、表的综合操作举例35作业:一、生成下列表1、{1,4,9,16,…10000}2、{n1,n2,…n50}其中ni=n/n!,精确到小数点后10位3、{{1,2,3,…10},…{1,2,3,…10}}共10个子表4、{{1,2,3,…100},{101,102,103,…200},…{901,902,903,…1000}}作业:36二、1.已知f(x)=ex,求当x=1,2,3,4时的函数值列表及数对(x,y)的列表。2.用Table生成一个自变量取值表,然后结合语句Transpose的用法,给出所生成表的自变量取值与对应正切函数值组成数对的二层表。3.给定二层表{{1,2},{2,3},{3,4},{4,5},{5,6}},试用Mathematica命令取出这个表中所有子表的第二个元素组成的表,并取对数后放回原表的相应位置。二、379.2Mathematica软件的运用9.2.1用Mathematica求极限9.2Mathematica软件的运用9.2.1用Ma38案例9.19求下列极限(1)(2)(3)(4)(5)(6)(7)案例9.19求下列极限39解
(1)In[1]:=Limit[Sin[5*x}/x,x->0]out[1]=5(2)In[2]:=Limit[5^(1/x),x->0,Direction->-1]out[2]=Infinity("Infinity为正无穷大”)(3)In[3]:=Limit[5^(1/x),x->0,Direction->1]out[3]=0解40(4)In[4]:=Limit[Abs[x]/x,x->0,Direction->1]]out[4]=-1(5)In[5]:=Limit[Abs[x]/x,x->0,Direction->-1]]out[5]=1(6)In[6]:=Limit[ArcTan[x],x->Infinity]]out[6]=(7)In[7]:=Limit[ArcTan[x],x->-Infinity]]out[7]=(4)In[4]:=Limit[Abs[x]/x,x->419.2.2用mathematica进行求导运算在mathematica系统中,用D[f[[x],x]表示f[x]对x的一阶导数,用D[f[[x],{x,n}]表示f[x]对x的n阶导数,在一定范围内,也能使用微积分中的撇号(撇号为计算机键盘中的单引号)标记来定义导函数,其使用方法为:若f[x]为一元函数,则f'[x]给出f[x]的一阶导函数,而f'[x0]给出函数f[x]在x=x0处的导数值,同样,f''[x]给出f[x]的二阶导数,f'''[x]给出[x]的三阶导数.9.2.2用mathematica进行求导运算在math42案例9.20求下列函数的一阶导函数:(1)(2)案例9.20求下列函数的一阶导函数:(1)(2)案例9.20求下列函数的一阶导函数:(1)(2)案例9.20求下列函数的一阶导函数:(1)(2)案例9.20求下列函数的一阶导函数:(1)(2)解(1)In[1]:=D[100*x^18,x]Out[1]=1800x17
(2)In[2]:=D[x^3*Cos[x],x]Out[2]=3x2Cos[x]-x3Sin[x]案例9.20求下列函数的一阶导函数:案例9.20求下列函43案例9.21求函数的二阶导数.解
In[3]:=D[x^3*Cos[x],{x,2}]Out[3]=6xCos[x]-x3Cos[x]-6x2Sin[x]案例9.21求函数449.2.3用Mathematica做导数应用题导数应用就是用导数的性态来研究函数的性态,主要包括函数的单调性、凹向、极值与最值的求法以及一元函数图形的描绘,由于对函数单调性、凹向等问题的研究,不但需要进行求导运算,而且还需要进行解方程及条件判断等工作.因此,在用mathematica做导数应用题的过程中,经常使用Mathematica系统中的Solve,Which,Print这三个函数.9.2.3用Mathematica做导数应用题45案例9.22设函数在处都取得极值,试定出的值,并问这时在处都取得的是极大值还是极小值?解
In[1]:=f[x_]:=a*Log[x]+b*x^2+x;In[2]:=Solve[{f'[1]==0,f'[2]==0},{a,b}](*解方程,求驻点*)In[3]:=c=%;(*将方程组的解赋给变量c*)In[4]:=a=a/.c[[1,1]](*等价于a=a/.a→-2/3*)In[5]:=b=b/.c[[1,2]](*等价于b=b/.b→-1/6*)案例9.22设函数46解
In[1]:=f[x_]:=a*Log[x]+b*x^2+x;In[2]:=Solve[{f'[1]==0,f'[2]==0},{a,b}](*解方程,求驻点*)In[3]:=c=%;(*将方程组的解赋给变量c*)In[4]:=a=a/.c[[1,1]](*等价于a=a/.a→-2/3*)In[5]:=b=b/.c[[1,2]](*等价于b=b/.b→-1/6*)解
In[1]:=f[x_]:=a*Log[x]+b*x^2+x;In[2]:=Solve[{f'[1]==0,f'[2]==0},{a,b}](*解方程,求驻点*)In[3]:=c=%;(*将方程组的解赋给变量c*)In[4]:=a=a/.c[[1,1]](*等价于a=a/.a→-2/3*)In[5]:=b=b/.c[[1,2]](*等价于b=b/.b→-1/6*)解
In[1]:=f[x_]:=a*Log[x]+b*x^2+x;In[2]:=Solve[{f'[1]==0,f'[2]==0},{a,b}](*解方程,求驻点*)In[3]:=c=%;(*将方程组的解赋给变量c*)In[4]:=a=a/.c[[1,1]](*等价于a=a/.a→-2/3*)In[5]:=b=b/.c[[1,2]](*等价于b=b/.b→-1/6*)解解解47Out[2]={{a→-2/3,b→-1/6}}Out[8]=f[1]极小值Out[9]=f[2]极大值另外,Mathematica系统还提供了用逐步搜索法求函数极值的函数FindMinimum,其使用方法请读者上机练习.Out[2]={{a→-2/3,b→-1/6}}另外,Mat489.2.4用Mathematica做一元函数的积分在Mathematica系统中,用Integrate计算一元函数的积分,其格式与作用如下:Integrate[f,x]计算不定积分Integrate[f,[{x,a,b}]计算定积分9.2.4用Mathematica做一元函数的积分在Ma49案例9.23求下列积分.解(1)In[1]:=Integrate[x^8,x]Out[1]=x9/9(2)In[2]:=Integrate[x^8,{x,0,2}]Out[2]=512/9案例9.23求下列积分.解(1)In[1]:=In509.2.5用Mathematica求偏导数与多元函数的极值
与在Mathematica系统中求一元函数的导数类似,求多元函数f的偏导数仍用求导函数完成,具体调用格式如下:、D[f,x]给出f对x的偏导数D[f,{x,n}]给出f对x的n阶偏导数D[f,x1,x2,...]给出f对x1,x2...的高阶混合偏导数.9.2.5用Mathematica求偏导数与多元函数的极51案例9.24求函数的两个一阶偏导数和四个二阶偏导数解In[1]:=Clear[x,y]In[2]:=f[x_,y_]=3(x^2+y^2);In[3]:=D[f[x,y],x]In[4]:=D[f[x,y],y]In[5]:=D[f[x,y],{x,2}]In[6]:=D[f[x,y],{y,2}]In[7]:=D[f[x,y],x,y]In[8];=D[f[x,y],y,x]案例9.24求函数的两个一阶52Out[3]=6xOut[4]=6yOut[5]=6Out[6]=6Out[7]=0Out[8]=0Out[3]=6x53案例5.25求函数的驻点.
解In[1]:=Clear[z,x,y]In[2]:=z[x_,y_]:=x^2+y^2-3*x*y+2x+2yIn[3]:=a=D[z[x,y],x];In[4]:=a=D[z[x,y],y];In[5]:=Solve[{a==0,b==0},{x,y}]Out[5]={{x->2,y->2}}由Out[5]可知,所求驻点为(2,2).案例5.25求函数54案例5.26求函数的驻点,并判断在驻点处是否取得极值,取得极大值还是极小值?取得的极值是多少?解In[1]:=Clear[z,x,xy,p,A,B,C1,m,a,b]In[2]:=z[x_,y_]:=x^2+y^2+5;In[3]:=Solve[{D[z[x,y],x]==0,D[z[x,y],y]==0},{x,y}];In[4]:=m=%;In[5]:=a=x/.m[[1,1]];案例5.26求函数的55In[6]:=b=y/.m[[1,2]];In[7]:=A[x_,y_]=D[z[x,y],{x,2}];In[8]:=B[x_,y_]=D[z[x,y]x,y];In[9]:=C1[x_,y_]=D[z[x,y],{y,2}];In[10]:=p[x_,y_]=B[x,y}^2-A[x,y]*C1[x,y];In[11]:=Which[p[a,b]>0,Print["无极值"],p[a,b]<0&&A[a,b]<0,Print["有极大值",z[a,b]],p[a,b]<0&&A[a,b]>0,Print["有极小值",z[a,b]],p[a,b]==0,Print["失效"]]Out[11]=有极小值由Out[11]可知,在驻点(0,0)处,函数取得极小值5In[6]:=b=y/.m[[1,2]];569.2.6用Mathematica计算重积分
在Mathematica系统中,与求定积分类似,仍用函数Integrate计算重积分,其调用格式如下:Integrate[f,[x,xmin,xmax},{y,ymin,ymax}]9.2.6用Mathematica计算重积分在Mathem57案例9.27计算二重积分.解In[1]:=Clear[x,y]In[2]:=Integrate[x*Exp[x*y],{x,0,1},{y,-1,0}]Out[2]=1/E案例9.27计算二重积分58案例9.28计算二重积分,D是由所围城的区域.
解In[1]:=Clear[x,y]In[2]:=Integrate[x*Sqrt[y],{x,0,1},{y,x^2,Sqrt[x]}]Out[2]=6/55.案例9.28计算二重积分,D59单元九
Mathematica软件及其运用9.1Mathematica入门单元九
Mathematica软件及其运用9.1M609.1.1
Mathematica使用中的几个问题Mathematica系统是美国Wolfram研究公司开发的一个功能强大的计算机数学系统,它的主要功能是进行符号演算、数值计算和图形绘制。它可以做多项式的四则运算、展开、因式分解等;可以求多项式方程、有理式方程和超越方程的精确解和近似解;也可以求函数的极限、导数、积分等;还可以作函数的图形及数据的拟合、程序设计。9.1.1Mathematica使用中的几个问题Mathe61软件的安装软件的运行使用入门软件的安装软件的运行使用入门629.1.2数的表示和计算1、数学常数:Pi圆周率∏E自然对数的底eI虚数单位iInfinity表示无穷大的符号∞2、数学运算符加、减、乘、除、乘方+、-、*、/、^9.1.2数的表示和计算1、数学常数:2、数学运算符633、数的运算规则算术运算顺序与数学相同,先乘方、再乘除、最后加减,可用小括号改变运算顺序同级运算(除乘方外)从左到右进行,乘方运算从右到左进行例:(23)4表示为(2^3)^4
而2^3^4表示3、数的运算规则644、数的运算结果
(1)、整数、分数——结果为精确数(2)、浮点数(带有小数点的数)——结果为浮点数(3)、含数学常数的式子——除数学常数外,按上面规则进行(4)、精确数转换为浮点数格式1:N[a]或a//N求a的近似值,有效位数取6位格式2:N[a,n]求a的近似值,有效位数取n位
4、数的运算结果
(1)、整数、分数——结果为精确数655、比较算符及其运算结果(1)、比较算符(P.11)(2)、运算结果(True或False)6、逻辑运算符(P.12)5、比较算符及其运算结果669.1.3变量和算式1、变量名——以字母开头的字母数字串例:x,abc,Mapa202、变量的赋值和替换(1)、赋值——用“=”表示赋值(2)、替换(代入)——格式:表达式/.x->a(3)、清除(取消)——格式:=.或clear[x,y,……]9.1.3变量和算式1、变量名——以字母开头的字母数字串671、系统常用的数学函数
幂函数Sqrt(平方根)指数函数Exp(以e为底的指数)对数函数Log三角函数Sin,Cos,Tan,Cot,Sec,Csc反三角函数ArcSin,ArcCos,ArcTan,ArcCot绝对值函数Abs求和函数Sum取整数函数IntegerPart求模函数Mod[m,n]——求m除n所得余数9.1.4常用函数1、系统常用的数学函数9.1.4常用函数682、函数的书写规则(1)函数名的第一个字母大写,后面小写(2)函数作用对象表达式写在函数名的方括号内,如Sin[x](3)有多个参数的函数,参数之间用逗号分隔,如Log23=Log[2,3]2、函数的书写规则(1)函数名的第一个字母大写,后面小写693、数学函数的运算和函数值4、自定义函数格式:f[x_,y_,……]:=函数表达式5、函数的嵌套格式:Nest[f,x,n]6、定义临时变量格式:Module[{x,y,……},表达式1;表达式2;……]3、数学函数的运算和函数值70使用中的几个问题1、简便输入%—表示上次计算的结果%%—表示上上次计算的结果%n—表示第n次计算的结果2、运行程序—Shift+Enter或小键盘上的Enter
使用中的几个问题1、简便输入713、保存文件用菜单进行:saveas……4、分号“;”的应用(1)在几个语句中间,表示各语句间并列关系,用于一行多句输入(2)在表达式的末尾,抑制结果显示3、保存文件729.1.5符号演算和数值计算一、基本表达式操作1、多项式的展开格式:Expand[表达式]2、通分格式:Together[表达式]3、分解因式格式:Factor[表达式]9.1.5符号演算和数值计算一、基本表达式操作734、化简表达式格式:Simplify[表达式]5、约分格式:Cancel[表达式]6、把表达式分项格式:Apart[表达式]7、求多项式中某项的系数格式:Cofficient[表达式]4、化简表达式749.1.5.1解方程或方程组1、求方程的代数解格式1:Roots[方程,变量]格式2:Solve[{方程1,方程2,……},{变量1,变量2,……}]格式3:Reduce[{方程1,方程2,……},{变量1,变量2,……}]9.1.5.1解方程或方程组1、求方程的代数解752、求方程的数值解格式1:NRoots[方程,变量]格式2:NSolve[{方程1,方程2,……},{变量1,变量2,……}]3、消去变量格式:Eliminate[方程,变量]4、寻求方程的数值根格式:FindRoot[方程,{x,x0},{y,y0},……]2、求方程的数值解769.1.5.2常用的语句
1、打印语句(屏幕输出)格式:Print[表达式,表达式,……]2、求和格式1:Sum[通项,{n,下限,上限,步长}]格式2:NSum[通项,{n,下限,上限,步长}]9.1.5.2常用的语句1、打印语句(屏幕输出773、求积格式1:Product[通项,{n,下限,上限,步长}]格式2:NProduct[通项,{n,下限,上限,步长}]3、求积784、条件语句(P.12)格式1:If[条件,语句1,语句2]格式2:Which[条件1,语句1,条件2,语句2,……,条件n,语句n]4、条件语句(P.12)格式2:Which[条件1,语句1795、循环语句(1)Do语句格式1:Do[循环体语句,{n}]重复计算表达式n次格式2:Do[循环体语句,{变量,初值,终值,步长}]重复计算表达式,变量以步长从初值变化到终值5、循环语句(1)Do语句80(2)While语句格式:While[条件语句,表达式]反复计算表达式,直到条件失效为止(3)For语句格式:For[初始表达式,条件,步进表达式,循环体]求初始表达式的值,然后重复计算步进表达式和循环体的值,直到条件失效为止(2)While语句(3)For语句81
9.1.5.3表与表达式的结构一、表的概念表是用大括号括起来的若干个表达式,表达式之间用逗号分隔格式:{表达式,表达式,……}例:{2,35,Sin[x]}{x^2,3x+5,Pi}{{1,2},{3,4},{4,5}}
9.1.5.3表与表达式的结构一、表的概念格式:{表82例:aa={1,2,3,4,5}bb={2,3,4,5,6}求:aa+bbaa–bbaa*bbaa/bbaa+5二、表的运算1、表的和、差、积、商运算两个元素个数相同的表可以进行四则运算,结果是对应元素运算例:aa={1,2,3,4,5}二、表的运算1、表的和、83例:tt={Pi/4,12,9+x+x^2}Sin[tt]={sin(Pi/4),sin(12),sin(9+x+x^2)}2、表和函数运算f[表]——表示函数f作用到表的每一个元素得一新表三、二层表的转换将某些表的自变量取值与函数值分别放在一起或相反格式:Transpose[表]例:t1=table[{n,Sin[n]},{n,5}]求:Transpose[t1]例:tt={Pi/4,12,9+x+x^2}2、表和函数84四、表的生成1、直接生成(无规律性的表)按顺序写出表中的元素并放在大括号内例:{1,0,-1,x}2、数值生成函数Rang(有规律性的数值表)格式2:Range[m,n]—生成表{m,m+1,…n}例2:生成表{5,6,7,……,15}格式1:Range[n]—生成表{1,2,…n}例1:生成表{1,2,3,……,10}格式3:Range[m,n,步长]例3:生成表{1,3,5,……,21}四、表的生成1、直接生成(无规律性的表)2、数值生成函数Ra853、通用表生成函数Table(循环生成有规律性的表)格式1:Table[表达式,{n}]—把表达式复制n次生成表例1:生成{5,5,5,5,5,5,5}例2:生成{ex,ex
,ex,ex,ex}格式2:Table[表达式,{x,n}]—生成的表中元素x的取值从1到n,步长为1例3:生成{Sin[1],Sin[2],…,Sin[10]}例4:生成20个素数组成的表3、通用表生成函数Table(循环生成有规律性的表)格式186格式3:Table[表达式,{x,n1,n2}]—生成的表中元素x的取值从n1到n2,步长为1例5:生成{10,11,12,……,20}格式4:Table[表达式,{x,n1,n2,n3}]—生成的表中元素x的取值从n1到n2,步长为n3例6:生成{10,20,30,……,150}例7:生成{e,e4,e7,e10,e13}格式5:Table[f[m,n],{m,m1,m2,m3},{n,n1,n2,n3}]—生成二层表例8:生成{{2,3,4,5,6},{3,4,5,6,7},……{6,7,8,9,10}}格式3:Table[表达式,{x,n1,n2}]—生成的87例9:生成{{1,2},{2,3},{3,4},{4,5},{5,6}}例10:生成{{1,Sin[1]},{2,Sin[2]},……,{5,Sin[5]}}4、迭代(递推)生成格式:NestList[函数名f,初值x,迭代次数n]例1:f[x_]:=1/(1+x)NestList[f,x,4]例2:NestList[Sin,x,4]例9:生成{{1,2},{2,3},{3,4},{4,5},88五、表的有关操作1、元素的抽取格式1:First[表]——取出表的第一个元素格式2:Last[表]——取出表的最后一个元素格式3:表[[n]]——取出表的第n个元素格式4:Take[表,n]——n为正数取出表的前n个元素作成一个新表,n为负数则从表的最后一个元素向前取格式5:Take[表,{m,n}]——取出表的第m个到第n个元素作成一个新表格式6:表[[n1,n2,…,n]]——取出多层表中第n1个子表中的n2个子表中的…第n个元素五、表的有关操作89例:有表d={3,{2,x^2},{3+y,{“abc”,{x},4}},c}求(1)First[d](2)Last[d]d[[3]]Take[d,2](5)Take[d,{2,3}](6)d[[3,2,2]]例:有表d={3,{2,x^2},{3+y,{“abc”902、去掉元素格式1:Rest[表]——去掉表的第一个元素格式2:Drop[表,n]——n为正值,去掉表的前n个元素,n为负值,去掉表的后n个元素格式3:Drop[表,{m,n}]——去掉表的第m至第n个元素例
Rest[d];Drop[d,2]3、按序号选取元素格式:表[[{s1,s2,…}]]——选出表中第s1,s2,…个元素作成一个新表例:d[[1,4,1,2]]2、去掉元素3、按序号选取元素914、表的元素替换格式:表[[n]]=x—把表的第n个元素替换为x例:d[[3]]={1,2}5、向表添加元素格式1:Prepend[表,表达式]——将表达式加在原表的所有元素前格式2:Append[表,表达式]——将表达式加在原表的所有元素后格式3:Insert[表,表达式,n]——将表达式插在原表的第n个位置4、表的元素替换5、向表添加元素926、表与表合并格式1:Join[表1,表2,…]——把几个表的元素按顺序连接格式2:Union[表1,表2,…]——表表合并,重复的元素只取一次7、表的排序格式:Sort[表]——将表中的元素按升序排列8、表的长度格式:Length[表]——统计表中的元素的个数6、表与表合并7、表的排序8、表的长度93六、表的综合操作举例1、生成表{{1,x},{2,x2},{3,x3},{4,x4}}2、取出所有子表的第一个元素3、求所有子表的第一个元素的指数值4、放回表中相应的位置六、表的综合操作举例94作业:一、生成下列表1、{1,4,9,16,…10000}2、{n1,n2,…n50}其中ni=n/n!,精确到小数点后10位3、{{1,2,3,…10},…{1,2,3,…10}}共10个子表4、{{1,2,3,…100},{101,102,103,…200},…{901,902,903,…1000}}作业:95二、1.已知f(x)=ex,求当x=1,2,3,4时的函数值列表及数对(x,y)的列表。2.用Table生成一个自变量取值表,然后结合语句Transpose的用法,给出所生成表的自变量取值与对应正切函数值组成数对的二层表。3.给定二层表{{1,2},{2,3},{3,4},{4,5},{5,6}},试用Mathematica命令取出这个表中所有子表的第二个元素组成的表,并取对数后放回原表的相应位置。二、969.2Mathematica软件的运用9.2.1用Mathematica求极限9.2Mathematica软件的运用9.2.1用Ma97案例9.19求下列极限(1)(2)(3)(4)(5)(6)(7)案例9.19求下列极限98解
(1)In[1]:=Limit[Sin[5*x}/x,x->0]out[1]=5(2)In[2]:=Limit[5^(1/x),x->0,Direction->-1]out[2]=Infinity("Infinity为正无穷大”)(3)In[3]:=Limit[5^(1/x),x->0,Direction->1]out[3]=0解99(4)In[4]:=Limit[Abs[x]/x,x->0,Direction->1]]out[4]=-1(5)In[5]:=Limit[Abs[x]/x,x->0,Direction->-1]]out[5]=1(6)In[6]:=Limit[ArcTan[x],x->Infinity]]out[6]=(7)In[7]:=Limit[ArcTan[x],x->-Infinity]]out[7]=(4)In[4]:=Limit[Abs[x]/x,x->1009.2.2用mathematica进行求导运算在mathematica系统中,用D[f[[x],x]表示f[x]对x的一阶导数,用D[f[[x],{x,n}]表示f[x]对x的n阶导数,在一定范围内,也能使用微积分中的撇号(撇号为计算机键盘中的单引号)标记来定义导函数,其使用方法为:若f[x]为一元函数,则f'[x]给出f[x]的一阶导函数,而f'[x0]给出函数f[x]在x=x0处的导数值,同样,f''[x]给出f[x]的二阶导数,f'''[x]给出[x]的三阶导数.9.2.2用mathematica进行求导运算在math101案例9.20求下列函数的一阶导函数:(1)(2)案例9.20求下列函数的一阶导函数:(1)(2)案例9.20求下列函数的一阶导函数:(1)(2)案例9.20求下列函数的一阶导函数:(1)(2)案例9.20求下列函数的一阶导函数:(1)(2)解(1)In[1]:=D[100*x^18,x]Out[1]=1800x17
(2)In[2]:=D[x^3*Cos[x],x]Out[2]=3x2Cos[x]-x3Sin[x]案例9.20求下列函数的一阶导函数:案例9.20求下列函102案例9.21求函数的二阶导数.解
In[3]:=D[x^3*Cos[x],{x,2}]Out[3]=6xCos[x]-x3Cos[x]-6x2Sin[x]案例9.21求函数1039.2.3用Mathematica做导数应用题导数应用就是用导数的性态来研究函数的性态,主要包括函数的单调性、凹向、极值与最值的求法以及一元函数图形的描绘,由于对函数单调性、凹向等问题的研究,不但需要进行求导运算,而且还需要进行解方程及条件判断等工作.因此,在用mathematica做导数应用题的过程中,经常使用Mathematica系统中的Solve,Which,Print这三个函数.9.2.3用Mathematica做导数应用题104案例9.22设函数在处都取得极值,试定出的值,并问这时在处都取得的是极大值还是极小值?解
In[1]:=f[x_]:=a*Log[x]+b*x^2+x;In[2]:=Solve[{f'[1]==0,f'[2]==0},{a,b}](*解方程,求驻点*)In[3]:=c=%;(*将方程组的解赋给变量c*)In[4]:=a=a/.c[[1,1]](*等价于a=a/.a→-2/3*)In[5]:=b=b/.c[[1,2]](*等价于b=b/.b→-1/6*)案例9.22设函数105解
In[1]:=f[x_]:=a*Log[x]+b*x^2+x;In[2]:=Solve[{f'[1]==0,f'[2]==0},{a,b}](*解方程,求驻点*)In[3]:=c=%;(*将方程组的解赋给变量c*)In[4]:=a=a/.c[[1,1]](*等价于a=a/.a→-2/3*)In[5]:=b=b/.c[[1,2]](*等价于b=b/.b→-1/6*)解
In[1]:=f[x_]:=a*Log[x]+b*x^2+x;In[2]:=Solve[{f'[1]==0,f'[2]==0},{a,b}](*解方程,求驻点*)In[3]:=c=%;(*将方程组的解赋给变量c*)In[4]:=a=a/.c[[1,1]](*等价于a=a/.a→-2/3*)In[5]:=b=b/.c[[1,2]](*等价于b=b/.b→-1/6*)解
In[1]:=f[x_]:=a*Log[x]+b*x^2+x;In[2]:=Solve[{f'[1]==0,f'[2]==0},{a,b}](*解方程,求驻点*)In[3]:=c=%;(*将方程组的解赋给变量c*)In[4]:=a=a/.c[[1,1]](*等价于a=a/.a→-2/3*)In[5]:=b=b/.c[[1,2]](*等价于b=b/.b→-1/6*)解解解106Out[2]={{a→-2/3,b→-1/6}}Out[8]=f[1]极小值Out[9]=f[2]极大值另外,Mathematica系统还提供了用逐步搜索法求函数极值的函数Fin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园保育老师个人工作总结5篇
- 会计毕业实习报告四篇
- 专业实习报告怎么写4篇
- 部门员工辞职报告(集锦15篇)
- 父亲节的演讲稿汇编15篇
- 亲子趣味运动会方案(15篇)
- 外贸跟单实习报告(8篇)
- 个人的自我介绍
- 年产3000万件汽车冲压件新建项目可行性研究报告写作模板-拿地申报
- 关于教导主任个人述职报告4篇
- 大学生职业规划课件
- 军事理论智慧树知到期末考试答案2024年
- 人教版小学数学三上《数学广角-集合》单元集体备课及全部课时教学设计
- (最新)专家服务基层工作培训会领导讲话(精)
- 苏州预防性试验、交接试验费用标准
- 最新【SD高达G世纪-超越世界】各强力机体开发路线
- 完整MAM-KY02S螺杆空压机控制器MODBUSⅡ通信协议说明
- 专业英语四级听力模拟题
- [广州]污水处理厂工程监理投标大纲(325页完整)_secret
- 南京禄口机场二期扩建工程项目融资分析报告(第一稿)
- 乡镇殡葬整治工作开展情况汇报
评论
0/150
提交评论