Mathematic入门教程整理版.docx

上传人:b****1 文档编号:14353902 上传时间:2023-06-22 格式:DOCX 页数:35 大小:35.21KB
下载 相关 举报
Mathematic入门教程整理版.docx_第1页
第1页 / 共35页
Mathematic入门教程整理版.docx_第2页
第2页 / 共35页
Mathematic入门教程整理版.docx_第3页
第3页 / 共35页
Mathematic入门教程整理版.docx_第4页
第4页 / 共35页
Mathematic入门教程整理版.docx_第5页
第5页 / 共35页
Mathematic入门教程整理版.docx_第6页
第6页 / 共35页
Mathematic入门教程整理版.docx_第7页
第7页 / 共35页
Mathematic入门教程整理版.docx_第8页
第8页 / 共35页
Mathematic入门教程整理版.docx_第9页
第9页 / 共35页
Mathematic入门教程整理版.docx_第10页
第10页 / 共35页
Mathematic入门教程整理版.docx_第11页
第11页 / 共35页
Mathematic入门教程整理版.docx_第12页
第12页 / 共35页
Mathematic入门教程整理版.docx_第13页
第13页 / 共35页
Mathematic入门教程整理版.docx_第14页
第14页 / 共35页
Mathematic入门教程整理版.docx_第15页
第15页 / 共35页
Mathematic入门教程整理版.docx_第16页
第16页 / 共35页
Mathematic入门教程整理版.docx_第17页
第17页 / 共35页
Mathematic入门教程整理版.docx_第18页
第18页 / 共35页
Mathematic入门教程整理版.docx_第19页
第19页 / 共35页
Mathematic入门教程整理版.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Mathematic入门教程整理版.docx

《Mathematic入门教程整理版.docx》由会员分享,可在线阅读,更多相关《Mathematic入门教程整理版.docx(35页珍藏版)》请在冰点文库上搜索。

Mathematic入门教程整理版.docx

Mathematic入门教程整理版

(1)简介

数学系给本科生开设一门课:

"符号计算系统",主要简单讲授mathematica(以下简称math)软件的使用及其编程,赶兴趣的同学可以找本math书以求更深入的了解.

我们平日用到编程语言时,大家都知道编程中用到的整型,实型,甚至双精度数,都只是一个近似的数,其精度有限,有效数字有限,在很多时候达不到实际需要的要求.符号计算与数值计算的区别就在于符号计算以准确值记录计算的每一步的结果,如果需要时,可以将精确表示按需要计算成任意位数的小数表示出来(只要机器内存足够大).

最常见的符号计算系统有maple,mathematica,redues等,这些软件各有侧重,比如,maple内存管理及速度比math好,但是图形方面不如math;redues没找到,没用过,未明;而用得较多的matlab编程环境特好,和C语言接口极其简单,遗憾的是它不是符号计算,只是数值计算.所以,就实用而全面来说,math是一个很好用的软件.

math软件不仅能够进行一般的+-*/及科学函数如Sin,Log等计算,而且能进行因式分解,求导,积分,幂级数展开,求特征值等符号计算,并且,math有较强的图元作图,函数作图,三维作图及动画功能.

(2)mathematica入门

mathematica自发布以来,目前比较常见的有math1.2forDOS,math2.2forWindows,math3.0forwin95,math3.0forUNIX.

DOS下的math的好处就是系统小,对机器要求低,在386机器4M内存下就能运行得很好(机器再低点也是可以用的,比如说286/2M).在DOS下直接键入math<回车>即可进入math系统,出现的提示符In[1]:

=,这时就可以进行计算了,键入math函数,回车即可进行运算.如果输入的Quit,则退出math.这里要注意的是,math区分大小写的,一般math的函数均以大写字母开始的.

windows下的math对机器要求就要高一些了,math3.0更是庞大,安装完毕有100M之多(2.2大约十多兆).同windows下的其他软件一样,math可以双击图标运行,在File菜单下有退出这一项.windows下的math有其优越性,就是可以在windows下随心所欲地拷贝粘贴图形.math3.0更是能输入和显示诸如希腊字母,积分符号,指数等数学符号.DOS的math与windows下的一个区别是DOS的以回车结束一句输入,而windows的以+<回车>结束一句输入.DOS下的提示符显示为In[数字]:

=,而windows下在结束输入后才显示出In[数字]:

=及Out[数字]:

=字样.(Out为输出提示符)下面试试几个例子:

(In[数字]:

=为提示符,不用键入)

In[1]:

=2^100计算2的100次方

In[2]:

=s={{3,7,9},{7,4,3},{1,3,8}}定义矩阵s

In[3]:

=Eigenvalues[s]计算s的特征值

In[4]:

=Plot[Sin[x],{x,0,Pi}]在0,Pi间画Sin

In[5]:

=Plot[Cos[x],{x,0,Pi}]Cos

In[6]:

=Plot3D[Sin[x]Sin[y],{x,0,1},{y,0,2}]三维作图

以In[6]为例说明:

math的函数都以大写字母开头的单词为函数名,Plot3D,Plot,Eigenvalues,Sin等,常数也是如此,如Pi.函数名后的参数用[]括起,逗号隔开.

math的输出可以作为函数的输入对象,你可以再试一个:

In[7]:

=Show[%%,%%%]这里一个%代表上一个输出,两个代表上两个...也可以直接用Out[n]代表第n个输出.

这里需要补充的是

!

command执行DOS命令

?

name关于name(函数等)的信息(可以使用通配符)

?

?

name关于name的额外信息

(3)基本计算

1.算术运算符

+加-减*乘/除^指数(乘也可用空格)

N[expr]或expr//N计算expr的数值(6位有效数字)

N[expr,n]n表示小数的位数

2.数学函数

Sqrt[x]x开方

Exp[x]e的x方

Log[x]x的自然对数

Log[b,x]以b为底,x的对数

Sin[x],Cos[x],Tan[x],ArcSin[x],ArcCos[x]三角函数

Abs[x]|x|

Round[x]离x最近的整数

Floor[x]不超过x的最大整数

Quotient[n,m]n/m的整数部分

Mod[n,m]n/m的余数

Random[]0,1间随机数

Max[x,y,...]Min[x,y,...]最大数和最小数

3.常数

PiPi=3.141592653589793...

Ee=2.71828...

DegreePi/180

Ii=Sqrt[-1]

Infinity无穷大

CatalanCatalan常数.=0.915966

ComplexInfinity复无穷

DirectedInfinity有向的无穷

EulerGamma欧拉常数gamma=0.5772216

GoldenRatio黄金分割(Sqrt[5]-1)/2

Indeterminate不定值

4.逻辑运算符

==,!

=,>,>=,<,<=,!

&&,||

Xor异或

Implies隐含

If[条件,式1,式2]如果条件成立,值式1;否则得式2

5.变量

a)变量名以字母(一般小写)开头;字母数字组成.

(如x2为变量名;而2x,2*x,2x,x*2,x2均是x乘以2).

b)赋值

x=value;x=y=value;x=.(清除x值)

c)代换

expr/.x->value将式中x代换为value

expr/.{x->xval,y->yval}

下面就让我们以几个例子来结束本节:

(大家还是注意,DOS下的Math,只要输入In[num]:

=后的指令后按回车,而windows下则是按+回车.)大家看看都有什么输出.

In[1]:

=2.7+5.23

In[2]:

=1/3+2/7

In[3]:

=1/3+2/7//N

In[4]:

=N[Pi,100]

曾经有人问我,你是怎么算出Pi的1000位而没有错误的,其实很简单,大家只要把上式的100改为1000即可.

In[5]:

=Sin[Pi/2]+Exp[2]+Round[1.2]

In[6]:

=10<7

In[7]:

=x=5;

如果在输入之后加上一个";",则只运算不输出.

IN[8]:

=y=0

(所以In[7]和8完全可以合成一条x=5;y=0,假如我不需要x=5的输出)

In[9]:

=x>y

In[10]:

=t=1+m^2

In[11]:

=t/.m->2

In[12]:

=t/.m->5a

In[13]:

=t/.m->Pi//N

(4)代数变换

