MATLAB在图形绘制与函数单调性和最极值中的应用.docx

上传人:b****5 文档编号:7903538 上传时间:2023-01-27 格式:DOCX 页数:17 大小:293.04KB
下载 相关 举报
MATLAB在图形绘制与函数单调性和最极值中的应用.docx_第1页
第1页 / 共17页
MATLAB在图形绘制与函数单调性和最极值中的应用.docx_第2页
第2页 / 共17页
MATLAB在图形绘制与函数单调性和最极值中的应用.docx_第3页
第3页 / 共17页
MATLAB在图形绘制与函数单调性和最极值中的应用.docx_第4页
第4页 / 共17页
MATLAB在图形绘制与函数单调性和最极值中的应用.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

MATLAB在图形绘制与函数单调性和最极值中的应用.docx

《MATLAB在图形绘制与函数单调性和最极值中的应用.docx》由会员分享,可在线阅读,更多相关《MATLAB在图形绘制与函数单调性和最极值中的应用.docx(17页珍藏版)》请在冰豆网上搜索。

MATLAB在图形绘制与函数单调性和最极值中的应用.docx

MATLAB在图形绘制与函数单调性和最极值中的应用

《MATLAB语言》课程论文

 

MATLAB在图形绘制与函数单调性和最极值中的应用

 

姓名:

学号:

学院:

班级:

日期:

指导老师:

MATLAB在图形绘制与函数单调性和最极值中的应用

摘要:

MATLAB是一套非常强大的数值计算软件,可靠的数值计算和符号计算功能、优越的绘图功能等突出的优点,使其风靡全球,运用MATLAB中强大的函数工具箱可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图形、图像处理等若干个领域的计算和图形显示功能。

毫无疑问,对于图形绘制及数学中关于函数单调性和最极值中的问题,也可以通过MATLAB轻松的解决。

关键词:

MATLAB图形绘制函数单调性最值极值

在如今的科学研究和工程应用中,我们会遇到各种各样的问题,其中最基本的就是关于图形绘制和各种数学方面的问题,而MATLAB中强大的绘图功能以及可靠的数值计算和符号计算功能,将使这些问题可以得到更好的解决,下面我们就分别对MATLAB在此方面的应用进行分析:

一、MATLAB在图形绘制中的应用

1、MATLAB的二维曲线绘制

(1)基本绘图指令plot

MATLAB软件中指令plot是最简单且使用最广泛的一个线性绘图指令,利用该指令可以会出折线、曲线和参数方程曲线的图形。

Plot绘图命令有如下一些常用形式:

命令形式1:

plot(y)

问题1.绘出向量[3,8,6,4,1]的图形。

解MATLAB的命令为

y=[3,8,6,4,1];%数据

plot(y)%绘图

图1.问题1程序图形

命令形式2:

plot(x,y)

问题2.绘出函数

在区间-4≤x≤4的图形.

解MATLAB的命令为

x=-5:

1:

5;%设置x的取值

y=cos(x.^2);%原函数

plot(x,y);%绘图

gridon;%显示网格

图2.问题2程序图形

命令形式3:

plot(x1,y1,x2,y2,…)

问题3.在同一图像窗口绘出三个函数y=sin2x,

的图形,-3≤x≤2.

解MATLAB的命令为:

x=-2:

0.1:

3;%取值范围

plot(x,sin(2*x),'.',x,x.^2,'k-',x,x,'k');%绘制图形

legend('sin(2*x)','x^2','x');%生成图例

图3.问题3程序图形

(2)图形的标注

MATLAB可以在绘出的图形上加各种标注级文字说明。

他们的实现命令如下:

①图名标注title

命令形式:

title(‘string’)

②坐标轴标注xlabel,ylabel,zlabel

命令形式:

xlabel(‘string’)或ylabel(‘string’)或zlabel(‘string’)

③图形标注text,gtext

命令形式:

text(x,y,’string’)或text(x,y,z,’string’)

④图例标注legend

命令形式:

legend(‘string’,‘string’,…)

问题4、在同一坐标系中绘出两个函数

的图形,自变量范围为-2≤x≤2;函数

为红色实线,函数

为洋红色虚线,并加注标题、坐标轴和图例标注。

解建立命令文件exam5.m:

clf;%命令符

x=-2:

1:

2;%取值范围

y1=cos(2*x);%原函数1

y2=x;%原函数2

plot(x,y1,'-r',x,y2,'-.m');%绘制图形

gridon;%显示网格

title('曲线y=cos(2x)与y=x');%标注标题

xlabel('x轴');%x轴标注

ylabel('y轴');%y轴标注

x00=-2:

2;%取值范围

y00=[1.5,1.0,0,0.56,-1.5];%取值范围

holdon;%图形保持

plot(x00,y00,'bp');%绘制5点图

legend('y=cos(2x)','y=x','5点图');%图形标注

执行命令文件exam5.m,其程序运行结果如图。

图4.问题4程序图形

(3)一个图形中多个子图的绘制

可以在MATLAB图形窗口中显示多个图形,要实现该功能就要利用函数subplot.

命令形式:

subplot(m,n,p)

例5.把一个图形窗口分为两个子图,每个子图绘制不同的图形。

解MATLAB的命令如下:

clf;%命令符

x=-2:

0.2:

2;%取值范围

y1=x+sin(x);%原函数1

y2=sin(x)./x;%原函数2

subplot(1,2,1);%窗口分割

plot(x,y1,'-m.');%绘制图形

gridon;%显示网格

title('y=x+sinx');%标注标题

subplot(1,2,2);%窗口分割

plot(x,y2,'-rp');%绘制图形

gridon;%显示网格

title('y=sinx/x');%标注标题

图5.问题5程序图形

(4)绘制数值函数二维曲线的命令fplot

命令形式:

fplot(fun,[xmin,xmax])

(5)绘制符号函数二维曲线的命令ezplot

命令形式:

ezplot(fun,[xmin,xmax])

问题6、绘出

在[0,

]间的图形.

解MATLAB命令为:

symst;%定义符号变量

ezplot('2/3*exp(-t/2)*cos(3/2*t)',[0,4*pi])%符号函数绘制图形

图6.问题6程序图形

2、MATLAB的空间曲线绘图

(1)三维空间曲线命令plot3

命令形式1:

plot3(x,y,z)

命令形式2:

plot3(x,y,z,’string’)

命令形式3:

plot3(x1,y1,z1,’string’,x2,y2,z2,’string’,…)

问题7、绘制螺旋线

的图像。

解在MATLAB中的命令如下:

t1=0:

pi/25:

10*pi;%设置取值范围

x1=sin(t1);%参数方程1

y1=cos(t1);%参数方程2

z1=t1;%参数方程3

plot3(x1,y1,z1,'r');%绘制曲线

title('螺旋线');%标注标题

xlabel('x轴');%x轴标注

ylabel('y轴');%y轴标注

zlabel('z轴');%z轴标注

图7.问题7程序图形

3、MATLAB的空间曲面绘制

二元函数

的图形是三维空间曲面,空间曲面图形在帮助人们了解二元函数特性上具有较大作用。

现介绍绘制空间曲面图形的命令。

(1)meshgrid命令

Meshgrid的调用形式是:

①[X,Y]=meshgrid(x,y),绘制二维图形时生成小矩阵的格点;

②[X,Y]=meshgrid(x),等价于[X,Y]=meshgrid(x,x);

③[X,Y,Z]=meshgrid(x,y,z),绘制三维图形时生成空间曲面的格点;

④[X,Y,Z]=meshgrid(x),等价于[X,Y,Z]=meshgrid(x,x,x).

(2)三维网格图命令mesh

函数mesh的命令形式如下:

①mesh(X,Y,Z),X,Y,Z是同维的矩阵;

②mesh(x,y,Z),x,y是向量,而Z是矩阵,等价于

③mesh(Z),若提供参数x,y,等价于mesh(x,y,Z),否则默认x=1:

n,y=1:

m.

问题8、分别用指令mesh,meshc,meshz绘制函数

在-8≤x,y≤8上的图形。

解在MATLAB中的程序如下:

t=-8:

0.3:

8;%取值范围

[x,y]=meshgrid(t);%生成小矩形的格点

r=sqrt(x.^2+y.^2)+eps;%与程序下一行共同构成所求函数

z=sin(r)./r;%与程序上一行共同构成所求函数

subplot(1,3,1);%图形分割

meshc(x,y,z);%用meshc命令,生成图形的同时,生成曲面的等高线

title('meshc'),axis([-88-88-0.50.8]);%标题标注及坐标控制

subplot(1,3,2);%图形分割

meshz(x,y,z);%用meshz命令,生成图形的同时,生成曲面下方的长方形的台柱

title('meshz'),axis([-88-88-0.50.8]);

subplot(1,3,3);%图形分割

mesh(x,y,z);%用mesh命令,生成三维网格图形

title('mesh'),axis([-88-88-0.50.8]);%标题标注及坐标控制

图8.问题8程序图形

(3)三维表面图命令surf

Surf的调用方式与mesh相同,与mesh不同的是surf绘制的是曲面而不是网格。

问题9、绘出函数

,-1≤x,y≤1的三维网格图和三维表面图。

解MATLAB的命令为:

t=-1:

0.1:

1;%取值范围

[x,y]=meshgrid(t);%生成网格

z=3-x.^2-y.^2;%原函数

subplot(1,2,1),mesh(x,y,z);%分区域绘图

title('网格图');%标注标题

subplot(1,2,2),surf(x,y,z);%分区域绘图

title('表面图');%标注标题

图9.问题9程序图形

(4)球面的绘制

在MATLAB中用命令sphere来绘制球面,其使用形式为:

命令形式1:

sphere(n)

命令形式2:

[x,y,z]=sphere(n)

问题10、试绘制函数

的图形。

解MATLAB中的命令如下:

%绘制半径为1的球面

v=[-22-22-22];%设置参数

subplot(1,2,1);%图形分割

sphere(30),title('半径为1的球面');%绘制图形及标注标题

axis(v);%对图形坐标进行设置

%绘制半径为2的球面

[x,y,z]=sphere(30);%设置参数

subplot(1,2,2);%图形分割

surf(2*x,2*y,2*z);%绘制图形

title('半径为2的球面');%标注标题

axis(v);%对图形坐标进行设置

图10.问题10程序图形

(5)色彩控制

①colormap

命令形式:

colormap(m)

问题11、着色性能的例子

解在MATLAB中的命令如下:

z=peaks(20);colormap(copper);

subplot(1,3,1);surf(z);

subplot(1,3,2);surf(z);shadingflat;

subplot(1,3,3);surf(z);shadinginterp;

图11.问题11程序图形

二、MATLAB在函数单调性和最极值中的应用

MATLAB中提供的特殊函数diff可以很快的求出函数的导数。

diff函数用于对符号表达式求导数,其调用格式为:

①diff(f):

没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数;

②diff(f,v):

以v为自变量,对符号表达式f求一阶导数;

③diff(f,n):

按findsym函数指示的默认变量对符号表达式f求n阶导数;

④diff(f,v,n):

以v为自变量对符号表达式f求n阶导数。

另外,求一元函数的极值问题:

命令形式:

fminbnd(fun,x1,x2)

求多元函数极值问题

命令形式1:

fminsearch(fun,x0)

命令形式2:

fminunc(fun,x0)

下面就以上问题分别举例说明

问题12、由导函数的图象确定函数

的单调区间。

解函数的定义域为(−∞,+∞).下面用Matlab求解

symsx%定义符号变量

f=2*x^3-9*x^2+12*x-6;%设定函数.

f1=diff(f);%求f的导数.

x=solve(f1)%解方程求驻点以确定绘图区间.

f1%显示f1

求得驻点x=[1][2]

函数的导数f1=6*x^2-18*x+12

fplot('6*x^2-18*x+12',[0,3])%绘制f1的图形

图12.问题12程序图形

由图可见,当x<1或x>2时,

;当1

;所以

的单调增加区间为:

,单调减少区间为:

问题13、求函数

的单调区间与极值。

解:

求可导函数的单调区间与极值,就是求导函数的正负区间与正负区间的分界点,利用matlab解决该问题,我们可以先求出导函数的零点,再画出函数图象,根据图象可以直观看出函数的单调区间与极值.输入命令:

symsx;%定义符号变量

f=x.^3-6.*x.^2+9.*x+3;%原函数

df=diff(f);%利用diff函数求导

s=solve(df)%求解导函数

gridon%显示网格

得结果:

s=[1][3]

画出函数图象:

ezplot(f,[0,4]);gridon%绘制图形且显示网格

图13.1问题13程序图形

从图上看,f(x)的单调增区间为(-∞,1),(3,+∞),单调减区间是(1,3),极大值f

(1)=7,极小值f(3)=3.

求函数的单调区间,可用以下程序:

symsx%定义符号变量

f=x-log(1+x)%原函数

df=diff(f);%利用diff函数求导

s=solve(df)%求解导函数

ezplot(f)%绘制图形

gridon%显示网格

可得结果s=0.其程序运行结果如图。

图13.2问题13程序图形

从图上看,f(x)的单调增区间为(0,+∞),单调减区间是(-∞,0),极小值f(0)=0.

问题14、用Matlab求函数

的极值。

解函数的定义域为

,函数为奇函数.

先用fplot语句绘出函数的图形

fplot('x/(1+x^2)',[-4,4])%绘制图形

图14.问题14程序图形

易见函数既有极小值点(在-1附近),又有极大值点(在1附近).先求极小值,输入程序:

Clear%清除变量

x=fminbnd('x/(1+x^2)',-3,0)%用fminbnd函数求解极小值点

得出极小值点x=-1.0000,又由

subs('x/(1+x^2)',-1)%求极小值

求出极小值

,再求极大值,输入程序

[x,f]=fminbnd('-x/(1+x^2)',0,3)%求极大值点及极大值

得出极大值点x=1,极大值

问题15.区间

内的最小值。

解ATLAB命令如下:

ff='x+3*(x^2+cos(x))'%原函数

xmin=fmin(ff,-1,1)%求最小值

其运行结果为xmin=-0.3275

问题16.数

在区间

的最小值点。

解MATLAB命令为:

f=inline('x-1/x+5');%定义一个语句函数

fminbnd(f,-10,-1)%求函数在(-10,1)内的最小值点

fminbnd(f,1,10)%求函数在(1,10)内的最小值点

其运行结果如下:

ans=-9.9999ans=1.0001

问题17.函数

在区间

内的极小值点和极小值。

解MATLAB命令为:

f='(x-3)^2-1';%原函数

fminbnd(f,0,5)%运用函数求解极小值点

其结果为:

ans=3

即极小值点为x=3

[x,y]=fminbnd(f,0,5)%求解极小值

其结果为:

x=3y=-1

即函数在x=3处取得极小值-1

 

三、总结

通过以上对“matlab在图形绘制及函数单调性和极值的应用”的分析。

我们可以认识到MATLAB中强大的绘图功能以及可靠的数值计算和符号计算功能,,它的应用几乎涉及各个领域。

因为它的存在很多的问题也变得十分简单了。

在绘制图形时我们可以用它的各种绘图函数,其中最常用的有绘制二维曲线函数plot,在三维图形中用到了mesh函数和surf函数,当然也有其他的函数。

对于函数的单调性,我们主要用到的就是MATLAB中的求导函数diff(f),而关于函数最极值的问题中主要用到的就是函数fminbnd(fun,x1,x2)。

四、课程体会

终于我完成了本次课程论文,通过这次完成论文的过程我学到了许多东西。

第一次写课程论文,所以起初我真的不知道该从何写起,连老师那句要有自己的思想也无法体会。

慢慢的经过资料的查阅,自己思考,以及同学的帮助,我开始有了自己的想法。

经过一周的努力,我的论文也慢慢成形。

起初我以为matlab和我们所学的C语言应该没多大的差距,可是通过这一学期的学习和这次论文的完成,我认识到了MATLAB的功能强大性,以及运用的广泛性,而且我相信本次论文经历会在我以后的学习中会有很大的帮助。

最后,向老师的辛勤指导及教学表示深深地谢意!

 

参考文献

1.刘卫国.MATLAB程序设计与应用[M].北京:

高等教育出版社.2006.7

2.王文波.数学建模及其基础知识详解[M].武汉:

武汉大学出版社.2006.5

3.赵静,但琦.数学建模与数学实验[M].北京:

高等教育出版社.2008.1

4.曾庆柏.应用高等数学[M].北京:

高等教育出版社.2008.6

5.MATLAB平台上函数单调性与凹凸性判定的数学实验[M].洛阳工业高等专科学校学报.2003.6

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

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1