当前位置:文档之家› matlab实验报告

matlab实验报告

数学实验报告班级: 学号: 姓名:实验序号:1 日期:年 月 日 实验名称:特殊函数与图形◆ 问题背景描述:绘图是数学中的一种重要手段,借助图形,可以使抽象的对象得到明白直观的体现,如函数的性质等。

同时,借助直观的图形,使初学者更容易接受新知识,激发学习兴趣。

◆ 实验目的:本实验通过绘制一些特殊函数的图形,一方面展示这些函数的特点属性,另一方面,就 Matlab 强大的作图功能作一个简单介绍。

实验原理与数学模型:1、 球2222x y z R ++= ,x=Rsin φcos θ, y= Rsin φsin θ, z= cos φ, 0≤θ≤2π , 0≤φ≤π 环面 222222222()4(),(cos )cos ,x y z a r a x y x a r φθ+++-=+=-(cos )sin ,sin ,02,02y a r z r φθφφπθπ=-=≤≤≤≤2、 平面摆线:22231150,(sin ),(1cos ),0233x y x a t t y a t t π+-==-=-≤≤3、 空间螺线:(圆柱螺线)x=acost , y=asint , z=bt ;(圆锥螺线)22cos ,sin ,x t t y t t z t === 4、 椭球面sin cos ,sin sin ,cos ,02,0x a y b z c φθφθφθπφπ===≤<≤≤双叶双曲面3tan cos ,tan sin ,sec ,02,22x a y b z c πφθφθφθπφπ===≤<-<< 双曲抛物面2sec ,tan 2u x au y bu z θθ===实验所用软件及版本:mathematica(3.0) 主要内容(要点):1、 作出下列三维图形(球、环面)2、 作出下列的墨西哥帽子3、 作出球面、椭球面、双叶双曲面,单叶双曲面的图形4、 试画出田螺上的一根螺线5、 作出如图的马鞍面6、画出Riemann函数的图形实验过程记录(含:基本步骤、主要程序清单及异常情况记录等):1)p1=ParametricPlot3D[{sin[u]*cos[v],sin[u]*sin[v],cos[u]},{u,0,pi},{v,0,2*pi}]p2=ParametricPlot3D[{3*cos[y]-sin[x]*cos[y],3*sin[y]-sin[x]*sin[y],cos[x]},{x,0,2*pi}] Show{p1,p2}2)[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;mesh(X,Y,Z)axis square3) 球面ParametricPlot3D[{sin[u]*cos[v],sin[u]*sin[v],cos[u]},{u,0,pi},{v,0,2*pi}]椭球面ParametricPlot3D[{5*sin[u*cos[v],4*sin[u]*sin[v],3*cos[u] },{u,0,pi},{v,0,2*pi}]双叶双曲面ParametricPlot3D[{5*tan[u]*cos[v],5*tan[u]*sin[v],5*sec[u]},{v,-0.5*pi,1.5*pi},{v,0,2* pi}]双曲抛物面ParametricPlot3D[{5*u*secv,5*u*tanv,10*2u},{u,-0.5*pi,0.5*pi },{v,-0.5*pi,0.5*pi}]4) ParametricPlot3D[{Sqrt[t]cos[t],Sqtr[t]sin[t],0.5*t},{t,0,10*pi}]5)[x,y]=meshgrid(-25:1:25);z=x.^2/9 - y.^2/4;z=sin(r)./r;surf(X,Y,Z)title('马鞍面')grid off6) n=40; dots={};For [i=2,i<=n,i++,For[j=1,i<I,j++,If [GCD[I,j]==1,AppendTo[dots,{j/I,1/i}]]]]PP=LisPlot[dots,PlotRange->{0,0.6},PlotStyle->PointSize[0,0.15],Axeslabel->{“x”,”R(x)”},AspectRatio->0.6]情况记录6)中:开始把函数写成{t*cos[t],t*sin[t],t^2},结果画出了圆锥螺线。

后来写成{sqrt[t]*cos[t],sqrt[t]*sin[t],1/2*t},画出了图像,发现曲线上升太快,不想田螺上的螺线,经过调整,把z方向的t压缩成0.5*t圆锥螺线{t^2*cos[t],t^2*sin[t],t}实验结果报告与实验总结:1、2、3、4、5较为顺利6遇到了一些困难,但最后也得到了较好的结果,在整个实验过程中,经常应有ctrl+k,避免了拼写错误。

对应用Mathematica作图有了初步了解。

实践证明,Mathematica作图功能十分强大,特别对隐函数的作图,可以给人直观的了解。

思考与深入:对已有县城参数表示的图形实验进行的较为顺利,但对其他图形需花较多的功夫。

实践中发现自己对立体几何解析几何的学习尚需加强,空间想象能力尚需提高。

对Mathematica图形显示中的许多修饰函数还缺乏了解,在今后的应用中还要不断了解。

教师评语数学实验报告实验序号:2 日期:年月日实验名称:定积分的近似计算◆问题背景描述:定积分计算的基本公式是牛顿-莱布尼茨公式。

但当被及函数的原函数不知道时,如何计算?这时就需要利用近似计算。

