220 likes | 525 Views
实验 5 Matlab 自定义函数 及导数应用. 1. 学习 Matlab 自定义函数;. 实验目的:. 2. 加深理解洛必达法则、极值、最值、单调性。. 实验内容:. 学习 Matlab 命令 自定义函数 验证洛必达法则 函数的单调性与极值 函数的最值. 1. 学习 Matlab 自定义函数 命令及求最小值命令. Matlab 允许用户将自己定义的新函数加倒已存在 Matlab 函数库 中。新定义函数文件具有扩展名: “ .m ” ,称之为函数 m— 文件. 函数 m— 文件的定义格式为:.
E N D
实验5 Matlab 自定义函数 及导数应用
1. 学习 Matlab自定义函数; 实验目的: 2.加深理解洛必达法则、极值、最值、单调性。
实验内容: • 学习 Matlab 命令 • 自定义函数 • 验证洛必达法则 • 函数的单调性与极值 • 函数的最值
1.学习Matlab自定义函数命令及求最小值命令 Matlab允许用户将自己定义的新函数加倒已存在Matlab函数库中。新定义函数文件具有扩展名:“.m”,称之为函数 m—文件 函数 m—文件的定义格式为: function 输出参数=函数名(输入参数) 函数体 …… 函数体
例1 我们相建立函数 在 Command Window中键入: syms x;y=x^2+sin(x)+2 当给出x值时,matlab将给出相应的y的值。 不能建立函数关系。
打开 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
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]为初始搜索区间。 返回值为是函数为零的点。
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
若想画出标准正态分布的密度函数的图像,则输入:若想画出标准正态分布的密度函数的图像,则输入: syms x; ezplot(zhengtai(x,1,0))
例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);
[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
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))]
例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
4 函数的单调性与极值 例4 解: 求可导函数的单调区间与极值,就是求导函数的正负区间与正负区间的分界点。 先求导函数的零点,再画出函数图像,根据图像可直观地看出函数的单调区间与极值。 syms x; f=x^3-6*x^2+9*x+3;df=diff(f,x);s=solve(df)
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
可建立一个名为 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])
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)
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