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

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

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

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

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

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;

%命令符

2;

y1=cos(2*x);

%原函数1

y2=x;

%原函数2

plot(x,y1,'

-r'

x,y2,'

-.m'

title('

曲线y=cos(2x)与y=x'

%标注标题

xlabel('

x轴'

%x轴标注

ylabel('

y轴'

%y轴标注

x00=-2:

y00=[1.5,1.0,0,0.56,-1.5];

holdon;

%图形保持

plot(x00,y00,'

bp'

%绘制5点图

y=cos(2x)'

y=x'

5点图'

%图形标注

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

图4.问题4程序图形

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

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

subplot(m,n,p)

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

MATLAB的命令如下:

0.2:

y1=x+sin(x);

y2=sin(x)./x;

subplot(1,2,1);

%窗口分割

-m.'

y=x+sinx'

subplot(1,2,2);

plot(x,y2,'

-rp'

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

plot3(x,y,z)

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

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'

%绘制曲线

螺旋线'

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命令,生成图形的同时,生成曲面的等高线

meshc'

),axis([-88-88-0.50.8]);

%标题标注及坐标控制

subplot(1,3,2);

meshz(x,y,z);

%用meshz命令,生成图形的同时,生成曲面下方的长方形的台柱

meshz'

subplot(1,3,3);

mesh(x,y,z);

%用mesh命令,生成三维网格图形

mesh'

%标题标注及坐标控制

图8.问题8程序图形

(3)三维表面图命令surf

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

问题9、绘出函数

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

t=-1:

1;

%生成网格

z=3-x.^2-y.^2;

subplot(1,2,1),mesh(x,y,z);

%分区域绘图

网格图'

subplot(1,2,2),surf(x,y,z);

表面图'

图9.问题9程序图形

(4)球面的绘制

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

sphere(n)

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

问题10、试绘制函数

的图形。

MATLAB中的命令如下:

%绘制半径为1的球面

v=[-22-22-22];

%设置参数

sphere(30),title('

半径为1的球面'

%绘制图形及标注标题

axis(v);

%对图形坐标进行设置

%绘制半径为2的球面

[x,y,z]=sphere(30);

surf(2*x,2*y,2*z);

半径为2的球面'

图10.问题10程序图形

(5)色彩控制

①colormap

colormap(m)

问题11、着色性能的例子

z=peaks(20);

colormap(copper);

surf(z);

shadingflat;

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)

求多元函数极值问题

fminsearch(fun,x0)

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<

x<

2时,

所以

的单调增加区间为:

,单调减少区间为:

问题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]);

%绘制图形且显示网格

图13.1问题13程序图形

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

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

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

f=x-log(1+x) 

ezplot(f) 

gridon 

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

图13.2问题13程序图形

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

问题14、用Matlab求函数

的极值。

函数的定义域为

,函数为奇函数.

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

x/(1+x^2)'

[-4,4]) 

图14.问题14程序图形

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

Clear 

%清除变量

x=fminbnd('

-3,0) 

%用fminbnd函数求解极小值点

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

subs('

-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.9999 

ans=1.0001

问题17.函数

内的极小值点和极小值。

f='

(x-3)^2-1'

fminbnd(f,0,5) 

%运用函数求解极小值点

其结果为:

ans=3

即极小值点为x=3

[x,y]=fminbnd(f,0,5) 

%求解极小值

x=3 

y=

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

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

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

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