特别是在许多实际应用中,被积函数甚至没有解析表达式,而是一条实验记录曲线,或一组离散的采样值,此时只能用近似方法计算定积分。

◆实验目的:本实验主要研究定积分的三种近似计算算法:矩形法、梯形法和抛物线法。

同时介绍Matlab计算定积分的相关函数。

实验原理:定积分的定义110()lim (),[,]nbi i i i i an i x f x dx f x x x ξξ-->∞=∆->=∆∈∑⎰矩形法梯形法 曲边小梯形的面积可以由直边小梯形的面积来近似抛物线法实验所用软件及版本:mathematica(3.0) 主要内容(要点):2、 分别用梯形法与抛物线法,计算 21dxx ⎰,将积分区间[1,2]作120等分。

并尝试直接使用函数trapz()、quad()进行计算求解,比较结果的差异。

3、 试计算定积分s i n xdx x ∞⎰(注意:可以运用trapz()、quad()或附录程序求解吗?为什么?)6 学习fuluBsum.m 的程序设计方法,尝试用函数sum 改写矩形法和抛物线法的程序,避免for 循环。

实验过程记录(含:基本步骤、主要程序清单及异常情况记录等):2):梯形法 format long n=120;a=1;b=2; syms x fx fx=1/x;,1--=∆i i i x x x iix x ∆=∆max 111()()()nnbi i ai i f x dx f x h f x -==≈∆=∑∑⎰-1i x ◆左点法:◆右点法:11()()()n nbi i ai i f x dx f x h f x ==≈∆=∑∑⎰i x ◆中点法:1111()())22(nnb i i i ai i x xf x dx f x h f --==+≈=+∆∑∑⎰i i x x iii i x y y S ∆+≈-21(), 1,2,,i i y f x i n== 11, , 0,1,,22i b a h x ih i nn-===i=1:n;xj=a+(i-1)*(b-a)/n;xi=a+i*(b-a)/n;fxj=subs(fx,‟x‟,xj);fxi=subs(fx,‟x‟,xi);f=(fxi+fxj)/2*(b-a)/n;inum=sum(f)integrate=int(fx,1,2)integrate=double(integrate)fprintf(…The relative error between inum and real-value is about:%\n n‟,…abs((inum-integrate)/integrate))抛物线法format long%2*n=120;n=60;a=1;b=2;syms x fxfx=1/x;i=1:n;x0=a+(2*i-2)*(b-a)/(2*n);x1=a+(2*i-1)*(b-a)/(2*n);x2=a+(2*i-0)*(b-a)/(2*n);fx0=subs(fx,x,x0);fx1=subs(fx,x,x1);fx2=subs(fx,x,x2);si=(fx0+4*fx1+fx2)*(b-a)/(6*n);inum=sum(si)integrate=int(fx,1,2);integrate=double(integrate)fprintf('抛物线法的相对误差为:%e\n',abs((inum-integrate)/integrate)) trapz();x=1:1/120:2;y=1./x;trapz(x,y)quad(…1./x‟,1,2)3 、使用函数trapz()x=1:1/120:inf;y=sin(x)/x;trapz(x,y)使用函数quad()Quad(…sin(x)./x‟,0,inf)矩形法format longn=inf;a=0;b=inf;syms x fxfx=sin(x)/x;i=1:n;xj=a+(i-1)*(b-a)/n;xi=a+i*(b-a)/n;fxj=subs(fx,‟x‟,xj);fxi=subs(fx,‟x‟,xi);fxij=subs(fx, ‟x‟,(xi+xj)/2);f=fxij*(b-a)/n;inum=sum(f)integrate=int(fx,0,1)integrate=double(integrate)fprintf(…The relative error between inum and real-value is about:%\nn‟,…abs((inum-integrate)/integrate)使用matlab命令syms x;f=sin(x)/x;I=int(f,0,inf)6 、使用求和函数矩形法format longn=100;a=0;b=1;syms x fxfx=1/(1+x^2);i=1:n;xj=a+(i-1)*(b-a)/n;xi=a+i*(b-a)/n;fxj=subs(fx,‟x‟,xj);fxi=subs(fx,‟x‟,xi);fxij=subs(fx, ‟x‟,(xi+xj)/2);f=fxij*(b-a)/n;inum=sum(f)integrate=int(fx,0,inf)integrate=double(integrate)fprintf(…The relative error between inum and real-value is about:%\n n‟,…abs((inum-integrate)/integrate))抛物线法format long%2*n=200;n=100;a=0;b=1;syms x fxfx=1/(1+x^2);i=1:n;x0=a+(2*i-2)*(b-a)/(2*n);x1=a+(2*i-1)*(b-a)/(2*n);x2=a+(2*i-0)*(b-a)/(2*n);fx0=subs(fx,x,x0);fx1=subs(fx,x,x1);fx2=subs(fx,x,x2);si=(fx0+4*fx1+fx2)*(b-a)/(6*n);inum=sum(si)integrate=int(fx,0,1);integrate=double(integrate)fprintf('抛物线法的相对误差为:%e\n',abs((inum-integrate)/integrate))情况记录1、梯形法和抛物线法程序设计较为顺利。

相关主题