grass22 发表于 2006-5-9 15:56

MATHEMATICA讲座(1) ----徐安农教授

MATHEMATICA讲座第一讲
1 数的运算
算例
378/123
N (*取小数点后6位的近似值*)
Pi^2
E^(-1)
100!
N
N
2 常用数学函数

Sqrt[ ]平方根, Exp[ ]指数函数, Log[ ] 对数函数,
Sin[ ] 正弦函数, Cos[ ] 余弦函数,
Tan[ ] 正切函数, Cot[ ] 余切函数,
Sec[ ] 正割函数, Csc[ ] 余割函数,
ArcSin[ ] 反正弦函数, ArcCos[ ] 反余弦函数,
ArcTan[ ] 反正切函数, ArcCot[ ] 反余切函数,
ArcSec[ ] 反正割函数, ArcCsc[ ] 反余割函数,
Sinh[ ] 双曲正弦, Cosh[ ] 双曲余弦,
Tanh[ ] 双曲正切, Coth[ ] 双曲余切,
Sech[ ] 双曲正割, Csch[ ] 双曲余割,
ArcSinh[ ]反双曲正弦, ArcCosh[ ]反双曲余弦,
ArcTanh[ ]反双曲正切, ...
算例
Sin,50]]
3 其它函数
! 阶乘
Mod n取模m的结,
Quoti ent n除以m的商的整数部分
GCDLCM n和m的最大公约数和最小公约数
Round[ ] 距离近似数x最近的整数
Floor[ ] 不大于x的最大整数
算例
100!
Quoti ent
GCD
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 (* 多项式展开*)
Factor (*多项式因式分解*)
算例
p1=x^3-6x^2+11x-6
p2=(x-1)*(x-2)*(x-3)
Factor
Expand