上一节我们已经学习了Math里的基本运算及逻辑运算,常用数学函数,几个常见的常数,以及变量的使用.这一节,我们来学学基本代数变换:

Apart,Cancel,Coefficient,Collect,Denominator,Expand,ExpandAll,Exponent,Factor,Numerator,Short,Simplify,Together.

Expand[expr]多项式expr按项展开

Factor[expr]因子形式

Simplify[expr]最简形式

In[1]:

=Expand[(1+x)^2]

In[2]:

=Factor[%]

我们以前说过的哦,%是上一个输出,%%是上上个,%%%是上上上个,...,%n是第n个输出(即Out[n])

In[3]:

=Simplify[%%]

In[4]:

=Integrate[x^2/(x^4-1),x]这是积分运算,详情后叙

In[5]:

=D[%,x]求导

In[6]:

=Simplify[%]

ExpandAll[expr]所有项均展开

Together[expr]通分

Apart[expr]分离成具有最简分母的各项

Cancel[expr]约去分子,分母的公因子

Collect[expr]合并

In[1]:

=e=(x-1)^2(2+x)/((1+x)(x-3)^2)

In[2]:

=Expand[e]

In[3]:

=ExpandAll[e]

In[4]:

=Together[e]

In[5]:

=Apart[%]

In[6]:

=Factor[%]

Coefficient[expr,form]表达式中form项的系数

Exponent[expr,form]form的最高幂次

Numerator[expr]取分子

Denominator[expr]取分母

expr//Short以简短形式输出

In[1]:

=e=Expand[(1+3x+4y^2)^2]

In[2]:

=Coefficient[e,x]

In[3]:

=Exponent[e,y]

In[4]:

=q=(1+x)/(2(2-y))

In[5]:

=Denominator[%]

In[6]:

=Expand[(x+5y+10)^4]

In[7]:

=%//Short把上式输出,中间项省去,以<<数字>>表示

省去的项数.

最后,我们以例子来看看用符号名做客体的标志的好处

In[1]:

=12meters

In[2]:

=%+5.3meters

In[3]:

=%/(25seconds)

In[4]:

=%/.meters->3.78084feet一下子就把米制变为英尺了.

(5)微积分运算(2-1)

学到上一节,大家会发现怎么还停留在中学的计算中呢,这一节,大家就会看到微分D,Dt;积分Integrate,NIntegrage;和与积Sum,Product,NSum,NProduct.下一节我们介绍解方程Solve,Eliminate,Reduce,NRoot,FindRoot,FindMinimum;幂级数Series,Normal;极限Limit;特殊函数Fourier,InverseFourier,...

微分

D[f,x]f对x求导

D[f,x_1,x_2,...]f对x_1,x_2,...求导

D[f,{x,n}]f对x求n次导

Dt[f]全微分df

Dt[f,x]全微商df/dx

In[1]:

=D[x^n,x]

In[2]:

=D[f[x],x]

In[3]:

=D[2xf[x^2],x]

In[4]:

=D[x^n,{x,3}]

In[5]:

=D[x^2y^3,x,y]

In[6]:

=Dt[x^n]

In[7]:

=Dt[xy,x]

积分

Integrate[f,x]f对x积分

Integrate[f,{x,xmin,xmax},{y,ymin,ymax},...]定积分

NIntegrate[f,{x,xmin,xmax},{y,ymin,ymax},...]

计算积分的数值解

In[1]:

=Integrate[Sin[Sin[x]],x]嘻嘻,无法计算,原样输出

In[2]:

=Integrate[Log[x],{x,0,6}]啊,广义积分也一样算

In[3]:

=Integrate[x^2+y^2,{x,0,1},{y,0,1}]

In[4]:

=In[3]//N如果你的上一条输入不是In[3],注意

调整这一条的输入哦

In[5]:

=Integrate[Sin[Sin[x]],{x,0,1}]怎么还没法计算啊

In[6]:

=N[%]或

NIntegrate[Sin[Sin[x]],{x,0,1}]呵,终于可以计算了.

和与积

Sum[f,{i,imin,imax},{j,jmin,jmax},...]

