Mathematica数学软件Word下载.docx
《Mathematica数学软件Word下载.docx》由会员分享,可在线阅读,更多相关《Mathematica数学软件Word下载.docx(25页珍藏版)》请在冰点文库上搜索。
不带小数点的运算,最后能得到精确值
例输入:
4/10输出:
含浮点数的运算,最后以小数形式给出
例计算
的值。
输入:
-2^2*(3*(5/9)^0)^-1*(81^-0.0。
25+(3+3/8)^(1/3))^(1/2)
五数的近似值
N[a]表示求数a的近似值,有效位取6位或a//N
例如输入:
N[1/3]输出:
0.333333
N[(1/2)^2+5/6*7+9]
N[a,n]表示求数a的近似值,有效位取n位
N[4/3,8]输出:
1.3333333
六代数式与代数运算
赋值与代入
例如x=2则2赋给了x。
清除变量x=.或Clear[x],一次清除多个变量Clear[x,y,z…]
expr/.x->
a表示表达式expr中的x全换成a的结果,代入不改变原表达式,只给出了表达式将x代换为a的结果
x^2+3x-10/.x->
2
输出:
0
x^2+3x-10
七代数式的几个操作函数
多项式的展开与因式分解
展开Expand[expr]
分解Factor[expr]
例如输入:
Expand[(x+1)^2]
x^2+2x+1
输入:
Factor[x^2+2x+1]
输出:
(x+1)^2
多项式化简
Simplify[p]给出多项式p的最短,最简单的形式
Simplify[1+x^2-2x^2]
1-x^2
八关于解方程
1》Solve[方程,未知数]Reduce[方程,未知数]都能求出其精确解。
例1输入:
Solve[x^2-2x-3==0,x]输出:
{{x->
3},{x->
-1}}
Reduce[x^2-2x-3==0,x]输出:
x==3||x==-1
例2输入:
Reduce[a*x+b==0,x]
a!
=0&
&
x=-
||a==0&
b==0
Reduce与Solve的差别就在于Reduce能求解带参数的方程。
2》有些方程无法求出精确解,则可用Nsolve[]或FindRoot[fh1==fh2,{x,x0}]
Nsolve[2-4x+x^5==0,x]
或输入:
FindRoot[2-4x+x^5==0,{x,1}]
程组的解
Solve[{fh1==fh2,fh3==fh4,…},{x,y,…}]
FinfRoot[{fh1==fh2,fh3==fh4,…},{x,x0},{y,y0}…]
方程的消元
Eliminate[{f[x,y,z]==0,g[x,y,z]==0},x]
例
消y
Eliminate[{x+y==1,x-y==2},y]
九数列求和
Sum[an,{n,nmin,nmax,di}]
求通项an从nmin到nmax每隔di取一数时所得各项的和
NSum[an,{n,nmin,nmax,di}]
求通项an从nmin到nmax每隔di取一数时所得各项的近似和
例求
Sum[1/n,{n,2,100,2}]
十变量与函数
变量名
变量用任意多字母表示,其中不能带有空格,标点符号,运算符,且数字
不能放在最前面
系统内部常用的数学函数
1)幂函数求平方Sqrt[x]或x^(1/2)
以e为底的指数函数Exp[x]或E^x
2)对数函数以a为底的对数函数Log[a,x]
以e为底的对数函数Log[x]
3)三角函数Sin[x]Cos[x]
Tan[x]Cot[x]
Sec[x]Csc[x]
4)反三角函数ArcSin[x]ArcCos[x]
ArcTan[x]ArcCot[x]
ArcSec[x]ArcCsc[x]
5)关于整数求m除以n所得余数Mod[m,n]
求所有整数n1,n2,….的最大公约数GCD[n1,n2,…]
求所有整数n1,n2,…的最大公倍数LCM[n1,n2,…]
十一自定义函数
两种方式1)延时定义f[x_]:
=expr
2)立即定义f[x_]=expr说明:
此定义在定义的同时进行等号右边的计算
清除f[x]的定义Clear[f]
例定义
,并求f(3)。
f[x_]:
=x^3+1;
f[3]
28
Mathematica的绘图
1.1.
一元函数的图形
基本命令Plot[f[x],{x,xmin,xmax}]
这一命令用来画出函数f(x)当自变量x在下限xmin与上限xmax之间的变化时的图行。
例:
画Sin(x)再区间[-2л,-2л]的图形。
输入Plot[Sin[x],{x,-2Pi,2Pi}]
输出:
Plot[f[x],{x,xmin,xmax},option]Option:
供选择的参数。
例AxesLael:
说明要画的图的坐标轴标记
Plot[Sin[x],{x,-2Pi,2Pi},AxesLabel->
{time,temp}]
还可在一个图中画出多个函数的图行
Plot[{Sin[x],Cos[x],Tan[x]},{x,-2Pi,2Pi}]则在同一坐标轴中输出sin(x),
cos(x),tan(x)在[-2Pi,2Pi]的图像
2.平面曲线的参数方程做图
若平面曲线的参数方程为:
(t1≤t≤t2)
则用命令ParametricPlot[{x[t],y[t]},{t,t1,t2}]
图中绘出的横轴为x。
纵轴为y。
例:
(0≤t≤2л)
命令为:
ParametriPlot[{Sin[t]^3,Cos[t]^3},{t,0,2Pi}]
其图形为:
同样可在一个图中画多个参数方程的图:
ParametricPlot[{{x1[t],y1[t]},{x2[t],y2[t]},….},{t,t1,t2}]。
3.数据点做图
命令:
ListPlot[数据表]或ListPlot[数据表,PlotJoined->
True]
X
0.5
1
1.5
2
y
1.2
2.4
例如:
有如下数据表
命令为:
data1={{0,0},{0.5,0.5},{1,1.2},{1.5,2},{2,2.4}};
ListPlot[data1]
若改为:
ListPlot[data1,PlotJoined->
4.图形重组
有时为了比较所画的图行,就需将它们显示在同一图中。
命令:
Show[图形1,图形2,……]
颜色参数PlotStyle->
{RGBColour[t1,t2,t3]}(0≤t1,t2,t3≤1)
用红色画出sin(x)的图像,并设为g1
g1=Plot[Sin[x],{x,-2Pi,2Pi},PlotStyle->
{RGBColour[1,0,0]}]
蓝色画出tan(x)的图像,并设为g2
g2=Plot[Tan[x],{x,-2Pi,2Pi},PlotStyle->
{RGBColour[0,0,1]}]
绿色画出cos(x)的图像,并设为g3
g3=Plot[Cos[x],{x,-2Pi,2Pi},PlotStyle->
{RGBColour[0,1,0]}]
最后显示在同一图形中
Show[g1,g2,g3]
(图形略)。
也可一次性直接输入:
Plot[{Sin[x],Cos[x],Tan[x]},{x,-2Pi,2Pi},PlotStyle->
{RGBColour[1,
0,0],RGBColour[0,1,0],RGBColour[0,0,1]}]
数表及其有关操作
一表的介绍:
一层表(单层表):
{1,2,3}
二层表(双层表):
{{1,2},{2,3}}
二表的生成:
1)直接生成tt={1,2,3}
2)通项生成Table[expr,{n,n1,n2,step}]n依次以步长step取n1到n2间的值。
1》输入:
Table[1/n^2,{n,1,6,2}]
{1,
,
}
2》输入:
Table[1/n^2,{n,2,3}]
{
,
}注:
步长为1,可省。
3》输入:
Table[1/n^2,{n,2}]
{1,
初值、步长为1,可省。
3)生成多层表Table[f[i,j],{i,n1,n2,step},{j,n3,n4,step}]
例:
Table[1/(i+j),{i,1,2},{j,1,2}]输出:
{{
},{
}}。
4)迭代生成NestList[函数名,初始值x,迭代次数n]
其结果为:
由n+1个元素组成:
{x,f[x],f[f[x]],….,f[f[…f[x]…]]}
NestList[]{1,sin1,sinsin1,sinsinsin1}
三表的有关操作:
1)元素的抽取
1》抽取第一个元素:
First[list]list为一表。
例如First[{1,2,3,4,5}]输出:
2》抽取最后一个元素:
Last[list]list为一表。
例如Last[{1,2,3,4,5}]输出:
5
3》抽取第n个元素:
list[[n]]list为一表。
例如{7,8,9,3,4}[[3]]输出:
3
4》当list为多层时list[[n1,n2,…]]表示取表list的位置为{n1,n2,….}
例如{{1,2},{2,3}}[[2,1]]输出:
5》取多个元素:
Take[list,整数n]注:
当n为正时表示取前n个元素,当n为负时表示取后n
个元素
例如Take[{1,2,3,4,5},4]输出:
{1,2,3,4}
Take[list,{整数m,整数n}]表示取第m个到第n个元素
例如Take[{6,7,8,9,10},{3,4}]输出:
{8,9}
2)加入元素
Prepend[list,expr]将表达式expr加在表list所有元素的前面。
例如Prepend[{1,2,3},5]输出:
{5,1,2,3}
Append[;
ist,expr]将表达式expr加在表list所有元素的后面。
例如Append[{1,2,3},5]输出:
{1,2,3,5}
Insert[list,expr,n]将表达式expr加在表list第n个位置。
例如Insert[{1,2,3},5,6]输出:
{1,2,6,3}
四表与表的合并
Join[list1,list2,…]将表与表元素按顺序连接合成的表,不删去重复的元素。
例如Join[{1,2},{2,3}]输出:
{1,2,2,3}
Union[list1,list2,…]将表合并,并删去重复的元素。
例如Union[{1,2},{2,3}]输出:
Length[list]测表的长度
例如Length[{1,2,3,4}]输出:
4
注意:
对表的操作一般不改变原表。
tt={1,2,3,4};
Append[tt,4]
{4,1,2,3,4}
若再输入tt
{1,2,3,4}
说明原表tt没有改边变
Mathematica流程
一比较算符
等于
大于
小于
小于等于
大于等于
不等于
==
>
<
!
A==B
A>
B
A<
=B
=B
A!
(1.A,B可为数,也可为表达式2.结果为真则True,假False)
二逻辑算符
与
或
非
&
||
A&
A||B
A
三条件语句
1)If语句If[条件,语句1,语句2]
如果条件成立,执行语句1,否则执行语句2。
(注:
语句2可省)
2)Which语句Whih[条件1,语句1,条件2,语句2,….]
如果条件1成立,执行语句1,条件2成立,执行语句2,……
例如1》输入:
x=2;
If[x>
3,Print[“x>
3”],Print[“x<
=3”]]
x<
=3
2》定义分段函数f(x)=
,并在区间[-2,2]画图。
f[x_]=If[x>
0,2x-1,x^2-1];
Plot[f[x],{x,-2,2}]
3》定义分段函数f(x)=
方法一输入:
f[x_]=If[x<
-1,-1,If[x>
1,1,x]];
方法二输入:
f[x_]=Which[x>
1,1,-1<
=x<
=1,x,x<
-1,-1];
Plot[f[x],{x,-2,2}]
四循环语句
1)For语句
For[i=s1,i<
=n,i=i+s2,循环体语句]
流程图见下:
例如:
For[i=1,i<
=10,i=i+2,Print[i]]
13579
2)Do语句
Do[循环体语句,{n,s1,s2,s3}]
等价于For[n=s1,n<
=s2,n=n+s3,循环体语句]
Do[Print[1/n],{n,2,10,3}]
3)While语句
While[条件语句,表达式]
例如n=0;
While[n<
3,Print[n];
n=n+1]输出:
012
注:
1》加粗部分不能省;
否则,进入死循环。
2》中间的“;
”,表示前后语句作为一个整体。
例求1+
+
+……+
当n分别为10,20,…,100时的和,并打印六位有效数字的近似值。
a=0;
For[i=1,i<
=100,i++,a=a+1/i;
If[Mod[i,10]==0,Print[a//N]]]
常用数学函数
一表
和,差,积,商
aa={1,2,3};
bb={2,3,4};
Print[“aa+bb=”,aa+bb,“,aa-bb=”,aa-bb,“,aa*bb=”,aa*bb,“,aa/bb=”,aa/bb]
aa+bb={3,5,7},aa-bb=-{-1,-1,-1},aa*bb={2,6,12},aa/bb={
},
函数运算
Sin[{1,2,3}]
{sin1,sin2,sin3}
例2例2
输入:
f[x_]=1+x^2;
aa={1,2,3}
{2,5,10}
二层表的转置
Transpose[{{1,Sin[1]},{2,Sin[2]},{3,Sin[3]}}]
{{1,2,3},{Sin[1],Sin[2],Sin[3]}}
二极限
limit[表达式,趋向过程,趋向方向]
左极限:
Limit[Sin[x],x->
0,Direction->
+1]
右极限:
-1]
例1求
左极限输入:
Limit[nSin[1/n],n->
Infinity,Direction->
右极限输入:
左极限=右极限所以,
=1
例2求
Limit[Sin[1/x],x->
0]
RealInterval[{-1,1}]
输出的结果表示函数sin(1/x)在[-1,1]之间摆动。
三求导
D[代数式,求导对象]
D[Sin[x],x]输出:
Cos[x]
例2求Sin[x+y+z^2]对z的导数
D[Sin[x+y+z^2],z]输出:
2Sin[x+y+z^2]
例3求隐函数方程的导数
f(x,y)=0,求对x的导数
equ=D[f[x,y[x]]==0,x];
Solve[equ,D[y[x],x]]
这样就能求出其导数
其中y[x]不能省,因为它表示y是x的函数,否则,它会把y看作常数。
例4求由方程
所确定的隐函数的导数
equ=D[x^2+4y[x]^2==4],x];
例5求参数方程
所确定的y=y[x]的导数
x=Cos[t];
y=Sin[t];
D[y,t]/D[x,t]
这种求导过程与数学中求导过程一样
例6显函数求偏导
求
D[x^2y^2,{x,2},{y,2}]
四求微分
求
的全微分
Dt[Sin[x^2+y^2]]
Cos[x^2+y^2][2xDt[x]+2YDt[y]]
五求定积分
Integrate[被积函数
,{自变量,下限,上限}]
例如求
Integrate[x^2,{x,0,1}]
六求不定积分
Integrate[被积函数,x]
例如
Integrate[x^2,x]
NIntegrate[被积函数,x]表示求其近似值
七求二重积分
Integrate[Integrate[x*y,{y,2x,x^2+1}],{x,0,1}]
八拟合
例把下表
x
0
2
0.2
0.1
0.5
拟合为二次多项式
shuju={{0,0.2},{2,0.1},{3,0.5},{4,3}};
Fit[shuju,{1,x,x^2},x]
九求微分方程的通解
Dsolve[方程,y,x]
例求
的通解
Dsolve[
[x]+2x*y[x]==x*E^(-x^2),y,x]
对于具有初始条件微分方程
DSolve[方程与初始条件列表,y,x]
例x
+y-
=0在初始条件y
=2e下的特解
Dsolve[{x*
[x]+y[x]-E^x==0,y[1]=2*E},y,x]
十矩阵
求A逆Inverse[A]
求A的行列式的值Det[A]
定义一个n阶单位矩阵IdentityMatrix[n]
求矩阵A的特征值,特征向量Eigensystem[A]
{特征值列表,特征向量列表}
用初等行变换