zoukankan      html  css  js  c++  java
  • Matlab无约束非线性规划的求解

    标准形式:

    [minquad f(X) ]

    没有任何的约束条件,在matlab中,fminsearch() 和 fminunc() 可用于求解非线性规划。

    • fminsearch 是用单纯形法寻优
    • fminunc 为无约束优化提供了大型优化和中型优化算法

    MATLAB 求解无约束非线性规划的步骤

    ①首先建立一个函数M文件, 如 fun.m,用以储存目标函数。

    ②其次,调用格式

    [x.favl,exitflag,output]=fminunc('fun',X0,options) 或

    [x.favl,exitflag,output]=fminsearch('fun',X0,options)

    等号左侧:

    • x:返回最优解。

    • favl:返回目标函数在最优解 x 点的函数值。

    • exitflag:返回算法的终止标志。

    • output:返回优化算法信息的一个数据结构。

    等号右侧:

    • 第一个参数是调用目标函数储存的文件
    • 第二个参数是决策变量的初始值
    • 第三个输入参数 options 为设置优化选项参数

    例:给定初始值为[-1,1],求

    [minquad f(x)=(4x_1^2+2x^2_2+4x_1x_2+2x_2+1)e^{x_1} ]

    1.编写函数fun.m:

    function f=fun(x)
    f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
    end
    

    2.输入如下:

    x0=[-1,1];
    [x,f]=fminunc('fun',x0)
    

    3.运行结果显示:

    x =
    
        0.5000   -1.0000
    
    
    f =
    
       3.6609e-16
    
  • 相关阅读:
    SpringMVC学习笔记----
    各种语言学习
    七步精通Python机器学习 转
    开源GIS有用
    sql 语句
    调试windows服务最简单的方法之一
    sqlserver2008 win7下安装 windows installer错误
    高德地图AmapSDKDemo运行
    google mapsDemo示例运行
    android开发环境搭建遇到的问题
  • 原文地址:https://www.cnblogs.com/Noturns/p/13348045.html
Copyright © 2011-2022 走看看