实验五 MATLAB的科学计算.docx
《实验五 MATLAB的科学计算.docx》由会员分享,可在线阅读,更多相关《实验五 MATLAB的科学计算.docx(11页珍藏版)》请在冰豆网上搜索。
实验五MATLAB的科学计算
实验五MATLAB在高等数学中的科学计算
一、实验目的
了解MATLAB在高等数学相关领域中的应用
二、实验地点:
A404
三、实验日期:
四、实验内容
(一)matlab在解析几何中的应用
1、利用Matlab描绘三维空间图形
解析几何教学中,图形是很重要的,空间概念的建立,各种曲面的研究,各种方程的建立都离不开图形,而空间图形既难画又费时。
借助Matlab的绘图功能,可以快捷、准确地绘出图形,使教学变得形象、直观、生动,有利于学生观察三维空间图形的形状,掌握图形的性质。
例1:
作出球面x2+y2+z2=a2和圆柱面x2+y2-ax=0的交线——维维安尼(Viviani)曲线
此题通过联立球面方程x2+y2+z2=a2和圆柱面方程x2+y2-ax=0而得出维维安尼曲线的参数方程:
x=acos2t
y=acost*sint (0≤t<2∏)
z=asint
利用Matlab编制以下程序,可绘出维维安尼曲线的形状,如图1所示:
clear;
t=0:
pi/30:
2*pi;
a=4;
x=a*(cos(t)).^2;
y=a*cos(t).*sin(t);
z=a*sin(t);
plot3(x,y,z)
pause
(1)
gridon
图1从不同角度观察维维安尼曲线
也可在同一直角坐标系中绘出球面与柱面相交的情形,这更利于我们观察维维安尼曲线的形状。
编制的Matlab程序如下:
%柱面的Matlab程序
t=0:
.1:
pi;
x=4*(cos(t).^2);
y=4*cos(t).*sin(t);
n=size(x,2);
fori=-5:
.01:
5
z=i*ones(1,n);
plot3(x,y,z)
pause(0.01)
holdon
end
%球面的Matlab程序
u=0:
.1:
pi;
v=-pi:
.2:
pi/2;
[U,V]=meshgrid(u,v);
x=4*sin(U).*cos(V);
y=4*sin(U).*sin(V);
z=4*cos(U);
mesh(x,y,z)
gridon
holdoff
运行结果如图2所示:
图2从不同角度观察球面与柱面相
交而得的维维安尼曲线
2、利用Matlab判定空间图形间的位置关系
掌握空间图形的位置关系是解析几何学习中的难点之一,学生的空间想象能力不强,准确地把握空间图形之间的位置关系更加困难,在同一直角坐标系下形象地显示出各个空间图形是解决这一问题的关键。
借助Matlab可准确地显示三维空间图形的位置关系。
例2:
判断平面2x-y-3z+11,
球 (x-3)2+(y+5)2+(z+2)2=602,
椭球(x+30)2/402+(y-20)2/1002+(z-100)2/102=1
之间的位置关系。
此题通过计算来判断平面、球、椭球三者之间的位置关系较为繁琐,利用Matlab在三维直角坐标系中同时绘出球、椭球与平面,既可直观地显示它们之间的位置关系,也可帮助我们验证计算结果。
球、椭球与平面的Matlab程序为:
u=-100:
100;
[x,y]=meshgrid(u);
z=(2*x-y+11)/3;
u=0:
pi/20:
pi;
v=0:
pi/20:
2*pi;
[U,V]=meshgrid(u,v);
x1=60*sin(U).*cos(V)+3;
y1=60*sin(U).*sin(V)-5;
z1=60*cos(U)-2;
x2=40*sin(U).*cos(V)-30;
y2=100*sin(U).*sin(V)+20;
z2=10*cos(U)+100;
mesh(x,y,z);
holdon
surf(x1,y1,z1);
surf(x2,y2,z2);
view(-40,16)
运行结果如图3所示。
由图H可知,平面与球相交、与椭球相离,球与椭球相离。
图3平面、球、椭球的位置关
3、利用Matlab研究旋转曲面的性质
解析几何学习中,旋转曲面的性质仅仅通过
教师的讲解和板书的静态演示很难让学生掌握,
利用Matlab演示旋转曲面的形成过程则可突破
这一教学难点。
例3演示将椭圆y2/a2+z2/b2=1(a>b)&&x=0
绕短轴(即z轴)旋转所得的扁形旋转椭球面的形成过程。
因a,b为常数,不妨取a=20,b=2,利用Matlab编制以下程序可实现旋转椭球面形成过程的动态演示:
a=20;
b=2;
t=0:
pi/30:
2*pi;
n=length(t);
y=20*cos(t);
z=2*sin(t);
x=0*ones(1,n);
plot3(x,y,z)
gridon
pause
(1)
fori=0:
pi/60:
pi;
x=y.*sin(i);
y1=y.*cos(i);
plot3(x,y1,z)
pause
(1)
gridon
holdon
view(-20,60)
end
holdoff
运行结果如图4所示。
本程序直观形象地演
示了椭圆绕Z轴旋转而形成椭球面的过程,生动地揭示了旋转椭球面的本质。
4、利用Matlab演示动点轨迹的形成
动点的轨迹问题是解析几何教学中的又一个难点,而描绘动点轨迹的形成过程是传统教学无法实现的。
使用Matlab制作动画,可以轻易实现空间动点轨迹的形成过程。
例4:
一质点,沿着已知圆锥面的一条直母线自圆锥的顶点起,作等速直线运动,另一方面这一条母线在圆锥面上,过圆锥的顶点绕圆锥的轴(旋转轴)作等速的转动,这时质点在圆锥面上的轨迹叫做圆锥螺线。
试建立圆锥螺线的方程。
此题取圆锥顶点为原点,轴线为Z轴,并设圆锥角为2α,旋转角速度为ω,直线速度为υ,动点的起始位置在原点,可得圆锥螺线的方程为
x=υtsinα*cosωt&&y=υtsinα*sinωt&&
z=υtcosα &&(0≤t<∞)
不防取υ=3,ω=2,α=∏/60,t∈[0,60],利用
Matlab软件编制以下程序,则可演示圆锥螺线的形成过程:
t=0:
.01:
60;
a=pi/60;
u=2;
v=3;
x=v*sin(a)*cos(u.*t).*t;
y=v*sin(a)*sin(u.*t).*t;
z=v*t.*cos(a);
comet3(x,y,z)
(二)数值定积分求面积
例:
用数值积分法求由y=-x2+115,y=0,x=0与x=10围成的图形面积,并讨论步长和积分方法对精度的影响。
用矩形法和梯形法分别求数值积分并作比较,步长的变化用循环语句实现。
设x向量的长度为n,即将积分区间分为n-1段,各段长度为
(i=1,2…n-1)。
算出各点的
(i=1,2…n+1),则矩形法数值积分公式为
梯形法的公式为
比较两个公式,它们之间的差别只是0.5(
)。
程序及注释
clf,
fordx=[2,1,0.5,0.1]%设不同步长
x=0:
.1:
10;
y=-x.*x+115;%取较密的函数样本
plot(x,y);
holdon%画出被积曲线,并保持
x1=0:
dx:
10;
y1=-x1.*x1+115;%求取样点上的y1
n=length(x1);
s=sum(y1(1:
n-1))*dx;%用欧拉法求积分,末尾要去掉一点
q=trapz(y1)*dx;%用梯形法求积分
stairs(x1,y1);
plot(x1,y1)%画出欧拉法及梯形法的积分区域
[dx,s,q]
pause(30);
holdoff%显示步长及两种积分方法所得的面积
end
结果及分析
ans=2910810
ans=1865815
ans=0.5000841.2500816.2500
ans=0.1000821.6500816.6500
步长dx
矩形法解s
梯形法解q
2
910
810
1
865
815
.5
841.25
816.25
.1
821.65
816.65
用解析法求得的精确解为2450/3=816.6666…。
在曲线的切线斜率为负的情况下,矩形法的积分结果一定偏大,梯形法是由各采样点的连线包围的面积,在曲线曲率为负(上凸)时,其积分结果一定偏小,因此精确解在这两者之间。
由此看出,步长相同时,梯形法的精度比矩形法高。