首页天道酬勤matlab求二元函数的最小值,MATLAB用函数求二元函数极值

matlab求二元函数的最小值,MATLAB用函数求二元函数极值

张世龙 05-12 09:13 69次浏览

matlab求二元函数极值的仍然是机房的R2010a版本

命令:

1、x=fminsearch(fun,x0 )或x=FMI nunc (fun,x0 )求极小值点x,初始值为x0

2,[x,fmin]=fminsearch(fun,x0 )或[x,fmin ]=FMI nunc (fun,x0 ) )。

3、fminsearch为单纯形法,fminunc为cqdtn法

除了名为fminsearch和fminunc的命令外,还有其他创建函数的方法。

创建函数的方法以p191task2_2为例,使用字符串创建函数% p 191t ask2_2% (min (f ) x )=)4* x (1)2*x ()2) )4* x (x )2) ) [x,fmin ]=fmin搜索(f,x0 ); VPA(x,15 ) VPA ) fmin,15 )但是,这个问题的问题是找不到合适的初始值,每当初始值变动时fmin也变动。

为此,请绘制函数的图像:

[x,y ]=mesh grid (-30:0.3:-10,-30:0.3:-10 ); f=(4*x.^22*y.^24.*x.*y2.*y1 ).*exp(x ) x ); figure(1) surf(x ) x,y,f ) figure(1) contour(x ) x,y,f,100 ) )。

补充: contour是用于绘制等高线的命令

contour(x、y、z、n ) n为等高线根数;

从图中可以看出,函数在选定区域内都是正的,最小值接近0,在另一些选定区域结果相似,最小值几乎为0。

以p191task2_3为例,在. m文件中创建函数之前先创建. m函数

% p 192 task2_3fun % fun2_3. mfunctionf=fun2_3(x ) f=4*x(1)1)5* x (1)2) x (2) x )2) 2; 又写在同一个目录里

%p191task2_3.mclc,clear[x,y]=meshgrid(-10:0.10,-10:0.3:10 ); z=4*x.^2 5*x.*y 2*y.^2; figure(1) surf(x ) x,y,z ) figure )2) contour(x ) x,y,z ) x0=[-3,-3] % [x,fmin ]=fmin search (@

4次牛顿插值matlab例题,使用matlab仿真优点