1、MATLAB 通过定义非线性函数的文件来表示非线性函数。例如,以下是 matlab/demos 文件夹中的humps 函数的简化版本:function y = humps(x)y = 1./((x-.3).^2 + .01) + 1./((x-.9).^2 + .04) - 6;
2、使用以下命令在区间 0 ≤ x ≤ 1 中的一组点处计算此函数x = 0:.002:1;y = humps(x);
3、然后,使用以下命令绘制该函数plot(x,y)
4、此图形表明,该函数在 x = 0.6 附近具有局部最小值。函数 fminsearch 会求最小值,即此函数采吹涡皋陕用此最小值时的 x 值。fminsearch 的第一个参数是此函数达到最小值时的函数句柄,第二个参数是猜测的最小值的大致位置:p = fminsearch(@humps,.5)
5、要在极小值处计算此函数,humps(p)
6、数值分析采用术语求积和积分来区别定积分的近似数值和常微分方程的数值积分。MATLAB 正交例程包括quad 和 quadl。语句Q = quadl(@humps,0,1)计算此图形中曲线下方的面积,并生成
7、最后,此图形表明该函数在此区间中永远不会为零。这样,如果使用z = fzero(@humps,.5)搜索零,则会在此区间外部找到一个零: