matlab 泛函极值,新·Matlab泛函指令.ppt

例4.4-5 求积分 (图形演示) 4.5 MATLAB 泛函指令 在MATLAB中,凡以“函数”为输入宗量的指令 ,都被统称为MATLAB泛函指令。最常见的有: z=fzero(fun,x0) 求一元函数零点的指令的最简格式 x=fsolve(fun,x0) 解非线性方程组的最简单格式 x=fminbnd(fun,x1,x2) 求函数在区间(x1,x2)中极小值的指令最简格式 x=fminsearch(fun,x0) 单纯形法求多元函数极值点指令的最简格式 x=fminunc(fun,x0) 拟牛顿法求多元函数极值点指令的最简格式 a=lsqnonlin(fun,a0) 解非线性最小二乘问题指令的最简格式 q=quad(fun,a,b) 采用递推自适应Simpson法计算积分 q=quadl(fun,a,b) 采用递推自适应 Lobatto法求数值积分 ss=dblquad(fun,inmin,inmax,outmin,outmax) 二重(闭型)数值积分指令 [t,YY]=ode45(fun,tspan,Y0) 采用4、5阶Runge-Kutta方程解算ODE 初值问题 对于任意函数f(x)=0来说,可能有零点,也可能没有; 可能有一个零点,也可能有多个甚至无数多个零点。因此, 很难说出一个通用解法。 解题步骤如下: (1)利用MATLAB作图指令获取初步近似解 具体做法:现确定一个零点可能存在的自变量区间;然后利用plot指令画出f(x)在该区间中的图形;用眼观察f(x)与横轴的交点坐标,或者更细致些,用zoom对交点处进行局部放大再读数。借助ginput指令获得更精确些的交点坐标值。 (2)利用fzero指令求精确界 z=fzero(fun,x0) 求一元函数零点指令的简单格式 [z,f_z,exitflag]=fzero(fun,x0,options,P1,P2,…) 求一元函数零点指令的最完整格式 4.5.1 求函数零点 注1 由于fzero是根据函数是否穿越横轴来决定零点 的,因此本程序无法确定函数曲线仅触及横轴 和不穿越的零点。 注2 第二输入宗量x0是表示零点初时猜测。 注3 输入宗量options是优化迭代所采用的参数选 项。 注4 输入宗量P1,P2是向函数fun传递的参数。 注5 指令中,输出宗量z是所求零点的自变量值。 注6 第二个输出宗量f_z是函数值;第三个宗量是表 示程序终止计算的条件。若exitflag>0,则表 明找到零点后退出。 4.5.1 求函数零点 4.5.2 求函数极值点 许多科学研究和工程计算问题都可以归结为一个 极值问题,而且所有的求极大值问题都可以化成求极 小值的问题,所以MATLAB中只有处理极小值的指令 求函数极值的三条指令: [f,fval,exitflag,output]=fminbnd(fun,x1,x2,options,P1,P2,…) 求一元函数在区间(x1,x2)中极小值的指令最完整格式 [f,fval,exitflag,output]=fminsearch(fun,x0,options,P1,P2,…) 单纯形法求多元函数极值点指令的最完整格式 [f,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options,P1, P2,…) 拟牛顿法求多元函数极值点指令的最完整格式 注:x1,x2为被研究区间的左、右边界;x0为极值点位置的初始猜测 4.5.3 数值积分 数值积分有闭型、开型算法之分。两者的区别在于 :是否需要计算积分区间端点处的函数值。 MATLAB中仅提供闭型数值积分指令: q=quad(fun,a,b,tol,trace,p1,p2,…)采用递推自适应Simpso

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值