数学分析实验报告
MATLAB & Mathematica软件基础应用
学院:理学院
专业:信息与计算科学
班级:
姓名:
学号:
20##年6月9日星期六
【实验题目】MATLAB软件简单应用
【实验目的】1.熟悉Matlab软件的“计算器”功能以及常用的数学函数。
2.掌握利用Matlab软件求解极限、导数、积分、泰勒展开和级数求和的使用方法。
3.学会使用Matlab帮助系统。
【实验原理】 1.二维绘图命令:plot(x,y), ezplot(f, [c, d]), polar(theta, rho).
2.三维绘图命令:
三维曲线:plot3(x,y,z), ezplot3(x, y, z, [a, b]).
三维曲面:mesh(X,Y,Z), meshz(X,Y,Z), surf(X,Y,Z).
网格生成函数:meshgrid(x,y).
【实验内容】(含基本步骤、主要程序清单及异常情况记录等)
7.求不定积分
步骤:输入syms x a
f=sqrt(a^2-x^2);
s=int(f,x)
输出s = 1/2*x*(a^2-x^2)^(1/2)+1/2*a^2*atan(x/(a^2-x^2)^(1/2))
8.求定积分
步骤:输入: syms x t
y=sqrt(1-sin(x));
z=int(y,x,0,pi/2)
输出:z = 2*2^(1/2)-2
9.求
步骤:输入:syms x t
y=sin(x)/x;
z=vpa(int(y,x,0,5))
输出:z =1.5499312449446741372744084007306
12.将展为幂为(x-2)的5阶Taylor展开式
步骤:输入:syms x
f=taylor(log(x),6,x,2)
输出:f = log(2)+1/2*x-1-1/8*(x-2)^2+1/24*(x-2)^3-1/64*(x-2)^4+1/160*(x-2)^5
13.将展开为4阶麦克劳林展开式。
步骤:输入:syms x;
f=taylor(x*tan(x),5,x,0)
输出:f =x^2+1/3*x^4
15.已知,求,并画出f(x)的图象。
步骤:输入:syms x;
f=(1+1/x)^x;
y1=limit(f,x,inf)
x=linspace(-1,10000,1000);
y=(1+1./x).^x;
plot(x,y)
输出 y1 =exp(1)
【总结与思考】
Matlab的常见错误:Inner matrix dimensions must agree
因为在Matlab的输入变量是矩阵,参与运算的矩阵维数必须对应,矩阵相应元素的运算必须全部加dot(点),例2中方程如果这样输入:x=2*(cos(t)+t*sin(t)),就会出现该错误.
【实验题目】实验二 利用MATLAB画图
【实验目的】1.掌握利用Matlab软件求解代数方程(组)、微分方程(组)的使用方法。
2.掌握Matlab的数组运算过程。
3.掌握Matlab画图方法。
【实验内容】(含基本步骤、主要程序清单及异常情况记录等)
8.画出函数的图形
步骤:输入: t=0:0.1:4*pi;
plot3(2*cos(t),t.^3,t)
9.画出函数的图形
步骤:输入: t=0:pi/50:10*pi;
plot3(sin(t),cos(t),sqrt(t+1));
10.画出曲面的图象。
步骤:输入: x=-7.5:0.5:7.5;
y=x;
[xx,yy]=meshgrid(x,y);
R=sqrt(xx.^2+yy.^2)+eps;
z=sin(R)./R;
mesh(xx,yy,z)
11.画出曲面的图象。
步骤:输入: x=-10:0.5:10;
y=x;
[xx,yy]=meshgrid(x,y);
z=1-xx.^2-yy.^2;
mesh(xx,yy,z)
【总结与思考】
【实验题目】实验二 微积分基本运算
【实验目的】1.掌握用Mathematica进行基本运算:多项式及其代数运算,方程(组)求根。
2.掌握用Mathematica进行微积分基本运算:求极限,求导数(微分),求积分,泰勒级数展开,微分方程。
【实验内容】
7.求下列积分
(1)
步骤:输入: y=x Exp[x]/(1+x^2);
Integrate[y,x]
输出:
(2)
步骤:输入:y=(4 Sin[x]+3 Cos[x])/(Sin[x]+2 Cos[x]);
Integrate[y,x]
输出:2 x-Log[2 Cos[x]+Sin[x]]
(3)
步骤:输入:y=Cos[x]^5 Sin[2x];
Integrate[y,{x,0,pi/2}]
输出:
(4)
步骤:输入:y=1/(x^2-x+1)^(3/2)
Integrate[y,{x,0,1}]
输出:
8.求积分.
步骤:输入:y=E^(-x^2/2)/Sqrt[2*Pi];
NIntegrate[y,{x,-Infinity,1}]
输出:0.841345
9.求 的9阶泰勒公式。
步骤:输入:Series[Exp[x^2],{x,0,9}]
输出:
【实验题目】实验三 Mathematica作图
【实验目的】1.掌握用Mathematica作二维图形,熟练作图函数Polt、ParametricPolt等应用,对图形中曲线 能做简单的修饰。
2.掌握用Mathematica做三维图形,对于一些二元函数能做出其等高线图等,熟练函数Plot3D,ParametricPlot的用法。
【实验内容】
5.做出以下参数方程所描述的图形。
(1);
步骤:输入:ParametricPlot[{4Cos[t],3 Sin[t]},{t,0,2Pi}]
(2)
步骤:输入:ParametricPlot[{3 Cos[t]^3,3Sin[t]^3},{t,0,2 Pi}]
6.作出以下极坐标方程所描述的图形.
(1) ;
步骤:输入:r[t_]:=4Cos[3t];
ParametricPlot[{r[t]Cos[t],r[t]Sin[t]},{t,0,2Pi}]
(2)
步骤:输入:r[t_]:=4(1+Cos[t]);
ParametricPlot[{r[t]Cos[t],r[t]Sin[t]},{t,0,2Pi}]
7.作出函数)的图形。
步骤:输入:Plot3D[Sin[PiSqrt[x^2+y^2]],{x,-1,1},{y,-1,1},PlotPoints->30,Lighting->True]
【实验题目】实验四 Mathematica过程编程
【实验目的】1.掌握Mathematica语言中,If,Which等选择结构的用法。
2.掌握Mathematica语言中,Do,For,While等循环结构的用法。
【实验内容】
2.设f(x)以上的表达式为
将函数f(x)分解成简谐运动的叠加形式。
(提示:本题目的求解过程可以从两个方面展开
(1)有可写出f(x)的傅氏展开式。
(2)做函数的傅氏级数的前n项和,并依次作出n=1,6,11,16,21,26,31,36,41,46时,傅氏级数前n项和 的图形。
步骤:输入: a[n_]:=((-1)^n-1)/(n^2*Pi)
b[n_]:=(-1)^(n+1)/n
f[x_]:=Which[x<-2 Pi,0,-2Pi?x<-Pi,x+2Pi,Pi?x<0,0,0?x<Pi,x,Pi?x<2Pi,0,x?2Pi,x-2Pi];
For[i=1,i<30,i+=5,fr1[x_]:=Pi/4+Sum[a[n]*Cos[n*x]+b[n]*Sin[n*x],{n,1,i}]];
Plot[{fr1[x],f[x]},{x,-3*Pi,3*Pi},PlotRange?{-0.4,3.2},PlotStyle?{RGBColor[1,0,0],RGBColor[0,0,1]}]
【总结与思考】
MATHEMATICA作图的常见错误:General::spell1: Possible spelling error。
因为在MATHEMATICA中作图函数大小写有区别,如例4中的ParametricPlot3D函数中两个字母P都要大写,若将其中的一个写成小写p,则将提示以上拼写错误Possible spelling error。
第二篇:数学软件四大家----Maple、MATLAB、MathCAD和Mathematica
目前在科技和工程界上比较流行和著名的数学软件主要有四个,分别是Maple、MATLAB、MathCAD和Mathematica。它们在各自针对的目标都有不同的特色。
一、Maple V 系统
Maple V是由Waterloo大学开发的数学系统软件,它不但具有精确的数值处理功能,而且具有无以伦比的符号计算功能。Maple V的符号 计算能力还是MathCAD和MATLAB等软件的符号处理的核心。Maple提供了2000余种数学函数,涉及范围包括:普通数学、高等数学、线性代 数、数论、离散数学、图形学。它还提供了一套内置的编程语言,用户可以开发自己的应用程序,而且Maple自身的2000多种函数,基本上是用此语言开发 的。
Maple采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形方式,产生的图形结果可以很方便地剪贴到Windows应用程序内。
二、MATLAB 系统
MATLAB 原是矩阵实验室(Matrix Laboratory)在70年代用来提供Linpack和Eispack软件包的接口程序,采用C语言 编写。从80年代出现3.0的DOS版本,逐渐成为科技计算、视图交互系统和程序语言。MATLAB可以运行在十几个操作平台上,比较常见的有基于 Windows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平台的系统。
MATLAB程序主要由主程序和各 种工具包组成,其中主程序包含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优 化工具包、神经网络工具包、控制系统工具包、μ分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且5.x版本还包含一套 几十个的PDF文件,从MATLAB的使用入门到其他专题应用均有详细的介绍。
MATLAB是数值计算的先锋,它以矩阵作为基本数据单位,在 应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具, 同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB在输入方面也很方便,可以使用内部的Editor或者其他任何字符处理器,同 时它还可以与Word6.0/7.0结合在一起,在Word的页面里直接调用MATLAB的大部分功能,使Word具有特殊的计算能力。
三、MathCAD 系统
MathCAD是美国Mathsoft公司推出的一个交互式的数学系统软件。从早期的DOS下的1.0和Windows下的4.0版本,到今日的8.0版本,功能也从简单的数值计算,直至引用Maple强大的符号计算能力,使得它发生了一个质的飞跃。
MathCAD 是集文本编辑、数学计算、程序编辑和仿真于一体的软件。MathCAD7.0 Professional(专业版)运行在 Win9X/NT下,它的主要特点是输入格式与人们习惯的数学书写格式很近似,采用WYSWYG(所见所得)界面,特别适合一般无须进行复杂编程或要求比 较特殊的计算。MathCAD 7.0 Professional 还带有一个程序编辑器,对于一般比较短小,或者要求计算速度比较低时,采用它也是可以 的。这个程序编辑器的优点是语法特别简单。
MathCAD可以看作是一个功能强大的计算器,没有很复杂的规则;同时它也可以和Word、Lotus、WPS2000等字处理软件很好地配合使用,可以把它当作一个出色的全屏幕数学公式编辑器。
四、Mathematica 系统
Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与Maple类似,但它的符号计算不是基于Maple上的,而是自己开发的。
Mathematica 的基本系统主要是用C语言开发的,因而可以比较容易地移植到各种平台上,Mathematica是一个交互式的计算系统,计算 是在用户和Mathematica互相交换、传递信息数据的过程中完成的。Mathematica系统所接受的命令都被称作表达式,系统在接受了一个表达 式之后就对它进行处理,然后再把计算结果返回。Mathematica对于输入形式有比较严格的规定,用户必须按照系统规定的数学格式输入,系统才能正确 地处理,不过由于3.0版本引入输入面板,并且可以修改、重组输入面板,因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很好的改善。3.0 版本可以用各种格式保存文件和剪贴内容,包括RTF、HTML、BMP等格式。
五、四种软件的比较
选用何种数学软件? 如果仅仅是要求一般的计算或者是普通用户日常使用,首选的是MathCAD,它在高等数学方面所具有的能力,足够一般客户的要求, 而且它的输入界面也特别友好。如果要求计算精度、符号计算和编程方面的话,最好同时使用Maple和Mathematica,它们在符号处理方面各具特 色,有些Maple不能处理的,Mathematica却能处理,诸如某些积分、求极限等方面,这些都是比较特殊的。如果要求进行矩阵方面或图形方面的处 理,则选择MATLAB,它的矩阵计算和图形处理方面则是它的强项,同时利用MATLAB的NoteBook功能,结合Word6.0/7.0的编辑功 能,可以很方便地处理科技文章。
mathematica 值得信赖,国外很多著名的大学都在用它作解析计算和公式的推导,证明,算法的研究, 非常好的数学研究软件,我个人认为是 No.1。它的数学分析可视化无与伦比。综合性能和另一个著名的软件Maple相比,又过之而无不及,要知道世界上绝大部分的量子物理,天体物理论文中的 公式推导都由它完成。绝对高端但又易用,是数学,力学,物理研究人员的好帮手,甚至它的数值计算也完全可以应付学术研究。mathematica 和 Maple 的最新版本在用户公式的输入上都有很大改进,更加方便,随意。
北美不少Top大学的弹性力学,板壳理论,有限元等数 学力学理论课的作业和Project都要求用它来完成。 我个人认为, 作为计算力学的工作者,从掌 握语言的角度来讲, 只要掌握3种计算语言足够了,mathematica用来作解析法和数学模型的研究,Matlab用来实现数值算法(当然仍然可以还 用mathematica), Fortran用来写可执行源代码。