资源描述:
《数学软件选讲matlab等》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数学软件选讲MathematicaMatlabSAS第一篇Mathematica基础知识作为一门新的编程语言图形处理(二维、三维及其参数方程的形式)极限、微分与积分求解方程(组)、微分方程(组)在线形代数方面的应用数值处理文件及其它高级操作第一章基础知识一、Mathematica3.0界面及运行介绍二、基本数值运算1.整数运算:加、减、乘、除、幂、阶乘2.数学常量:E、Pi、I、Degree、Infinity3.函数及数学函数4.浮点数及复数运算:N函数三、变量及表达式1.变量的定义及清除◆变量的特点(1)变量的默认作用域是全局的(2
2、)全局变量不需事先定义或声明(3)尽量避免使用下划线定义变量2.多项式及其操作(1)定义、替换符操作(2)常用操作:Expand、Factor、Together、PartSimplify、Collect、Coefficient、Exponent四、序列及其操作1.序列的定义2.序列的生成:Table函数3.序列的操作(1)添加删除:Append、Prepend、Insert、Delete、DeleteCases(2)取元素:Part、Take、Drop、Select(3)检测:Length、Count、Position五、表达式“头”
3、的概念:Head及Apply函数六、自定义函数1.一元函数例:Clear[f,x]f[x_]:=x^2+4x-22.多元函数例:f[x_,y_]:=x^2+y^2-33.迭代函数例:f[n_]:=f[n-1]+f[n-2];f[0]=1;f[1]=1;1·条件语句◆逻辑判断符==>=<=>
4、
5、&&◆/;运算符x=a/;test仅当test为True时才执行赋值语句◆If语句语法:If[test,then,else]若test为True,则执行then,若test为False,则执行else
6、.◆Which语句语法:Which[test1,value1,test2,…]依次计算testi,给出对应第一个test为True的value◆Switch[expr,form1,value1,form2,…]比较expr与formi,给出与第一个form值匹配的value例1.定义如下的函数:使用/;定义:f[x_]:=0/;x<=0f[x_]:=x/;x>0&&x<=2f[x_]:=x^2/;x>2②使用If定义:f[x_]:=If[x<=0,0,If[x>2,x^2,x]]③使用Which定义:f[x_]:=Which[x<=0
7、,0,x>2,x^2,True,x]2·输出语句Print3·循环语句◆Do语句语法:Do[expr,{i,imin,imax,di}]计算expr,i=imin,…,imax,步长为di◆While语句语法:While[test,body]当test为True时,计算body◆For语句语法:For[start,test,incr,body]以start为起始值,重复计算body和incr,直到test为False时为止◆循环控制语句Break和ContinueBreak[]退出最里面的循环Continue[]转入当前循环的下一步基
8、本二维图形①Plot[f,{x,xmin,xmax}],用于绘制形如y=f(x)的函数的图形。当将多个图形绘制在同一坐标系上时,形如:Plot[{f1,…,fn},{x,xmin,xmax}]注意:有时需要使用Evaluate函数。第三章图形处理例:在同一坐标系下绘出sinx,sin2x,sin3x,sin4x,sin5x的图形。常用的选项:PlotStyle->Hue[a]设置线条颜色PlotRange->{a,b}控制显示范围DisplayFunction控制图形显示AspectRatio图形的宽、高比AxesOrigin设置原点
9、坐标程序:Clear[a,y,x]v=200;g=9.8;y[a_,x_]:=Tan[a]*x-g*x^2*Sec[a]^2/(2v^2)Plot[Evaluate[Table[y[i,x],{i,Pi/12,5Pi/12,Pi/12}]],{x,0,4000}]例:有如下的抛物线簇:②ListPlot[List],用于绘制散点图。注意,List的形式应为:例:在同一坐标系下绘制下列两组散点图p1={{0,0},{0,45},{5.3,89.6},{22.6,131.2}};p2={{0,0},{2.68,44.8},{12.57,8
10、8.28},{27,130.3}};程序:g1=ListPlot[p1,PlotJoined->True,DisplayFunction->Identity];g2=ListPlot[p2,PlotJoined->Tru