f对i,j,...分别从imin到imax,jmin到jmax,...求和

Sum[f,{i,imin,imax,di}]求和的步长为di

Product[f,{i,imin,imax},{j,jmin,jmax},...]求积

NSum数值解

NProduct数值解

In[1]:

=Sum[x^i/i,{i,1,4}]

In[2]:

=Sum[x^i/i,{i,1,5,2}]

In[3]:

=Sum[a/i^3,{i,1,10}]

In[4]:

=N[%]或NSum[a/i^3,{i,1,10}]

In[5]:

=Sum[1/i^3,{i,1,Infinity}]可能原样输出,也可能输出Zeta[3]

(依math的版本不同而异)

In[6]:

=N[%]

In[7]:

=Sum[x^i*y^j,{i,1,3},{j,1,i}]

注:

如果想要求带符号上下限的Sum,在math3.0中,直接使用Sum函数即可:

In[8]:

=Sum[1/Sin[i],{i,1,n}]

而如果在旧版本的math,则可能需要调入包(package)"gospersu.m",调入

格式一般为

In[8]:

=<<"盘符:

\\math路径\\packages\\algebra\\gospersu.m"

(不同安装目录可能出现不一样)

然后使用函数GosperSum[]

(6)微积分运算(2-2)

上一节,我们一起学习了微分D,Dt;积分Integrate,NIntegrage;

和与积Sum,Product,NSum,NProduct.这一节我们将介绍解方程Solve,

Eliminate,Reduce,NRoot,FindRoot,FindMinimum;幂级数Series,

Normal;极限Limit;特殊函数Fourier,InverseFourier,...

最后,我们说明一下math的函数的定义,别名的使用,以及不同输出格式

解方程

Solve[{lhs1==rhs1,lhs2==rhs2,...},{x,y,...}]

解关于x,y,...的方程组{lhs1==rhs1,lhs2==rhs2,...}

Eliminate[{lhs1==rhs1,lhs2==rhs2,...},{x,y,...}]

在联立方程中消去x,y,...

Reduce[{lhs1==rhs1,lhs2==rhs2,...},{x,y,...}]

给出一组化简后的方程,包括可能的解

NRoot[poly==0,x]给出多项式的根的数值逼近

FindRoot[lhs==rhs,{x,x0}]从x0出发,求方程的数值解

FindMinimum[f,{x,x0}]在x0附近找f的极小值

In[1]:

=Solve[x^2+2x-7==0,x]

In[2]:

=Solve[2-4x+x^5==0,x]呵呵~~~输出结果你会发现和没解一样

In[3]:

=N[%]啊,要数值解啊,不早说.这不是么.

In[4]:

=Solve[{a*x+y==0,2x+(1-a)y==1},{x,a}]

In[5]:

=Eliminate[{3x+2y+z==3,2x-2y-2z==5,x+y-7z==9},{x,z}]

In[6]:

=Reduce[a*x+b==0,x]哇,好COOL.a==0,怎么怎么;a!

=0,...

In[7]:

=FindRoot[Cos[x]==x,{x,1}]

In[8]:

=FindMinimum[xSin[x],{x,2Pi}]

幂级数

Series[expr,{x,x0,n}]求expr在x0的n阶幂级数

Normal[series]按标准形式

In[1]:

=Series[(1+x)^n,{x,0,3}]最后还有近似量级呢(大喔O[x]^4)

In[2]:

=Normal[%]

In[3]:

=%^2(1+%)把大喔量级不要了,多项式当然可以这么运算

极限

Limit[expr,x->x0]expr中x趋于x0

In[1]:

=t=Sin[x]/x

In[2]:

=t/.x->0错了吧.0不能当分母的

In[3]:

=Limit[t,x->0]求极限总可以了吧

特殊函数

Fourier[]傅利叶变换

InverseFourier[]反傅利叶变换

In[1]:

={1,1,1,1,-1,-1,-1,-1}

In[2]:

=Fourier[%]

In[3]:

=InverseFourier[%]

RungeKutta[],...等函数

定义函数如下

In[1]:

=f[x_]:

=x^2+1math中定义函数:

变量后跟_,然后用:

=

In[2]:

=f[x_,y_]:

=x+y以上两个定义同时存在并不矛盾,当f仅使用一个参数,自动用一式;为两个参数,则用二式

In[3]:

=f[3]

In[4]:

=f[3,2]

定义别名

In[1]:

=para:

=ParametricPlot用:

=来定义别名

In[2]:

=para[{Cos[t],t},{t,0,Pi}]

In[3]:

=Alas[para]查看para是什么的别名

(7)矩阵/表的运算

矩阵的定义Table,Array,IdentityMatrix,DiagonalMatrix;输出输入TalbeForm,ColumnForm,MatrixForm,list(其他输出TeXForm,FortranForm,CForm);及运算:

数乘,矩阵乘法,Inverse,Transpose,Det,MatrixPower,Eigenvalues,Eigenvectors,矩阵定义使用的一点说明.

矩阵的定义

Table[f,{imax}]包含imax个f的元素(f是规则)

Table[f,{i,imin,imax,istep},{j,...},...]

istep=1可省,imin=1也等于1可再省

Array[a,n]建立向量a[1],a[2],...,a[n]

Array[a,{m,n}]建mxn矩阵a

Array[a,{m1,m2,...,mn}]n维张量

IdentityMatrix[n]生成n维单位矩阵

DiagonalMatrix[list]list元素为对角元

In[1]:

=Table[x,{4}]

In[2]:

=Table[i^2,{i,1,4}]

In[3]:

=x^%-1看看表在运算符作用后的结果

In[4]:

=D[%,x]求导也可以

In[5]:

=%/.x->3代入值看看

In[6]:

=Array[a,{3,2}]看个2维的(3x2)矩阵

In[7]:

=DiagonalMatrix[{1,2,3}]生成对角元是1,2,3的方阵

矩阵的输出/输入

TableForm[list]以表列格式显示一个表

ColumnForm[list]写成一列

MatrixForm[list]按矩阵形式

list[[i]]第i个元素(一维);第i行元素(二维)

list[[i,j]]list的第i行,第j列元素.

In[1]:

=a=Table[i+2*j,{i,1,3},{j,1,2}]

In[2]:

=TableForm[%]看看表格式

In[3]:

=ColumnForm[%%]写成一列

In[4]:

=MatrixForm[%%%}再看看矩阵形式

In[5]:

=%[[2]]把上面的矩阵的第二行(是一维的表了哦)去来

In[6]:

=%%[[2,1]]取第二行第一列元素(是一个数)

注:

In[5],In[6]也可用a[[2]]和a[[2,1]]的典型写法.

其他输出格式TeXForm,FortranForm,CForm

TeX(数学排版)格式,Fortran语言,C语言格式输出

In[1]:

=(Sqrt[x^3-1]+Exp[y])/Log[x]

In[2]:

=TeXForm[%]注意TeX中T和X是大写,e是小写

In[3]:

=CForm[%]

矩阵的数学运算

cm数乘(c标量,m是Table或Array定义的矩阵)

a.b矩阵相乘(注意矩阵乘法的规则)

Inverse[m]逆矩阵(当然要对方阵来说了)

Transpose[m]转置

Det[m]m(方阵)的行列式

MatrixPower[m,n]m(方阵)的n次幂

Eigenvalues[m]m(方阵)的特征值

Eigenvectors[m]m(方阵)的特征向量

Eigenvalues[N[m]],Eigenvectors[N[m]]数值解

In[1]:

=a=Table[i+2*j,{i,1,3},{j,1,2}]

In[2]:

=5a看看乘积

In[3]:

=b=Table[3*i-2^j,{i,1,3},{j,1,3}]

In[4]:

=b.a矩阵乘法(注意,此例a.b没有意义)

In[4]:

=Transpose[%]转置

In[5]:

=Inverse[b]求一下矩阵的逆(天哪,是方阵还不行,还要行列式不为0)

In[6]:

=Det[b]果然行列式为0

In[7]:

=c=b+{{1,0,0},{0,0,0},{0,0,0}}

In[8]:

=Inverse[c]终于可以求逆了

In[9]

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2