MATHEMATICA讲座第二讲
一元函数的图形
一 命令语句
Plot[表达式,{变量,下限,上限},可选项]
Plot[{表达式,表达式,...},{变量,下限,上限},可选项]
二 可选参数项
第一类参数
1. PlotRange->{y1,y2} 指定作图纵座标范围为(y1,y2)
默认值为Atuomatic或指定 All
执行算例
Plot,{x,-2Pi,2Pi}]
Plot,{x,-2Pi,2Pi},PlotRange->{-10,10}]
Plot*Sin,{x,-2,2},PlotRange->{-0.5,0.5}]
Plot*Sin,{x,-2,2},PlotRange->All]
2.AspectRatio->Automatic 按实际比例作图
默认值为Atuomatic=0.618:1
执行算例
Plot,{x,-1.5,1.5}]
Plot,{x,-1.5,1.5}, AspectRatio->Automatic]
3. Axes->Automatic 画坐标轴自动确定位置
Axes->None 不画坐标轴
Axes->{x0,y0} 指定坐标原点在(x0,y0)处
执行算例
Plot,{x,-2Pi,2Pi}]
Plot,{x,-2Pi,2Pi},Axes->None]
Plot,{x,-2Pi,2Pi},Axes->{1,2}]
4 AxesLabel->None 不说明坐标轴的标记
AxesLabel->{x,y} 指定横轴为x纵轴为y
AxesLabel->{u,v} 指定横轴为u纵轴为v
执行算例
Plot/x,{x,-10,10},AxesLabel->None]
Plot/x,{x,-10,10},AxesLabel->{x,y}]
Plot/x,{x,-10,10},AxesLabel->{时间T,电流I}]
5. Ticks->{i,j} 规定坐标轴上的刻度位置
Ticks->{t1,t2,t3,...}
执行算例
Plot[{ArcSin,ArcCos},{x,-1,1},
PlotStyle->{{RGBColor,Thickness},
{RGBColor,Dashing[{0.05,0.05}]}}]
第二类 参数
1.DisplayFunction->Identity 只生成图形现在不显示
执行算例
Plot[{Sin]-Tan]},{x,1,2},
DisplayFunction->Identity]
Plot[{Sin]-Tan]},{x,-2,2}]
2. PlotPoints->50 指定计算函数值的取点数为 50
执行算例
Plot[{Sin]-Tan]},{x,-2,2},PlotPoints->50]
3. MaxBend 说明曲线的折线在相邻两段之间的最大折角
执行算例
4. PlotDivision 说明取点的限度
执行算例
5.PlotStyle->Thickness 描述线宽
PlotStyle->GrayLevel 描述灰度
PlotStyle->RGBColor 描述颜色
PlotStyle->Dashing[{d1,d2,...}] 描述虚线的画法
PlotStyle->PointSize 描述点的大小
执行算例
Plot[{Sin,Sin,Sin},{x,0,2Pi},
PlotStyle->{RGBColor,RGBColor,
RGBColor}]
Plot,{x,-1,1}]
Plot,{x,-6,6},PlotStyle->Dashing[{0.02,0.01}]]
Plot]],{x,-Pi,Pi}]
Plot[(Tan]-Sin])/x^2,{x,-5,5}]
Plot[{E^x,ArcTan,E^ArcTan},{x,-5,5},PlotPoints->100]
三 图形的重新显示,组合,存储和输出
Show 重新显示
Show 将几个图形合在一起
执行算例
f1=Plot
f2=Plot
f3=ParametricPlot[{2,t},{t,0,2}]
Show
Display["filename",图形]保存图形到文件中存为Postsceipt
格式
Hardcopy[图形] 将图形送去打印
四 二维参数图形
ParametricPlot[{x(t),y(t)},{t,下限,上限},可选项]
执行算例
ParametricPlot[{Sin,Cos},{t,0,2*Pi},
AspectRatio->Automatic]
ParametricPlot[{Sin,Cos},{t,0,2*Pi},
AspectRatio->Automatic]
y1=ParametricPlot[{Cos^3,Sin^3},{t,0,2*Pi},
AspectRatio->Automatic]
y2=ParametricPlot[{Cos,Sin},{t,0,2*Pi},
AspectRatio->Automatic]
Show
z1=ParametricPlot[{t-Sin,1-Cos},{t,0,2*Pi},
AspectRatio->Automatic]
五 极坐标图形
执行算例
r:=(3Cos^2-1)/2
ParametricPlot[{r Cos,r Sin},{t,0,2Pi}, AspectRatio->Automatic]
r:=2(1-Cos)
ParametricPlot[{r Cos,r Sin},{t,0,2Pi},
AspectRatio->Automatic]
r:=2Sin
ParametricPlot[{r Cos,r Sin},{t,0,2Pi},
AspectRatio->Automatic]
r:=Cos
ParametricPlot[{r Cos,r Sin},{t,0,2Pi},
AspectRatio->Automatic]
r:=0.5*t
ParametricPlot[{r Cos,r Sin},{t,0,2Pi},
AspectRatio->Automatic]
r:=Exp
ParametricPlot[{r Cos,r Sin},{t,0,2Pi},
AspectRatio->Automatic]
r:=Cos
ParametricPlot[{r Cos,r Sin},{t,0,2Pi},
AspectRatio->Automatic]
六 动画制作
<<Graphics\Animatio.m 调入动画制作软件包
Animate[图形,{自变量,下限,上限}],{参变量,下限,上限,步长}]
执行算例
<<Graphics\Animatio.m
Animate,{x,0,10Pi}],{t,0,5/3,1/3}]
Table
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表示
13 ClipFill:作出的图形中被切掉的那些部分用什么方法填充
14 Axes:说明是否画坐标轴以及把坐标轴中心放在什么地方
15 Ticks:规定坐标轴上刻度的位置

执行算例
1 默认情形
Plot3D
2 适当选取X,Y,Z轴的比例关系
Plot3D
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,v Cos,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],{x,-10,10},{y,-10,10},
PlotPoints->25,Lighting->True,
ViewPoint->{1,1,2}]
Plot3D],{x,-10,10},{y,-10,10},
PlotPoints->25,Lighting->True,
ViewPoint->{0,0,1}]
Plot3D],{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
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.m
Animate[ParametricPlot3D[{u,u^2,t},{u,-1,1},{t,0,1},
PlotPoints->25,Lighting->True,
ViewPoint->{Cos,Sin,1}],
{t,0,1,1/6}]
波纹面动画演示
注意:此演示需要较大内存,耐心等待。
<<Graphics\Animatio.m
u:=Sum[(32*(1+Cos)*(1-Cos)*Sin*Sin*Cos*Pi*t])/(m^2*n^2*Pi^2),
{m,1,4},{n,1,4}]
Animate,{x,0,1},{y,0,1},PlotRange->{-8,8}],{t,0,1.75,0.25}]
10 等值线图和密度图
例1 逢山开路问题
要在一山区修建公路,首先测得一些地点的高程,数据见下表 *)
A={{370,470,550,600,670,690,670,620,580,450,400,300,100,150,250},
{510,620,730,800,850,870,850,780,720,650,500,200,300,350,320},
{650,760,880,970,1020,1050,1020,830,800,700,300,500,550,480,350},
{740,880,1080,1130,1250,1280,1230,1040,900,500,700,780,750,650,550},
{830,980,1180,1320,1450,1420,1400,1300,700,900,850,840,380,780,750},
{880,1060,1230,1390,1500,1500,1400,900,1100,1060,950,870,900,930,950},
{910,1090,1270,1500,1200,1100,1350,1450,1200,1150,1010,880,1000,1050,1100},
{950,1190,1370,1500,1200,1100,1550,1600,1550,1380,1070,900,1050,1150,1200},
{1430,1450,1460,1500,1550,1600,1550,1600,1600,1600,1550,1500,1500,1550,1550},
{1420,1430,1450,1480,1500,1550,1510,1430,1300,1200,980,850,750,550,500},
{1380,1410,1430,1450,1470,1320,1280,1200,1080,940,780,620,460,370,350},
{1370,1390,1410,1430,1440,1140,1110,1050,950,820,690,540,380,300,210},
{1350,1370,1390,1400,1410,960,940,880,800,690,570,430,290,210,150}};
(*下面作三维地形图*)
ListPlot3D
(*增加一些可选项*)
ListPlot3D
(*下面作等值线图*)
ListContourPlot
(*下面作密度图*)
ListDensityPlot
例2 二元函数的等值线图和密度图
Plot3D,{x,0,Pi},{y,0,Pi}]
ContourPlot,{x,0,Pi},{y,0,Pi}]
DensityPlot,{x,0,2Pi},{y,0,2Pi}]
MATHEMATICA讲座第四讲

