实验5--matlab自定义函数及导数应用.pptVIP

  • 1
  • 0
  • 约3.44千字
  • 约 38页
  • 2024-03-10 发布于四川
  • 举报

实验5Matlab自定义函数及导数应用实验目的:学习Matlab命令自定义函数验证洛必达法则函数的单调性与极值函数的最值2.Matlab求最小值:**1.学习Matlab自定义函数;2.加深理解洛必达法则、极值、最值、单调性。实验内容:1.Matlab自定义函数Matlab允许用户将自己定义的新函数加到已存在的Matlab函数库中。新定义函数文件具有扩展名:“.m”,称之为函数m—文件function输出参数=函数名(输入参数)函数体……函数体函数m—文件的定义格式为:例1我们建立函数functiony=f1(x)y=x^2+sin(x)+2;存为f1.m文件,调用该函数时,输入:symsx;y=f1(x)打开Matlab文本编辑器,输入:ans=y=x^2+sin(x)+2例2y=zhengtai(1,1,0)functiony=zhengtai(x,a,b)y=1/sqrt(2*pi)*a*exp(-(x-b)^2/2/a^2)存为zhengtai.m,调用时可输入命令:ans=0.2420若想画出标准正态分布的密度函数的图像,则输入:symsx;ezplot(zhengtai(x,1,0))例3解:我们希望当输入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);[r1r2]=rootquad(2,3,-7)r1=1.2656r2=-2.7656min(y):返回向量y的最小值max(y):返回向量y的最大值[x,f]=fminbnd(fun,a,b):x返回一元函数y=f(x)在[a,b]内的局部极小值点,f返回局部极小值。其中fun为函数句柄@fun(这里fun是函数的M文件表达方式)或inline函数。[x,f]=fminsearch(fun,x0):x返回多元函数y=f(x)在初始值x0附近的局部极小值点,f返回局部极小值。这里x,x0均为向量。例4.求函数y=xsin(x2-x-1)在(-1.6,-0.1)内的极小值点fun=inline(x*sin(x^2-x-1),x)[x,f]=fminbnd(fun,-1.6,-1)x=-1.2455f=-1.2138例5.求函数f(x,y)=5–x4–y4+4xy在原点附近的极大值fun=inline(x(1)^4+x(2)^4-4*x(1)*x(2)-5)[x,f]=fminsearch(fun,[0,0])x=1.00001.0000f=-7.0000注意:在使用fminsearch指令时,多变量必须合写成一个向变量练习求极大值点时可用命令:x=fminbnd((x-3)^2+1,0,5)x=fminbnd(-(x-3)^2+1,0,5)symsx;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----x=fzero(f,x0)返回一元函数的一个零点,其中f为函数,且返回函数在x0附近的零点;---------x=fzero(f,[a,b])返回一元函数的一个零点,其中f为函数,且返回函数在[a,b]区间中的零点。例4.求函数y=xsin(x2–x-1)在(-2,-0.1)内的零点fun=inline(x*sin(x^2-x-1),x)fzero(fun,[-2,-0.1])???Errorusing==fzero

Thefunctionvaluesattheintervalendpointsmustdifferinsign.3.Matlab求零点:x=fzero要求区间两端的函数值异号对于例4,我们先作图观测fplot(fun,[-2,-0.1]);gridon;发现在-1.6和-0.6附近各有一个零点,我们分两个小区间分别求解fzero(fun,[-2,-1.2])fzero(fun,[-1.2,-0.1])ans=-1.5956ans=

文档评论(0)

1亿VIP精品文档

相关文档