矩阵的数值运算.ppt
五、函数的极值1.固定区间单变量函数的最小值利用fminbnd函数求固定区间单变量函数的最小值。用法:fun:单变量函数的函数名,[x1x2]为给定的计算区间,[x,fval]为最小值点的位置和最小值。第53页,共67页,2024年2月25日,星期天例:求在区间[0,2]的最小值f=inline(x.^3-2*x.^2-5,x);%采用内联函数表示测试函数x=0:0.1:2;plot(x,f(x))[x,y]=fminbnd(f,0,2)x=1.3333y=-6.1852或:f=x.^3-2*x.^2-5第54页,共67页,2024年2月25日,星期天2.固定区间多变量函数的最小值利用fminsearch函数求固定区间多变量函数的最小值。用法:从函数fun的给定点开始搜索附近的最小值点x,fval为最小值点对应的最小值。第55页,共67页,2024年2月25日,星期天例:求在区间x=0.3,y=0.7附近的最小值点。f=inline(‘p(1).^2+p(2).^2+7’,‘p’);%采用内联函数表示测试函数[minpoint,minval]=fminsearch(f,[0.3,0.7])minpoint=1.0e-004*-0.1766-0.1636minval=7.0000第56页,共67页,2024年2月25日,星期天六、代数方程求解求非线性方程式的根的步骤:定义方程式(形式),可用inline函数定义;代入适当范围的x及其对应f(x)值,画出方程函数曲线,了解该方程式根的大致位置;由图中决定f(x)与x轴相交的大致位置x0,通过fzero函数求出在x0附近的根。第57页,共67页,2024年2月25日,星期天例:求方程f=inline(2*exp(x).*sin(2*pi*x)-0.5,x);x=0:0.1:2;y=f(x);plot(x,y)r=fzero(f,0.5)r=0.4752r=fzero(f,1)r=1.0144r=fzero(f,1.5)r=1.4910第58页,共67页,2024年2月25日,星期天七、数值积分与微分数值积分基本原理求解定积分的数值方法多种多样,如简单的梯形法、辛普生(Simpson)法、牛顿-柯特斯(Newton-Cotes)法等都是经常采用的方法。它们的基本思想都是将整个积分区间[a,b]分成n个子区间[xi,xi+1],i=1,2,…,n,其中x1=a,xn+1=b。这样求定积分问题就分解为求和问题。第59页,共67页,2024年2月25日,星期天数值积分的实现方法变步长辛普生法基于变步长辛普生法,MATLAB给出了quad函数来求定积分。该函数的调用格式为:[In]=quad(fname,a,b)其中fname是被积函数名。a和b分别是定积分的下限和上限。返回参数I即定积分值。n为被积函数的调用次数。第60页,共67页,2024年2月25日,星期天例:求定积分。f=inline(‘exp(-0.5*x).*sin(x+pi/6)’);%定义被积函数s=quad(f,0,3*pi)s=0.9008n=77第61页,共67页,2024年2月25日,星期天牛顿-柯特斯法基于牛顿-柯特斯法,MATLAB给出了quad8函数来求定积分。该函数的调用格式为:[In]=quad8(fname,a,b)其中参数的含义和quad函数相似,该函数可以更精确地求出定积分的值,且一般情况下函数调用的步数明显小于quad函数,从而保证能以更高的效率求出所需的定积分值。第62页,共67页,2024年2月25日,星期天例:分别用quad函数和quad8函数求定积分的近似值,并在相同的积分精度下,比较函数的调用次数。f=inline(‘exp(-0.5*x).*sin(x+pi/6)’);%定义被积函数[s,n]=quad8(f,0,3*pi)s=