方程求解

一. 代数方程求解
Solve==0,x] (*一个方程求解*)
Solve[{f1==0,f2==0},{x,y}]
N[%]给出数值解
执行算例
Solve
N[%]
执行算例
Solve[{x-2y==0,x^2-y==1},{x,y}] (*方程组求解*)
执行算例
Solve
(*请注意,能够求出公式解的情况是很少的,比如五次以上的代数
方程就已经没有公式解了。*)
执行算例
Solve
N[%]

二.求超越方程的近似解
FindRoot==0,{x,x0}] 求方程f(x)=0在x0附近的根
执行算例
f=SinExp-Cos
FindRoot
MATHEMATICA讲座第五讲

微积分运算

一. 极限
Limit[函数表达式,x->x0]
执行算例
Plot/x,{x,-10,10}]
Limit/x,x->0]
执行算例
Plot-x,{x,0,100}]
Limit-x,x->Infinity]//N
有的时侯Mathematica会求不出极限
Limit[(1+1/x)^x,x->infinity]
如果改写成下面的形式,则可以求出极限值
Limit[(1+x)^(1/x),x->0]
用下面的方式计算的更快
Exp,x->0]]

二. 微分
D,x]
D,y]
D,{x,n}]
执行算例
D
D*Exp,y]
FindMinimum,{x,x0}](*求函数的极值*)
执行算例
L:=Exp[-x^2/2]
FindMinimum[-L,{x,0}]

三.不定积分与定积分
Integrate,x] 求不定积分
Integrate,{x,a,b}] 求定积分
NIntegrate,{x,a,b}] 求数值积分
Simplity] 将表达式化简
执行算例
Integrate,x]
执行算例
Integrate,{x,-1,1}]
执行算例
Integrate[(x+1)/(x^2+3x+5),x]
D[%,x](*验证之*)
Simplify[%]
执行算例
NIntegrate,{x,-1,1}]
Plot/x,{x,-2Pi,2Pi}]
NIntegrate/x,{x,0.000001,Pi}]

四.幂级数展开
Series,{x,x0,n}] 将函数f(x)在x0点展开n阶
Normal[%] 去掉幂级数的余项尔后可以求值或画图形
执行算例
S=Series,{x,0,10}]
S1=Normal
a1=Plot,{x,0,2Pi},PlotStyle->RGBColor ]
a2=Plot]
Show

多情清秋 发表于 2006-5-10 14:25

三贴加威望2点

多情清秋
06.5.10

yutao-dl 发表于 2006-5-21 18:42

看来这个也不好拿呀!要努力才行!

yutao-dl 发表于 2006-5-21 18:43

看来这个也不好拿呀!要努力才行!

yutao-dl 发表于 2006-5-21 18:44

http://forum.vibunion.com/thread-11952-1-1.html
众人拾柴火焰高

yangjlyang 发表于 2006-5-22 17:34

是要努力才行!

horizon 发表于 2006-5-23 15:55

要是能下载下来看就好了

frank2004 发表于 2006-6-21 15:50

我还以为是视频呢

czqlxy 发表于 2006-6-24 21:41

有没有视频的
页: [1]
查看完整版本: MATHEMATICA讲座(1) ----徐安农教授