正在加载图片...
142 MATLAB5手册 China-bub.com 下载 gmin fmin('g',0,2) gmin 1.2277 注意,这是一个局部最小值,不一定是函数在这个区间内的最小值。从图10-2上可以看 出在一个更小区间内可以得到第二个最小值,这个值比第一个值还小: gmin2 fmin('g',0,1) gmin2= 0.9260 (c)还可以用fmin命令来求函数的最大值,但是要先编写一个返回一g(x)的函数,这个函 数保存在M文件minusg..m中。 function y minusg(x) y=-g(x); 求这个函数的最小值就等于求函数g的最大值。 gmax=fmin('minusg',0,2) 结果为: gmax 0.2433 在这个区间内有若干个最大值,MATLAB求出的最大值不一定是函数的全局最大值。 (d)用fmins命令来求多个变量函数的最小值,假设函数为: f(x1,x2)=x7+x3-0.5x1x2-sinx1 编写M文件fx1x2.m: function f fxix2(x) f=x(1).2+x(2).2-0.5.*x(1).*x(2)-sin(x(1)); 函数fmins要求有一个初始估计向量,假设给(1,0): fx1x2min fmins('fx1x2',[1,0]) 结果为: fx1x2min 0.4744 0.1186 用下面的程序画出函数的图形来: x=linspace(-1,150);号新建向量x,假设y=x for1=1:50 号计算fx1x2在每一点的值 for j=1:50 2(i,j)=fx1x2([×(i)×(j)]): end end meshc(x ,x,Z); 号带有基本等值线的网格图 view(80,10): 号指定观察点注意,这是一个局部最小值,不一定是函数在这个区间内的最小值。从图 1 0 - 2上可以看 出在一个更小区间内可以得到第二个最小值,这个值比第一个值还小: (c) 还可以用f m i n命令来求函数的最大值,但是要先编写一个返回- g(x)的函数,这个函 数保存在M文件m i n u s g . m中。 求这个函数的最小值就等于求函数 g的最大值。 gmax=fmin('minusg', 0, 2) 结果为: 在这个区间内有若干个最大值, M AT L A B求出的最大值不一定是函数的全局最大值。 (d) 用f m i n s命令来求多个变量函数的最小值,假设函数为: 编写M文件f x 1 x 2 . m: 函数f m i n s要求有一个初始估计向量,假设给 ( 1,0 ): 结果为: 用下面的程序画出函数的图形来: x = l i n s p a c e (-1, 1 50); % 新建向量x,假设y = x for i=1: 50 % 计算f x 1 x 2在每一点的值 for j=1: 50 Z(i, j)=fx1x2([x(i) x(j)]); e n d end meshc(x ,x, Z); % 带有基本等值线的网格图 view(80, 10); % 指定观察点 1 4 2 M ATLAB 5 手册 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有