mathematica中c标签循环listlist被保护是什么意思啊?

当前位置: >>
Mathematica
第一章Mathematica简介与基本量Mathematica 是美国Wolfram公司研制开发的著名数学软件系统,自1987年 发布系统的1.0版本开始便迅速广为流传,后经不断改进和完善。 1991年 1997年 升级到2.0版 升级到3.0版1999年2004年升级到4.0版升级到5.0版5.1版本与4.0版本的主要区别在于丰富了优化方法部分的内容,特别是5.1版本增加了微分进化算法及其相应的计算软件,使得优化方法求解的范围较原来大为扩充。 1.1Mathematica 系统简单操作1.1.1进入系统要想进入Mathematica系统, 方法一:只须双击Windows桌面上的Mathematica 图标。 方法二:在“开始”菜单的“程序”中单击Mathematica 5.1选项。 进入系统后,出现如下图所示工作窗口,系统默认名称为Unitled-1 1.1.2退出系统方法一:单击工作窗口右上方的关闭 图标; 方法二:在File菜单中选用“Exit”命令,或者按”Alt+F4”键均可以退出 系统。1.1.3 在窗口中操作上述工作窗口是用户输入、输出、显示各种信息,以及运行各种程序的场地, 用户的全部操作都将在这里举行,人们将这种类型的窗口称之为Notebook。 例 1 已知a=2,b=3.7,试求c=a+b的值。在Untitled-1窗口中直接键入a=2;b=3.7;c=a+b 然后按执行键(执行键用“Shift+Enter”表示),具体操作方法是先按住 Shift键不放,接着按”Enter”键即可。上面三式子运行后,立即显示结果 如下: Out[1]=5.7 同时在a=2;b=3.7;c=a+b的最左端显示“In[1]:=“记号,它是为系统提供的 输入提示符,而”Out[1]=“是对应于的输出提示符。它们是在执行后,由 系统自动显示的,用户不必输入。 例 2 已知函数y=sin(x),试求其一阶导数y’。 直接输入 y’=D[Sin[x],x] 执行后,结果为 Out[2]=Cos[x]例 3 画出函数y=sin(x)在区间[-3,3]上的图形。直接输入 Plot[Sin[x],{x,-3,3}] 执行后,结果为 注意: 在Mathematica中函数名或者命令的第一个字母必须大写。从上面3个例子可以看出: (1)在Mathematica中,用户进行信息输入、执行运算以及得到结果后输出, 都将在同一工作窗口中进行,没有输入状态与运算状态的装换,整个过程比其 他高级语言系统简明。 (2)系统对输入的量不要求先有数据类型的说明,也不必对输出量预先设计 格式,而是完全由参与运算的那些量的输入形式决定;(3)在系统的同一窗口中,不仅可以进行数值计算,还可以进行符号运算, 还可做图形的处理,形式多样灵活,简单方便。1.1.4 建立文件与保存文件1 建立与保存文件方法:单击File/Save As 然后单击保存S。或者File/Save,在文件名一栏内键入C1.nb,这样便得到一个名为C1.nb的Mathematica文件。 2. 调出文件左击File/左击Open/左击打开栏内的C1.nb/左击打开O,在屏幕上便 可以看到重新调出的C1.nb文件中的文字与图形。 1.5 获取帮助1. ?和??命令 ?name 显示有关name的信息 ?? name 显示有关name的详细信息 ?Abc 显示以字母Abc开头对象的信息2. Help菜单 单击菜单中的Mathematica Book命令,或者按”Shift+F1” 键,均 可调出帮助界面 1.2数Mathematica里将数分为两类:一类是基本常数,包括常数、有理数、实 数和复数;另一类是系统内部的函数,包括数学、物理中常见的某些常数 1.2.1 数的表示和计算 1.整数在Mathematica系统里,整数由一窜连续的数字组成,数字之间不允许 有空格或其他字符。在系统里可以对任意大的整数进行计算,系统将保持 输入的和输出的整数永远是精确的,不会将大的整数转化为浮点形式。例如: 3^20 Out[1]=3 486 784 401 几点说明: (1)乘法符号“*”可以用空格代替。如a*b可以写成a b,但是不能写成 (2)算术运算的优先顺序同数学中的优先顺序一致,即先乘方,再乘除, 最后加减,但可以用括号改变其优先顺序; (3)同级运算的运算顺序同数学中一样,依顺序从左到右。但是乘方运 算结合顺序是从右向左进行。如4^3^2表示4^(3^2) (4)负号用减号表示,直接写在数字前面即可(5)如果参加运算的数都是精确数,那么运算结果也是精确数, Mathematica 系统决不轻易丢失信息。2. 有理数Mathematica 系统中任何有理数都可以用两个整数的商来表示,如: Ln[4]=6/21 Out[4]=2/7 在Mathematica 系统里,对有理数自动化简。3. 实数(浮点数)数学中的实数在Mathematica 系统里用浮点数表示。浮点数是指含有 一个小数点的数字窜,它至少包含着一位有效数字,数字窜的长度可以任意。因此用浮点数来表示实数可以具有任意的精度。 注意:当整数、有理数、浮点数进行混合运算时,如果参加运算的都是精确的,那么在Mathematica 系统下运行的结果也一定是精确数;如果其中有一些是近似数,那么运算结果也只能是近似数,但尽可能保持高的精度, 4. 复数 每一个复数表示为x+Iy,其中x与y为实数,I为虚数单位,即I=?15. 数学常数Pi E 圆周率3.141592??. 自然对数的底e,e=2.71828??DegreeI角度1度,1度=Pi/180?1虚数单位i,i= 无穷大InfinityIndeterminate不定值 1.2.2数的转换 N[x] 将x转化为实数形式 将x转化为最多具有n个数字精度的近似实数 给出x的近似有理数 给出误差在dx内x的近似有理数N[x,n]Rationalize[x]Rationalize[x,dx]% 表示上一次输出的结果 %% 表示倒数第二次输出的结果 %%....%(共k个)表示倒数第k个输出的结果 %n 1.2.3 表示以n为序号的那一次输出Out[n]的结果数的输出形式以实数形式输出表达式函数N[ ]将符号运算的结果转换为数值结果,或将有理数的准确值转换为近似数。N【 表达式】N【表达式,n】 以n位精度的实数形式输出表达式 Scientific From【表达式】 以科学记数形式输出表达式 1.31.3.1变量标识符标识符是由英文字母开头的字母数字窜。字母与数字长度不限,但不 能包含空格或标点符号。如:a,bce,a12均合法,而2ab,x*y不合法。 1.3.2 变量命名给变量命名必须遵循标识符的有关规定 标识符可以给函数命名 标识符的又一用途,表示计算中的单位,如 In[1]:=1.5Kg+2.3Kg Out[1]=3.8Kg1.3.3 变量赋值赋值符号”=“,作用赋值,常用它来给变量赋一个值,这个值可以是数值,数组, 表达式,甚至一个图形;变量一旦被赋值,则存储保留,知道清除为止。清除符号”=.” 1.3.4变量替换替换符号”/.”例如:P3=5-4x+3x^2+x^3中的变量x替换为t+1,命令为P3/.x-&t+1 对于多个变量的式子,也可进行替换,如 f=x^2+y^2+xy 将x替换为u+1,y替换为v-1,命令为 f/.{x-&u+1,y-&v-1} 1.4 表在Mathematica里,常常将一些有关联的元素组合成一个整体,并将其称为 表(List),表中的元素可以是数,也可以是函数,还可是表达式,同一表中的 元素可以有不同类型。表常被用来表示数学中的向量,矩阵或集合。表在形式 上用花括号括起来的一组元素,元素之间用逗号隔开。如: 输入 {1,2/3,0.5,x,Sin[t]}当表中的元素较少时,可以采用直接输入的形式: 变量={元素1,元素2,?,} 来生成表,即在给出表名的同时又给出了表中的元素,但在更多的时候要利用建表函数 Table,Array,Range来生成,而在利用建表函数时常常要用到循环描述。 循环描述的一般形式: {循环变量,循环初值,循环终值,循环步长} 循环变量,初值,终值,步长可为整数,有理数,实数常见的几种循环描述如下:{i ,min,max,step} {i,min ,max} i从min开始到max,按步长step增加 同上,当步长为1时可省略{i,max}{max}i从1到max,初值min 为1时可省略重复max次多重循环:是在写循环描述的地方连续写几个上面形式的循环描述, 他们之间用逗号分开。如: {I,imin,imax},{j,jmin,jmax} 就是一个关于变量i与j的二重循环描述,它表示i从imin开始到imax, 且对每一个i值,j从jmin到jmax 1.4.2建表函数1. Range(数值表建表函数)格式:Range[正整数n] Range[m,n] Range[m,n,d] 生成表{1,2,。。。,n} 生成表{m,m+1,m+2,?,n}(m&n) 从m开始按步长d递增,直到n的界限为止2. Table(通项表建表函数) 格式: Table【f_i,{I,min,max,step}】 以step为步长 Table【f_i,{I,min,max}】 Table【f,{max,}】 依照通项f_i的规律,i从min变到max, 同上,步长为1时省略不写 依照通项f,给出max个元素的表Table【f_ij,{I,imin,imax,},{j,jmin,jmax},??】 生成一个多维表 3. Array( 特殊表建表函数) 格式: Array[函数f,整数n] Array[函数f,{n_1,n_2,?.}] 能用函数Range与函数Array生成的表,都可以用函数Table生成,重点掌握 函数Table。1.4.3t[[n]] t[[-n]] First[t] Last[t]表的分量或 Part[t,n] 表示表t中的第n个元素 或 Part[t,-n] 表示表t中倒数第n个元素 表示表中第一个元素 表示表中的最后一个元素 Part[t,{n1,n2,?.}] 表示给出表t中第t[[{n1,n2,?}]] 或 T[I,j]n1,n2,?个元素组成的表 表示表t中的第i个子表的第j个元素 1.4.4表的运算表的运算主要包括表的结构运算与表的集合运算两部分。1.表的结构运算 表t,标量a,a与t做四则运算,只需将a与t中的每个元素作用一次,运算结果仍为表。 两个表的加减运算,要求这两个表的长度相同(即两个表中的元素个数一样多) 常见的表的结构运算函数: Join[t1,t2,?.] Union[t1,t2,?] 将表t1.t2?.连成一个表 合并几个表,去掉重复元素,然后对元素排序Sort[t]Union[t] Reverse[t] RotateLeft[t,n] RotateRight[t,n] Apply[Plus,t] Apply[Plus,t]将表中的元素按照标准顺序排序去掉表中的重复元素后对元素排序 将表 t中元素顺序倒过来 将表 t中元素向左转n个位置 将表 t中元素向右转n个位置 将表 t中元素加在一起 将表 t中元素乘在一起 2. 表的集合运算 Union[t1,t2,….] 几个表的“并”,由表t1,t2,…中所有不同元素组成的表 Intersection[t1,t2,….] 几个表的“交”,由表t1,t2,…中公共元素组成的表 Complement[t1,t2] 的表 1.5 函数 表t1与表t2的“补”,列出t1中有而t2中没有的元素组成函数有两类:一类是数学中常见的并且给出了明确定义的函数,如三角函数、反三 角函数,可称之为数学函数;另一类是系统中给出定义,具有计算和操作性质方面 的函数,如画图函数,求根函数等,可称之为操作函数。1. 基本初等函数 Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x] ArcSin[x]Sinh[x],Cosh[x]ArcSinh[x],ArcCosh[x] Sqrt[x] Exp[x] Log[x]2.初等函数 将变量、常量与基本初等函数经过有限次的四则运算以及有限次的函数复合 (函数套函数),并且能用一个解析式子表示的函数,称为初等函数。 1.5.2 非初等函数与特殊函数凡不满足初等函数定义要求的函数,均可称为非初等函数。如Gamma函数 和Beta 函数。 1.5.3 系统操作函数与运算函数 Quotient[m,n] Mod[m.n]n! n!! GCD[n1,n2,?.]LCM[n1,n2,?.] Prime[k] Random[Real,{a,b}]Abs[x]RandomSign[x] 1.5.4函数名的书写规则(1) 函数名必须以大写字母开头,后面的字母小写;当函数名可分成 几个段时,每个段的开头字母都要大写,其后小写,如ArcTan,FindRoot 但是:自定义函数名的开头字母不大写 (2)函数名是一个字符串,中间不允许有空格; (3)函数中的参数表用方括号括起来,而不是圆括号 (4)有多个参数的函数,参数之间用逗号隔开。1.5.5表达式的初步描述表达式分为两类:一类是简单表达式,另一类是复杂表达式。简单表达式 没有内部结构,不能分解为更简单的成分:如数,变量名,字符串;复杂 表达式是具有一定结构的,能够再分解为一些简单表达式的组合。如a+b 表达式可以描述为表达式是由常量,变量,函数,命令,运算符,标点以及括号按一定规则组成的实体 1.5.6表达式的模板输入模板输入形式是科技资料中最常见的数学表达式形式。 第2.1 2.1.1 曲线与曲面表示法 平面曲线表示法2章图形绘制(1)直角坐标显式(简称显式)y=f(x)(2)直角坐标隐式(简称隐式)(3)参数式 (4)极坐标式 (5)列表式 (6)图形式 2.1.2空间曲线表示法(1)参数形式 (2)交截形式 2.1.3 曲面表示法(1)直角坐标显式(简称显式)y=f(x)(2)直角坐标隐式(简称隐式)(3)参数式 (4)数据形式(5)图形形式 2.2 2.2.1平面曲线的绘制法 显式显式y=f(x)绘图函数Plot的调用格式如下:Plot[f(x),{x,x1,x2},{可选项}]Plot[{f1(x),f2(x),..},{x,x1,x2},可选项] 上面第一个表达式是绘制一条平面曲线,第二个表达式是绘制(在同一坐 标面上的)多条曲线。 式中Plot为平面曲线显示的绘图函数,f(x),f1(x),f2(x),?为给定的平面曲线显式y=f(x)的右端项,x为自变量,x1为x的下限,x2为x的上限,即有X1&=x&=x2,亦即给定绘图范围。 例1 绘制函数 y ? x ? sin ? 在区间-2≤x≤2上的图形。x 解: Plot[ x ? Sin[ Pi / x], {x,?2,2}]运行后可以得到图形和字符串如下图所示,其中字符串-Graphics表明图形的表达式已经生成。 例2 已知 y ? x sin ? , y ? x, y ? ? x ,指定区间为[-2,2],试在 1 2 3同一坐标平面画出这3条曲线。x 2.2.2参数式参数式 x ? x(t ), y ? y(t ) 绘图函数的调用格式如下:ParametricPlot[{ x(t ), y (t )}, {t , t1 , t 2 }, 可选项] ParametricPlot[{{ x1 (t ), y1 (t )}, {x2 (t ), y2 (t )}, }{t , t1 , t 2 }, 可选项] ?上面第一个表达式是绘制一条参数曲线,第二个表达式是绘制多条参数曲线,ParametricPlot是参数曲线的绘制函数。{x(t),y(t)}是曲线方程,{t,t1,t2}是参数t的指定范围。 2.2.3 隐式隐式F(x,y)=0绘图函数的调用格式如下:Im plicitPlot F ( x, y) ?? 0,{x, x1 , x2 }, 可选项] [ 式中ImplicitPlot为隐式绘图函数,==为等号的Mathematica书写法,列表{x,x1,x2}的含义是x1≤x≤x2,而x为自变量。 在Mathematica里,对于某些使用频率不高的绘图函数,例如隐式绘图函数,极坐标绘图函数等,没有将它们放入系统的内部函数中,而是将它们放置于外部函数的图形扩展程序包中,使用时必须先打开这 个程序包&&Graphics`,然后才能调用其绘图函数. 例 4 绘制隐函数x ? y ? 1 在区间[-2,2]上的图形。2 2 2.2.4极坐标式极坐标式? ? ? (? ) 绘图函数的调用格式如下:PolarPlot ? (? ), {? ,?1 ,? 2 }] [上面表达式中PolarPlot为极坐标式绘图函数,ρ (θ )为ρ = ρ (θ )的右端表达式,列表{θ ,θ 1,θ 2}表示θ 1≤θ ≤θ例 52绘制函数 ? ? 1? 2 cos? 在区间 0 ? ? ? 2? 上的图形. 2.2.4数据形式数据形式又称列表形式,或称离散点形式,其绘图调用格式如下:ListPlot[{{ x1 , y1}, {x2 , y2 }, ?,{xn , yn }}, 可选项]式中ListPlot为数据形式的绘图函数,{xi,yi},i=1,2,?,n为离散点的直 角坐标,可选项如果不用,即是取了默认值,则画出的图形仅是一串点, 如果将可选项中的PlotJoined改为True(真),则画出的图形是上述点列每 相邻两点连接而成的折线。 例6 已知 x ? {1,2,3,4,5,6,7,8}, y ? {2.3,4.9,6.4,7.0,6.5,6.8,8.0,10.6} i i 试以( xi , yi ), i ? 1,2,?,8为坐标画出点列,并连接点列为折线.
2.32.3.1 可选项列表系统默认值平面图形的可选项可选项名称 1 PlotRange含义 作图的范围,可取{x1,x2}, 也可取{y1,y2},以及{{x1,x2}, {y1,y2}},若取All,则表示画 出函数值的全部图形 图形的高宽比,可以为 AspcetRatio指定一个任何 其他的数。 是否画坐标轴,以及坐标轴 放在什么位置 在图形上方居中位置增加标 记Automatic,即系统根据情况自定2AspcetRati o 3 Axes 4 PlotLabel1/GoldenRatio,即y:x=1:1.6180Automatic,表示要画坐标轴,并且 自动确定坐标中心位置 None,表示不做标记 可选项名称 5 AxesLabel 6 Ticks 7 Frame 8 GridLines 9 PlotPoints系统默认值 None,表示不做标记 Automatic,自动确定坐标刻度 False None 25含义 在坐标轴上增加标记 规定坐标轴上刻度的位置,如 果用None则不标刻度 是否画边框 是否加网格线 画图时基本的最少取点数10 MaxBend11 PlotDivision 12 PlotStyle1020 Automatic,自动用黑色实线作图相邻两段曲线之间的最大扭转 角,以度为单位画图时在基本最少点数上增加 的细分点数 选用什么颜色线型作图 注意:PlotStyle?GrayLevel[i],i为灰度比值,0≤i≤1,0为黑色,1为白色;RGBColor[r,g,b],红,绿,蓝三色强度,0≤r,g,b≤1; Tickness[t],t为线条宽度,以占整个图的宽度的比来量度; 长依次为d1,d2,… Dashing[{d1,d2,…}],用实虚线段序列画图,实虚线的上述选项按照其功能可分为两类: 第一类(1-8):用于说明如何把一个构造好的图形显示出来,包括若干附加的东 西,如坐标轴,边框,网格线等; 第二类(9-12):用于生成图形的基本元素,比如计算基本样点,将样点连接成一条折 线等。 每一可选项都有一个名字,使用时必须给他们指定适当的值,其使用形式是: 可选项名?可选项值 2.3.2可选项举例例1 绘制参数圆x ? a cos t , y ? a sin t , a ? 3,0 ? t ? 2?的图形。 图形有些扁,像个椭圆,原因是图形可选项中的高宽比采用了默认值, 如果将高宽比改为1/1则有: 例2 绘制参数曲线x ? 8 sin 2t , y ? 8 cos5t ,0 ? t ? 2? ,在曲线上不画坐标轴,但要加上边框,并在曲线上方加标记 例3 给定函数(1)在y1 ? sin x, y2 ? cos x及区间 0 ?x ? 2? ,要求的图形;0 ? x ? 2? 上用彩色线画出y1 ? sin x(2)在 0 ?(3)在x ? 2? 上用彩色线画出 y2 ? cos x的图形;0 ? x ? 2? 上,将上述两条曲线画在同意坐标平面内。
注意:Dashing[d1,d2,…]中的参数代表实虚线的分段方式,交替地以长度d1黑色实线段,长度d2空白虚线段等画实虚线,参数的取值范围均小于1,即有 2.3.30 ? d1 , d 2 , d3 ,? ? 1平面图形的重现与组合用Mathematica系统绘制图形的过程大致可分为两步:第一步是构造图 形的基本元素,比如计算图形上的基本样点,把样点连成折线等;第二步是将构造好的图形显示出来,同时包含若干附加的东西,比如加上坐标轴,网格线,边框等。每次图形绘制完毕后,图形的全部信息都将被 保存下来,当用户需要再次画出这些图形时,只需调用重现函数Show函数即可,而不必再去重复原来的第一步和第二步。 Show函数的功能之一是显示已经做好的图形例 1 绘制函数y ? sin x在 ? ? ? x ? ? 上的图形。Plot[ Sin[ x], {x,? Pi, Pi}] C1 ? Plot[ Sin[ x], {x,? Pi, Pi}]当需要再次画出y=sinx的图形时,只要调用Show函数即可。Show[%] Show[C1] %为前一次的输出记号 C1为存放图形的变量如果想要将图形的范围-π≤x ≤ π改动为0 ≤x≤2 π,有 Show[C1,PlotRange-&{0,2*Pi}] Show函数的功能之二是能够将已经做好的多个图形显示在同一坐标系里,实现多个图形的组合 例 2 在同一区间[0,2π ]上给定函数y1 ? Sinx, y2 ? Sin( x ? 1), y3 ? Sin( x ? 1), y4 ? Sin2 x要求用彩色线(红蓝线)画出y1曲线,用灰度线(黑白线)画出y2 曲线,用宽条线画出y3曲线,用实虚线(点划线)画出y4曲线,然 后将y1,y2,y3,y4组合在同一坐标系里。 首先分别画出y1,y2,y3,y4如下:C1=Plot[Sin[x],{x,0,2*Pi},PlotStyle-&RGBColor[1,0,1]];C2=Plot[Sin[x-1],{x,0,2*Pi},PlotStyle-&GrayLevel[0.6]]; C3=Plot[Sin[x+1],{x,0,2*Pi},PlotStyle-&Thickness[0.009]];C4=Plot[Sin[2x],{x,0,2*Pi},PlotStyle-&Dashing[{0.01,0.02,0.04}]];110.50.51 -0.523456-0.5123456-1-1110.50.51 -0.5234561 -0.523456-1-1 利用Show函数组合图形可得: Show[C1,C2,C3,C4] 将图形C1,C2,C3组成一个行,有Show[GraphicsArray[{C1,C2,C3}]] 将图形C1,C2,C3,C4组合成一个阵,有Show[GraphicsArray[{{C1,C2},{C3,C4}}]] 2.4空间曲线的绘制法空间曲线的交截形式很少用到,通常总是以参数形式给出,绘制空间曲线自然应取参数形式:x=x(t),y=y(t),z=z(t) 参数形式空间曲线绘图函数的调用格式如下:ParametricPlot3D[{{x(t),y(t),z(t)},{t,t1,t2}},可选项]式中ParametricPlot3D为空间空间参数式绘图函数,第一个表{x(t),y(t),z(t)}为 空间曲线参数方程的右端函数,第二个表{t,t1,t2}为曲线的参数t及其下限t1,上 限t2,可选项的内容与含义同平面曲线的基本相似。 例 1 绘制柱面螺旋线在x ? 4 cost , y ? 4 sin t , z ? 1.5t0 ? t ? 8?上的图形。 2.5曲面的绘制法曲面的表示通常采用显式z=f(x,y),隐式F(x,y,z)=0或参数式x=x(u,v),y=y(u,v),z=z(u,v),单值曲面一般采用显式,多值曲面(含闭合曲面)一般用隐式或参数式。 2.5.1 显式显式曲面z=f(x,y)绘图函数的调用格式如下: Plot3D[f(x,y),{x,x1,x2},{y,y1,y2},可选项]式中Plot3D为空间显式绘图函数,f(x,y)为显式曲面的表达式,x,y为自变量,x1与x2为x的下限和上限, y1与y2为y的下限和上 限. 例1 绘制函数上的图形。z ? x 4 ? y 4 ? 18( x 2 ? y 2 ) 在区域 ? 4 ? x ? 4,?4 ? y ? 4 2.5.2隐式隐式曲面F(x,y,z)=0绘图函数的调用格式如下: ContourPlot3D[F(x,y,z),{x,x1,x2},{y,y1,y2},{z,z1,z2},可选项]式中ContourPlot3D为隐式曲面的绘图函数,F(x,y,z)为曲面的隐式表达式, {x,x1,x2},{y,y1,y2},{z,z1,z2},为曲面的绘制范围。 2.5.3 参数式 参数曲面x=x(u,v),y=y(u,v),z=z(u,v)绘图函数的调用格式如下: ParametricPlot3D[{x(u,v),y(u,v),z(u,v)},{u,u 1,u2},{v,v1,v2},可 选项] 例1 绘制螺旋面 在范围x ? u cos v, y ? u sin v, z ? au ? bv上的图形,可取a=0,b=1? 3 ? u ? 3,0 ? v ? 2?
2.5.4空间图形的可选项默认值 {15,15} Automatic True x:y:z=1:1:0.4 含义 在给定的矩形区域上x方向与y方向上 的取点数 图形显示范围,可取{z1,z2}或 {x1,x2},{y1,y2},{z1,z2} 是否给图形加上一个立体框,以增强 图形的立体感 立体框在3个方向上的长度比,可任 意指定可选项名称 1 PlotPoints 2 PlotRange 3 Boxed 4 BoxRatios5 ViewPoint6 PlotLabel{x,y,z}={1.3,-2.4,2} 将立体图投影到平面上时使用的观察 点None 图形的名称标注,如果需要,可用任 意字符串作为图形名称7 MeshTrue曲面上是否画上网格 可选项名称 8 HiddenSurface True 9 PlotColor True默认值含义 曲面被遮挡住的部分是否消隐 是否显示出彩色,如果原来就是黑白 图形,则此项不起作用10 ShadingTrue在曲面上是否涂色(涂阴影),如果 去掉阴影,则图形完全白色,只能看 到网格线,如果再去掉网格线,则什 么也看不到11 LightSources光源位置在曲面右 设置照明光源,使用格式是{{光源位 边45°处,三个点 置},{光源光色}} 光源分别是红、绿、 蓝 False 是否打开已经设置好的光源,一旦打 开光源,灯光即照射在曲面上,便会 产生反射效果,从而使曲面呈现出色 彩12 Lighting 例 1 绘制函数上的图形。z ? sin(x ? y)在区域 ? 3 ? x ? 3,?4 ? y ? 4 例 2 去掉例1中的边框及其曲面上的网格。 例 3 去掉例1中曲面上的遮挡,即去掉曲面的消隐 例 4 在例1中改动对曲面的观察点(视点) 一般视点,即默认视点为:{1.3,-2.4,2},其他常用视点见下表范围 {0,-2,0} {0,2,0}观察方向 从正前方观 察 从正后方观 察范围 {2,0,0} {-2,0,0}观察方向 从正右方观 察 从正左方观 察范围 {0,-2,2} {0,-2,-2}观察方向 从前上方观 察 从前下方观 察{0,0,2}┊从正上方观 察┊{2,-2,0}┊从右前方观 察┊{-2,0,-2}┊从左下方观 察┊ 2.5.5空间图形的重现与组合使用Show函数进行图形的重现与组合。2.5.6二曲面相交与空间图形在坐标面上的投影1.两曲面S1与S2相交的图形,除了可利用Show函数的组合功能实现外,还可利用曲面方程作图函数ParametricPlot3D来实现例1 绘制二曲面 z1 ? 0.2( x ? y) ? 0.1, z2 ? 0.5( x 2 ? y 2 ) 在区域? 3 ? x ? 3,?3 ? y ? 3 上相交部分的图形。
2.空间图形(包括空间曲线与曲面)在坐标面上的投影,可利用Shadow函数来实现,但是首先需用到命令:&&Graphics` 例2 试求二曲面 z1 ? 0.3xy ? 2, z2 ? x ? y 的相交部分在坐标面上的投影。2 2 使用Shadow[S82]命令后可得: 如果不需要在zox坐标面上的投影,只需在可选项中写入YShadow-&False,如图: 第3章符号运算许多数学问题的求解通常有两条途径可牛皇乔笏慕馕鼋猓乔它的数值解。所谓数值解是指能够用一个(具有初等函数结构)解析式子精确表示的解,即通常所说的能够用数学公式表示的解。 求解析解(公式解)的主要工具是符号运算,所谓符号运算是指运算的对象是符号、文字或变量。所进行的运算自然是指精确解公式中所需要的各种运算。 3.1变换类型 化简表达式的变换常见表达式变换 表示方法 Simplify[表达式] 含义 设法化简表达式,寻求 等价的最简形式化简FillSimplify[表达式]Expand [表达式] ExpandAll [表达式]使用更广泛的变换化简表达式展开展开分子,每项除以分 母展开分子与分母完全展开分解Factor [表达式]Together [表达式]将表达式分解因式,表示为最简因式的乘积通分用于通分,把所有的项 放在同一分母上,并化 简 常见表达式变换 变换类型 约分 表示方法 Cancel [表达式] 含义 用于约分,消去分式中 分子和分母的公因式 分项 Apart [表达式] 将有理分式分解为一些 最简分式之和 集项 Collect [表达式,某一个(或某几个)变 量] 将表达式按照某一个 (或某几个)变量的幂 次进行集项 例1 化简表达式sin2 t ? 3 sin t cost ? cos2 t例2 展开表达式( x 2 ? 1)( x ? 1) 2 3.2函数的极限求极限格式: Limit[expr,x-&x0] Limit[expr,x-&x0,Direction-&1] Limit[expr,x-&x0,Direction-&-1] Limit[expr,x-&Infinity] x-&x0时函数expr的极限 x-&x0-时函数expr的极限 x-&x0+时函数expr的极限 x趋于无穷大时的极限 3.33.3.1导数与偏导数求导函数D[ f ( x), x] D[ f ( x), {x, n}]上面第一式是将f(x)对x求一阶导数,而第二式是将f(x)对x求n阶导数,式中D是 求导符号。3.3.2求偏导数 将f(x,y)先对x求导,再对y求导 将f(x,y)先对x求m阶导数,再对y求n阶 导数D[ f ( x, y ), x, y ] D[ f ( x, y ), {x, m}, { y, n}] z ? x 4 ? y 4 ? cos(2 x ? 3 y) ,试求 例 已知函数z x , z xxy 3.43.4.1不定积分与定积分不定积分Integrate[ f ( x), x]式中Integrate是求不定积分的符号,f(x)为被积函数,x是积分变量,结 果中省略了常数C。 例 求不定积分e 3 x * sin 4 xdx ? 3.4.2定积分Integrate [ f ( x), {x, a, b}]3.5 将函数展开为幂级数Series[ f ( x), {x, x0 , n}]式中f(x)为指定的函数,x0为展开点的坐标,n为展开的项数。例 将log(x)在x=1点做Taylor展开至前4项。 3.6求和与求积求和 求积3.7 方程求根Sum[un ,{n, n1 , n2 }] Pr odunt[un ,{n, n1 , n2 }]Solve 代数方程(或方程组), 未知量] [例 1 求解方程x 3 ? 5 x 2 ? 3x ? 6 ? 0的根 例 2求解方程 组?x2 ? y ? m ? ?x ? y ? n的根 3.8常微分方程求解求通解 DSolve[微分方程或方程组,未知函数,自变量] 求特解 DSolve[{微分方程,初始条件},未知函数,自变量]3.9偏微分方程求解求通解 DSolve 偏微分方程,未知函数u( x, y),自变量{x, y}] [例求一阶方程u x ? 4u y ? x ? y的通解。 第4章4.1导数、积分、方程等的数值计算函数值的计算主要应用函数N[ ]4.2定积分与重积分的数值计算4.2.1 定积分的数值计算NIntegrate f ( x), {x, a, b}] [式中f(x)为被积函数,x为积分变量,a为积分下限,b为积分上限有时a 可取到负无穷,b可取到正无穷。 4.2.2 重积分的数值计算1.矩形区域G : a ? x ? b, c ? y ? d上的二重积分NIntegrate f ( x, y), {x, a, b}, { y, c, d}] [2.一般(有界)区域G上的二重积分 由于G的情况多样、复杂,Mathematica系统没有给出相应的计算函数,可应用数学知识,将二重积分转化为二次定积分,再利用定积分的符号计算工具,便可计算出一般区域上的二重积分。 4.3方程的近似根FindRoot f ( x) ?? 0,{x, x0 }] [4.4 常微分方程数值解NDSolve 微分方程,初始条件},未知函数, [{ { 自变量范围}] NDSolve 微分方程族,初始条件 , [{ } {未知函数1,未知函数2, }, ? { 自变量范围}] 第5章5.1 矩阵5.1.1 矩阵的生成线性代数的数值计算1.矩阵的阶数比较低时,可用直接输入法。 例1 A={{1,2,3},{4,5,6},{7,8,9}}A//MatrixForm运行后可得? ? ? ?1 2 3 4 5 6 7 8 9 2.当矩阵的阶数比较高时,可用建表函数生成矩阵。Array[a,{m, n}]生成一个m×n阶的矩阵,它的i行j列元素是a[i,j] 同上Table[a[i, j ], {i, m}, { j , n}] Table[ f ij , {i, m}, { j , n}]例 2生成一个m×n阶的矩阵,它的i行j列元素按通项fij 的规律取到生成元素为 hij ? 1 /(i ? j ? 1) 的m? n阶矩阵,此矩阵称为Hilbert矩阵。 3.特殊矩阵的生成Table[0, {m}, {n}] IdentityMa [ n] trix DiagonalMa [list] trix Table[ Random {m}, {n}] [], Table[ If [i ??生成一个m×n阶0元素矩阵 生成一个m×n阶单位矩阵用表list中的元素生成一个对角矩阵生成一个m×n阶随机元素矩阵,元素取值在0, 1之间 j ,1,0], {i, m}, { j , n}] 生成一个m×n阶上三角矩阵 生成一个m×n阶下三角矩阵Table[ If [i ?? j ,1,0], {i, m}, { j , n}] 例 3(1)生成0元素阵; (2)生成单位矩阵; (2)生成对角矩阵; 5.1.2 矩阵的取块A[[i, j ]]或a[i, j ] A[[i ]] A[[ All, j ]] Take[ A, {i0 , i1}, { j0 , j1}] Tr[ A, List ]取出矩阵A的第i行第j列元素 取出矩阵A的第i行元素 取出矩阵A的第j列元素 取出由矩阵A的i0行到i1行和j0列到j1列组成的子矩阵 取出按列表给出的矩阵A的对角线元素A[[{i1 , i2 ,?, i p }, { j1 , j2 ,?, jq }]]取出由行为{i1,i2,…,ip}和列为{j1,j2,…,jq}组成的子矩阵例 4 已知矩阵B={{1.1,1.2,1.3,1.4,1.5},{2.1,2.2,2.3,2.4,2.5} {3.1,3.2,3.3,3.4,3.5},{4.1,4.2,4.3,4.4,4.5},{5.1,5.2, 5.3,5.4,5.5}}
5.1.3 矩阵的运算在Mathematica中定义了3种乘法运算:点积“.”,叉积“×”,星号积“*”。设a与b为向量,A与B为矩阵,u与v为数量,则:a ?b A? B a?b A? B a *b A* B u *v就是数学中两向量的内积(数量积) 就是数学中的两矩阵的乘积 就是数学中的两向量的外积 在数学中无定义 仍为一向量,等于a与b的对应元素相乘 仍为一矩阵,等于A与B的对应元素相乘 u乘v规定应星号u*v,其余u.v与u×v无意义
常见的矩阵运算Det[ A] Transpose[ A] Inverse[ A] Minors[ A, k ] Tr [ A]求矩阵A的行列式(记为|A|,A必须是方阵)求矩阵A的转置阵(记为AT或A‘) 求矩阵A的逆矩阵(记为A-1,A必须是方阵) 求矩阵A的所有k阶子式组成的表 求矩阵A的迹(A的主对角元相加)MatrixPowe [ A] 求矩阵A的n次幂(记为An=A? ?A,共n个,A必须是方阵) r A?? 例 5 已知三阶方阵A1={{1,2,3},{2,3,1},{3,1,2}} 5.2特征值和特征向量计算矩阵A的(精确形式的)特征值表计算矩阵A的(精确形式的)特征向量表 计算所有的{{特征值},{特征向量}} 计算矩阵A的特征值表的数值解 计算矩阵A的特征向量表的数值解Eigenvalue [ A] s Eigenvecto [ A] rs Eigensyste [ A] m Eigenvalue [ N [ A]] s Eigenvecto [ N [ A]] rs 5.4线性方程组求解利用矩阵的初等行变换将矩阵A化简 求线性方程组AX=b的一个特解 求齐次方程组AX=0的基础解系Row Re duce[ A] LinearSolv [ A, b] e NullSpace A] [例 1求解线性方程组? x1 ? 2 x2 ? 3 x3 ? 6 ? ?2 x1 ? 3 x2 ? 4 x3 ? 9 ?3 x ? 4 x ? 7 x ? 14 2 3 ? 1
例 2 求解线性方程组? x1 ? 2 x2 ? 3 x3 ? 6 ? ?2 x1 ? 3 x2 ? 4 x3 ? 9 ?3 x ? 5 x ? 7 x ? 15 2 3 ? 1 可知原方程组中只有两个线性独立方程,并且可取1,2两个方程,原方程组 等价于下列方程组: ? x1 ? 2 x2 ? 3x3 ? 6 ? ?2 x1 ? 3x2 ? 4 x3 ? 9 第6章6.1 一元插值插值与拟合在生产实践和科技活动中,人们常常从实验或测量中得到数据 x ? ( x0 , x1 ,?, xn ), y ? ( y0 , y1 ,?, yn )称为原始数据,而将原始数据所确定的点列 M 0 ( x0 , y0 ), M1 ( x1 , y1 )?, M n ( xn , yn )称为原始点列或型值点列,人们希望将这些数据或点列所蕴含的客观规律用一个函 数y=f(x)或一条平面曲线Cp来描述,这样的函数或曲线称为理想函数或理想曲线。 一元多项式插值的概念是:如何在整段区间[x0,xn]上构造出一个多项式pn(x),或者 在分段区间[xi,xi+r],i=0,1,…,r0上构造次数r较低(r&n)的多项式函数pr(x),要求y=Pn(x) 与y=Pr(x)所代表的曲线穿过所在区间上的每个型值点。这样就可以在[x0,xn]上用pn(x)近似代替f(x),或在[xi,xi+r],上用Pr(x)近似代替f(x). 6.1.1 数据的给出方式data1 ? {{ x0 , y0 }, {x1 , y1}, ?, {xn , yn }}用型值点列的方式给出输入数据 data2 ? { y0 , y1 ,?, yn }同上,但当xi=i时可以省略 data3 ? {{ x0 ,{ y0 , dy0 , ddy0 ,?}}?} 用x=xi处的函数值yi与1至n阶到数 值dyi,ddyi,?给出输入数据data4 ? {{ x0 , y0 , z0 }, {x1 , y1 , z1}, ?}用空间型值点列的方式给出空间输入数据data5 ? Table[ f i , {i, min, max, step}] 用表格的方式给出输入数据 6.1.2 整区间上的插值 在整区间[x0,xn]上插值的调用函数及其格式如下:Interpolat ingPolynom [数据名(用data ),自变量名] ial 1此函数是在整区间[x0,xn]上做多项式插值,在输入数据的数据名处必须用 data1的方式给出原始数据,在自变量名处必须指定出某个自变量符。例 1 已知原始数据;xi=(0.0,0.5,1.1,1.7,2.4,3.0),yi=(0.000,0.1,-0.4,-0.0139),试求整区间[0.0,3.0]上的插值多项式函数P5(x),并求当x=0.7,2.0时y的值。
?x 此题数据xi与yi取自函数 y ? e sin 2 x (或曲线C0)上的点, 6.1.3 分段区间上的插值Interpolat [data , Interpolat ion 1 ionOrder ? r ]输入数据表中的数据名必须按点列方式data1给出,插值多项式的次数r由使 用者指定。此函数对区间分割的方式是将[x0,xn]中的每相邻两点划分为一个 子区间,然后在每个子区间上构造Pr(x).由于是分段多项式,因此一般不能 给出[x0,xn]上插值结果表达式。 如果给出的数据具有表格的形式,那么可以选用下面的调用函数,格式为:ListInterpolation [data5] 6.2二元插值ListInterpolation [data5]但是data5必须是二元表。 6.3一元拟合多项式插值要求多项式曲线Cp必须穿过所在区间上的每个型值点,如果在全区间[x0,xn]上插值,当n较大时常会引起曲线Cp在区间端点x0与xn附件的剧烈震荡(成为Runge现象),如果在子区间[xi,xi+r]上插值,每个子区间上多项 式的次数虽然降低了,但在连接点出曲线Cp的光滑性也随之降低,这种矛盾常常无法得到解决。从实验者的角度看,要求逼近曲线Cp穿过每个型值点,既无这种必要,又 无进一步提高逼近精度的可能,因为型值点本身就带有各种误差。人们想到,能否构造一条次数较低(记为s)的多项式曲线Cs,只要求Cs尽可能的贴近全部型值点,而不必穿过每一点。“尽可能的贴近”,通常选用最小二乘意 义下的逼近,此为一元拟合的概念。 一元拟合的调用函数格式:Fit[data ,{1, x, x ,?}, x] 1式中输入数据名必须用点列data1的方式,{1,x,x2,…}为拟合多项式的基函数, x为拟合用的自变量。输出结果为拟合多项式的表达式。 例 1 已知型值点列为 {xi,yi}={{0,0},{0.4,0.101},{0.8,0.8516},{1.2,1.0476},{1.6,3.075},{2.0,3.4993},2{2.4,6.0650},{2.8,7.9027},{3.2,9.7048},{3.6,13.9593},{4.0,14.6776}}希望在区间[0,4]上分别求出1,2,9,10次拟合多项式函数P1,P2,P9,P10
14 12 10 8 6 4 2 1 2 3 412.5 10 7.5 5 2.51 -2.523415 12.5 10 7.5 5 2.51 -2.5234
6.4二元拟合2 2 3 3 2Fit[data4,{1, x, y, xy, x , y , x , y , x y,?}, {x, y}]式中输入数据data4规定为空间点列{xi,yi,zi}的方式, {1,x,y,xy,x2,y2,?.},为构造二次拟合多项式用的基函数,{x,y}为拟 合用的自变量。 再次强调:在Mathematica中,函数后面用方括号,函数的第一个字母必须大写 Stephen Wolfram 是Mathematica的创始人,并被认为是当今科学计算的先驱。 Wolfram1959年出生于伦敦,曾在伊顿公学、牛津大学和加州理工学院接受教育,15岁发表了第一篇科技论文,1979年20岁时在加州理工 学院获理论物理学博士学位。他从1973年开始使用计算机,1981年主持开发了第一个计算机代数系统SMP. 由于在物理和计算方面的成绩,1981年获麦克阿瑟奖学金; 1986年创办“Complex Systems”; 创办Wolfram Research公司,并担任总裁,负责Mathematica的总体设计, 写了Mathematica大部分的基本核心代码。 开发Mathematica系统的人员还有:Daniel R.Grayson,主要在任意精度的算术运算、解方程、矩阵演算、幂级数和椭圆函数方面;Roman E.Maeder负责符号积分、多项式因式分解和其他多项式运算 Stephen M.Omobundro负责三维图形程序代码。返回
更多搜索:
赞助商链接
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 dedecms list 标签 的文章

 

随机推荐