1 / 22

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

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

tim
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 1. 学习 Matlab自定义函数; 实验目的: 2.加深理解洛必达法则、极值、最值、单调性。

  3. 实验内容: • 学习 Matlab 命令 • 自定义函数 • 验证洛必达法则 • 函数的单调性与极值 • 函数的最值

  4. 1.学习Matlab自定义函数命令及求最小值命令 Matlab允许用户将自己定义的新函数加倒已存在Matlab函数库中。新定义函数文件具有扩展名:“.m”,称之为函数 m—文件 函数 m—文件的定义格式为: function 输出参数=函数名(输入参数) 函数体 …… 函数体

  5. 例1 我们相建立函数 在 Command Window中键入: syms x;y=x^2+sin(x)+2 当给出x值时,matlab将给出相应的y的值。 不能建立函数关系。

  6. 打开 Matlab 文本编辑器,输入: function y=f1(x) y=x^2+sin(x)+2; 存为 f1.m 文件,调用该函数时,输入: syms x;y=f1(x) ans= y=x^2+sin(x)+2

  7. fmin(‘fun’,a,b) 或 fminbnd(f,a,b) Matlab 求最小值命令 fmin 调用格式: 给出函数f(x)在(a,b)上的最小值。 求函数的零点命令调用格式: x=fezro(f,x0) x=fzero(f,[a,b]) x0为初值点;[a,b]为初始搜索区间。 返回值为是函数为零的点。

  8. 2. 自定义函数 例1 function y=zhengtai(x,a,b) y=1/sqrt(2*pi)*a*exp(-(x-b)^2/2/a^2) 存为 zhengtai.m,调用时可输入命令: y=zhengtai(1,1,0) ans=0.2420

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

  10. 例2 解:我们希望当输入 a,b,c 的值时,能得到方程的两个根。在文本编辑器中建立名为 rootquad.m的文件。 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);

  11. [r1 r2]=rootquad(2,3,-7) r1 = 1.2656 r2 = -2.7656 或 f1='2*x^2+3*x-7';x=fzero(f1,-1) x = -2.7656

  12. 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))]

  13. 3 验证洛必达法则

  14. 例3 syms a b x; f=a^x-b^x;g=x;L=limit(f/g,x,0) L = log(a)-log(b) df=diff(f,x);dg=diff(g,x);L1=limit(df/dg,x,0) L1= log(a)-log(b) L=L1

  15. 4 函数的单调性与极值 例4 解: 求可导函数的单调区间与极值,就是求导函数的正负区间与正负区间的分界点。 先求导函数的零点,再画出函数图像,根据图像可直观地看出函数的单调区间与极值。 syms x; f=x^3-6*x^2+9*x+3;df=diff(f,x);s=solve(df)

  16. s = [ 1] [ 3] ezplot(f,[0,4]) 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

  17. 可建立一个名为 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); end ezplot(f,[min(a)-1,max(a)+1])

  18. 5 函数的最值 调用求函数最小值命令 fmin ,可得函数的最小值点。首先必须建立函数的 M—文件 例5 建立函数的 M—文件: function y=f(x); y=(x-3).^2-1; x=fmin(‘f’,0,5) 求最大值时可用命令: x=-fmin(‘-(x-3)^2+1’,0,5)

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

  20. 练习:

More Related