22
实实 5 Matlab 实实实实实 实实实实实

实验 5 Matlab 自定义函数 及导数应用

  • Upload
    tim

  • View
    192

  • Download
    0

Embed Size (px)

DESCRIPTION

实验 5 Matlab 自定义函数 及导数应用. 1. 学习 Matlab 自定义函数;. 实验目的:. 2. 加深理解洛必达法则、极值、最值、单调性。. 实验内容:. 学习 Matlab 命令 自定义函数 验证洛必达法则 函数的单调性与极值 函数的最值. 1. 学习 Matlab 自定义函数 命令及求最小值命令. Matlab 允许用户将自己定义的新函数加倒已存在 Matlab 函数库 中。新定义函数文件具有扩展名: “ .m ” ,称之为函数 m— 文件. 函数 m— 文件的定义格式为:. - PowerPoint PPT Presentation

Citation preview

Page 1: 实验 5   Matlab  自定义函数       及导数应用

实验 5 Matlab 自定义函数 及导数应用

Page 2: 实验 5   Matlab  自定义函数       及导数应用

实验目的:

1. 学习 Matlab 自定义函数;

2. 加深理解洛必达法则、极值、最值、单调性。

Page 3: 实验 5   Matlab  自定义函数       及导数应用

学习 Matlab 命令自定义函数验证洛必达法则函数的单调性与极值函数的最值

实验内容:

Page 4: 实验 5   Matlab  自定义函数       及导数应用

1. 学习Matlab自定义函数命令及求最小值命令

Matlab 允许用户将自己定义的新函数加倒已存在 Matlab 函数库中。新定义函数文件具有扩展名:“ .m” ,称之为函数 m— 文件

function 输出参数 = 函数名(输入参数)

函数体

……

函数体

函数 m— 文件的定义格式为:

Page 5: 实验 5   Matlab  自定义函数       及导数应用

例 1

syms x;y=x^2+sin(x)+2

在 Command Window 中键入:

当给出 x 值时, matlab 将给出相应的 y 的值。

不能建立函数关系。

2sin)( 2 xxxf

我们相建立函数

Page 6: 实验 5   Matlab  自定义函数       及导数应用

function y=f1(x) y=x^2+sin(x)+2;

存为 f1.m 文件,调用该函数时,输入:

syms x;y=f1(x)

打开 Matlab 文本编辑器,输入:

ans=

y=x^2+sin(x)+2

Page 7: 实验 5   Matlab  自定义函数       及导数应用

Matlab 求最小值命令 fmin 调用格式 :

给出函数 f(x) 在 (a,b) 上的最小值。

fmin(‘fun’,a,b) 或 fminbnd(f,a,b)

求函数的零点命令调用格式:

x=fezro(f,x0)

x=fzero(f,[a,b])

x0 为初值点; [a,b]为初始搜索区间。

返回值为是函数为零的点。

Page 8: 实验 5   Matlab  自定义函数       及导数应用

例 1

2

2

2

)(

21

),,(

x

exf

数建立正态分布的密度函

y=zhengtai(1,1,0)

2. 自定义函数

function y=zhengtai(x,a,b)

y=1/sqrt(2*pi)*a*exp(-(x-b)^2/2/a^2)

存为 zhengtai.m ,调用时可输入命令:

ans=0.2420

Page 9: 实验 5   Matlab  自定义函数       及导数应用

若想画出标准正态分布的密度函数的图像,则输入:syms x; ezplot(zhengtai(x,1,0))

Page 10: 实验 5   Matlab  自定义函数       及导数应用

例 2

解:我们希望当输入 a , b , c 的值时,能得到方程的两个根。在文本编辑器中建立名为 rootquad.m 的文件。

;解一元二次方程 02 cbxax

function [x1,x2]=rootquad(a,b,c);

d=b^2-4*a*c;

x1=(-b+sqrt(d))/(2*a);

x2=(-b-sqrt(d))/(2*a);

Page 11: 实验 5   Matlab  自定义函数       及导数应用

的根,例如求方程 0732 2 xx

[r1 r2]=rootquad(2,3,-7)

r1 = 1.2656r2 = -2.7656

f1='2*x^2+3*x-7';x=fzero(f1,-1)

x =

-2.7656

Page 12: 实验 5   Matlab  自定义函数       及导数应用

syms a b c x;

F=a*x^2+b*x+c;

solve(F)

ans =

[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))]

[ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]

Page 13: 实验 5   Matlab  自定义函数       及导数应用

3 验证洛必达法则

)()(

lim)()(

limxgxf

xgxf

xx

)存在或(若导数之比的极限导数之比的极限来计算

型的极限时,可用,洛必达法则是指在求

00

Page 14: 实验 5   Matlab  自定义函数       及导数应用

syms a b x;f=a^x-b^x;g=x;L=limit(f/g,x,0)

例 3

df=diff(f,x);dg=diff(g,x);L1=limit(df/dg,x,0)

为例验证洛必达法则;以xba xx

x

0

lim

型极限这是00

L = log(a)-log(b)

L1= log(a)-log(b)

L=L1

)()(

limlim00

x

baxba xx

x

xx

x

Page 15: 实验 5   Matlab  自定义函数       及导数应用

4 函数的单调性与极值

例 4与极值;

的单调区间求函数 396)( 23 xxxxf

解: 求可导函数的单调区间与极值,就是求导函数的正负区间与正负区间的分界点。

先求导函数的零点,再画出函数图像,根据图像可直观地看出函数的单调区间与极值。

syms x;f=x^3-6*x^2+9*x+3;df=diff(f,x);s=solve(df)

Page 16: 实验 5   Matlab  自定义函数       及导数应用

ezplot(f,[0,4])s = [ 1] [ 3]

EZPLOT Easy to use function plotter. EZPLOT(f) plots the expression f = f(x) over the default domain -2*pi < x < 2*pi. EZPLOT(f, [a,b]) plots f = f(x) over a < x < b

Page 17: 实验 5   Matlab  自定义函数       及导数应用

3)3(7)1(,)(

)3,1()(),1()1,(

minmax

ffxf

xf ,在区间与在区间

Page 18: 实验 5   Matlab  自定义函数       及导数应用

可建立一个名为 dandiao.m 文件,用来求函数的单调区间。disp(' 输入函数 ( 自变量为 x)');syms x;f=input('f(x)=');df=diff(f);s=solve(df);a=[];for i=1:size(s); a(i)=s(i);endezplot(f,[min(a)-1,max(a)+1])

Page 19: 实验 5   Matlab  自定义函数       及导数应用

的最小值。上在区间求函数 )5,0(1)3()( 2 xxf

建立函数的 M— 文件:

调用求函数最小值命令 fmin ,可得函数的最小值点。首先必须建立函数的 M— 文件

例 5

function y=f(x);y=(x-3).^2-1;

求最大值时可用命令:

5 函数的最值

x=fmin(‘f’,0,5)

x=-fmin(‘-(x-3)^2+1’,0,5)

Page 20: 实验 5   Matlab  自定义函数       及导数应用

与极小值。的极大值在求函数例 )2,2(1)(6 23 xxxxf

syms x;

f='x^3-x^2-x+1';

[x1,minf]=fminbnd(f,-2,2)

[x2,maxf]=fminbnd('-x^3+x^2+x-1',-2,2)

maxf=-maxf

Page 21: 实验 5   Matlab  自定义函数       及导数应用

练习:1 . 建 立 函 数 xxaaxf 3sin

31

sin),( 当 a 为 何 值 时 , 该 函

数 在3

x 处 取 得 极 值 ;

2 . 确 定 下 列 函 数 的 单 调 区 间

1 ) . 71862 33 xxxy ; 2 ) . x

xy8

2 ;

3 ) )1ln( 2xxy ; 4 ) . 3)1)(1( xxy ;

3. 求下列函数的最大值与最小值:

1) 41,32 23 xxxy ;

2) 31,28 24 xxxy 。

Page 22: 实验 5   Matlab  自定义函数       及导数应用

位置。讨论局部极值点的确切求各极点的确切位置;用

的二阶导数值;求出驻点处所有零点;求

置全局最小值点的大致位大、部极大、极小和全局最作出图形,观察所有局

对函数

).5

).4

)().3

)().2

;

)1

]3,0[|,2|)(

]2,2[),2sin()(.4

min

23

22

f

xf

xf

xxxxxf

xxxxxf