matlab求解二元函数极值

依然是机房中的R2010a版本
命令:
1、x=fminsearch(fun,x0)或x=fminunc(fun,x0)求极小值点x,初值选为x0
2、[x,fmin]=fminsearch(fun,x0)或[x,fmin]=fminunc(fun,x0)
3、fminsearch采用单纯形法,fminunc采用牛顿法

除了fminsearch和fminunc这两种命令外,建立函数还可以用不同的方法:

建立函数的方法

以p191task2_2为例子,采用字符串建立函数

% p191task2_2
%求min(f(x))=(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)*exp(x(1))
clc,clear
f='(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)*exp(x(1))';
digits 15
x0=[0,0];
[x,fmin]=fminsearch(f,x0);
vpa(x,15)
vpa(fmin,15)

然而此题的问题在于,无法找到合适的初值,初值每变动一次,fmin也随之变动。
为此,画出函数图像:

[x,y]=meshgrid(-30:0.3:-10,-30:0.3:-10);
f=(4*x.^2+ 2*y.^2+4.*x.*y+2.*y+1).*exp(x);
figure(1)
surf(x,y,f)
figure(2)
contour(x,y,f,100)

补充:contour为画等高线命令
contour(x,y,z,n) n为等高线条数;

由图可以大致得到,函数在所选区域内全部为正,最小值接近0,在另外选择的若干区域中,结果类似,看出最小值大概是0。

以p191task2_3为例子,用.m文件建立函数

先创建.m函数

%p192task2_3 fun
%fun2_3.m
function f=fun2_3(x)
f=4*x(1)^2+5*x(1)*x(2)+2*x(2)^2;

再在同一个目录下写

%p191task2_3.m
clc,clear
[x,y]=meshgrid(-10:0.3:10,-10:0.3:10);
z=4*x.^2+5*x.*y+2*y.^2;
figure(1)
surf(x,y,z)
figure(2)
contour(x,y,z)
x0=[-3,-3];
% [x,fmin]=fminsearch(@fun2_3,x0)
[x,fmin]=fminunc(@fun2_3,x0)

结果:

MATLAB求解二元(多元)函数极值相关推荐

  1. matlab 解函数方程,MATLAB程序设计教程(7)—MATLAB解方程与函数极值

    MATLAB程序设计教程(7)--MATLAB解方程与函数极值 第7章MATLAB解方程与函数极值 7.1  线性方程组求解 7.2  非线性方程数值求解 7.3  常微分方程初值问题的数值解法 7. ...

  2. matlab二元方程区间求解,matlab求解二元方程组

    陈星似 魔法师 matlab求解二元方程组 悬赏分:0 提问时间:2010-11-30 23:29回答数:1浏览量:241问题指向:全国 t1=(q1+q2+q3+q4-q5-q6-q7)/g1/c1 ...

  3. matlab解方程教程,MATLAB程序设计教程(7)—MATLAB解方程与函数极值

    第7章 MATLAB解方程与函数极值 7.1 线性方程组求解 7.2 非线性方程数值求解 7.3 常微分方程初值问题的数值解法 7.4 函数极值 7.1 线性方程组求解 7.1.1 直接解法 1.利用 ...

  4. matlab求函数极值教程,MATLAB程序设计教程(7)—MATLAB解方程与函数极值

    MATLAB程序设计教程(7)--MATLAB解方程与函数极值 第7章MATLAB解方程与函数极值 7.1  线性方程组求解 7.2  非线性方程数值求解 7.3  常微分方程初值问题的数值解法 7. ...

  5. matlab求解出来的函数,变成点乘,并且成为函数

    matlab求解出来的函数,变成点乘,并且成为函数 ****eval(['@(x,y)]',vectorize(Fun));** `

  6. MATLAB学习笔记(七)——MATLAB解方程与函数极值

    (一)线性方程组求解 包含n个未知数,由n个方程构成的线性方程组为: 其矩阵表示形式为: 其中 一.直接求解法 1.左除法 x=A\b; 如果A是奇异的,或者接近奇异的.MATLAB会发出警告信息的. ...

  7. matlab解方程最值点,MATLAB解方程与函数极值

    1.线性方程数值求解 主要是用到了计算方法里的LU分解等不过是加快了求解速度而已相对于inv(A)*b或者A\b 2.非线性方程数值求解 1 单变量非线性方程求解 在MATLAB中提供了一个fzero ...

  8. Matlab求解方程或函数的根,root,fzero,solve,fsolve的区别

    1.引言 Matlab中有很多求解方程和方程组的函数,这些函数的使用可能有很多人都模棱两可,这里做一个简单的介绍,给个大方向,学会这些函数的基本使用场景.想要学习每个函数的更多细节和案例,Matlab ...

  9. matlab 二元微分方程组,求助,matlab求解二元二阶的常微分方程组

    边值问题Matlab可用BVP4C命令,但感觉比较麻烦,下面用1stOpt求解,很简单快捷:CODE: Constant Pey=9.73, Nox=8.05, uxuy=3, bd=1, cx1e= ...

最新文章

  1. 连接此产品到计算机并打开此产品电源,n6705c 直流电源分析仪.pdf
  2. 第11章 PADS功能使用技巧(2)-最全面
  3. python requests 发送 上传 多个文件
  4. 获取当前脚本所在的绝对路径
  5. 劫起|再谈Linux epoll惊群问题的原因和解决方案
  6. 利用python爬虫(part17)--初识selenium
  7. NIM的完整形式是什么?
  8. xp系统设置锁定计算机,教你XP电脑中有效的设置自动锁屏的方法
  9. 03python面向对象编程5
  10. 深入C++“准”标准库,Boost你的力量
  11. 好消息!电商工具箱API详情接口,更全面
  12. 地铁票务管理系统_地铁票务管理是干什么
  13. 动态网站开发技术学习2:VS 2010制作作第一个简单示例网站
  14. 怎么做移动APP测试,移动应用测试有哪些?
  15. 2018高中计算机竞赛,最新 | 2018年高中生各项竞赛时间一览表
  16. 【0基础入门课程】实战入门柿饼UI,带你实现动感汽车仪表盘、APP Store等
  17. 基于FPGA的数字电子琴——数电小系统设计【数字电子技术】(使用Vivado中的verilog语言)含piano代码文件(全)
  18. ZBrush:生物角色无脑重拓扑神器ZWrap
  19. 马斯克畅想的“超级高铁”物理上可行,但面临三大工程挑战
  20. Field xxxMapper in xxxServiceImpl required a bean of type XxxMapper解决方法

热门文章

  1. GFP:新一代多业务传输技术(转)
  2. 无法访问此网站localhost 拒绝了我们的连接请求。请试试以下办法:检查网络连接检查代理服务器和防火墙ERR_CONNECTION_REFUSED
  3. 宿主软件中文版含乐器包和插件包-AVID Pro Tools 10.3.10 Mac
  4. python invoking c++
  5. yarn和npm常用基本命令安装和卸载
  6. linux补丁rt ck pf zen,Linux 内核社区补丁对比
  7. 数据清洗(一)-----------重复数据处理
  8. Xmap的NullPointerException
  9. smss.exe是什么进程?详解Windows会话管理器中的smss.exe
  10. 【微信小程序】 微信小程序连接本地接口