⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mathematica讲座 ----徐安农教授 .txt

📁 Matlab在化学工程中的应用
💻 TXT
📖 第 1 页 / 共 3 页
字号:
Mathematica
Mathematica
 
http://www.quzhi.net/chinese/mathe/mathematica/mathematica_index.htm
 
http://www.quzhi.net/chinese/mathe/mathematica/study/study.htm
 
mathlab
 
lindo;lingo
 
------------------------
MATHEMATICA讲座 ----徐安农教授 
Posted on 2005-08-20 07:53 darcyxp 阅读(405) 评论(4)  收藏 
MATHEMATICA讲座第一讲 
1 数的运算  
算例  
378/123  
N[378/123,6] (*取小数点后6位的近似值*)  
Pi^2  
E^(-1)  
100!  
N[Pi,100]  
N[I^(-I)]  
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[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-6  
p2=(x-1)*(x-2)*(x-3)  
Factor[p1]  
Expand[p2]  

 
MATHEMATICA讲座第二讲  
一元函数的图形  
一 命令语句  
Plot[表达式,{变量,下限,上限},可选项]  
Plot[{表达式,表达式,...},{变量,下限,上限},可选项] 
二 可选参数项  
第一类参数  
1. PlotRange->{y1,y2} 指定作图纵座标范围为(y1,y2)  
默认值为Atuomatic或指定 All  
执行算例  
Plot[Tan[x],{x,-2Pi,2Pi}]  
Plot[Tan[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纵轴为y  
AxesLabel->{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[Tan[x]]-Tan[Sin[x]]},{x,1,2},  
DisplayFunction->Identity]  
Plot[{Sin[Tan[x]]-Tan[Sin[x]]},{x,-2,2}]  
2. PlotPoints->50 指定计算函数值的取点数为 50  
执行算例  
Plot[{Sin[Tan[x]]-Tan[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[(Tan[Sin[x]]-Sin[Tan[x]])/x^2,{x,-5,5}]  
Plot[{E^x,ArcTan[x],E^ArcTan[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)/2  
ParametricPlot[{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*t  
ParametricPlot[{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]  
六 动画制作  
<<Graphics\Animatio.m 调入动画制作软件包  
Animate[图形,{自变量,下限,上限}],{参变量,下限,上限,步长}]  
执行算例  
<<Graphics\Animatio.m  
Animate[Plot[Sin[x+t*Pi],{x,0,10Pi}],{t,0,5/3,1/3}]  
Table[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.m  
Animate[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}]  
波纹面动画演示  
注意:此演示需要较大内存,耐心等待。  
<<Graphics\Animatio.m  
u[x_,y_,t_]:=Sum[(32*(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}]  
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[A/400]  
(*增加一些可选项*)  
ListPlot3D[A/400,HiddenSurface->False,Boxed->False]  
(*下面作等值线图*)  
ListContourPlot[A/400]  
(*下面作密度图*)  
ListDensityPlot[A/400]  
例2 二元函数的等值线图和密度图  
Plot3D[Sin[x^2+y^2],{x,0,Pi},{y,0,Pi}]  
ContourPlot[Sin[x^2+y^2],{x,0,Pi},{y,0,Pi}]  
DensityPlot[Sin[x^2+y^2],{x,0,2Pi},{y,0,2Pi}]  
MATHEMATICA讲座第四讲  
  
方程求解  
  
一. 代数方程求解  
Solve[f[x]==0,x] (*一个方程求解*)  
Solve[{f1[x,y]==0,f2[x,y]==0},{x,y}]  
N[%]给出数值解 
执行算例  
Solve[x^4-x^3-6x^2+1==0,x]  
N[%]  
执行算例  
Solve[{x-2y==0,x^2-y==1},{x,y}] (*方程组求解*)  
执行算例  
Solve[a*x^2+b*x+c==0,x]  
(*请注意,能够求出公式解的情况是很少的,比如五次以上的代数  
方程就已经没有公式解了。*)  
执行算例  
Solve[x^5+5x^3-3==0,x]  
N[%]  
  
二.求超越方程的近似解  
FindRoot[f[x]==0,{x,x0}] 求方程f(x)=0在x0附近的根  
执行算例  
f=Sin[x]Exp[2x]-Cos[x]  
FindRoot[f==0,{x,0.5}]  
MATHEMATICA讲座第五讲  
  
微积分运算  
  
一. 极限  
Limit[函数表达式,x->x0]  
执行算例  
Plot[Sin[x]/x,{x,-10,10}]  
Limit[Sin[x]/x,x->0]  
执行算例  
Plot[Sqrt[x^2+3x]-x,{x,0,100}]  
Limit[Sqrt[x^2+3x]-x,x->Infinity]//N  
有的时侯Mathematica会求不出极限  
Limit[(1+1/x)^x,x->infinity]  
如果改写成下面的形式,则可以求出极限值  
Limit[(1+x)^(1/x),x->0]  
用下面的方式计算的更快  
Exp[Limit[(1/x)Log[1+x],x->0]] 
  
二. 微分  
D[f[x],x]  
D[f[x,y],y]  
D[f[x],{x,n}]  
执行算例  
D[x^3+3x^2-5x+1,x]  
D[Sin[x]*Exp[x y],y]  
FindMinimum[f[x],{x,x0}](*求函数的极值*)  
执行算例  
L[x_]:=Exp[-x^2/2]  
FindMinimum[-L[x],{x,0}]  
  
三.不定积分与定积分  
Integrate[f[x],x] 求不定积分  
Integrate[f[x],{x,a,b}] 求定积分  
NIntegrate[f[x],{x,a,b}] 求数值积分  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -