fmincon函数求极值[通俗易懂]

fmincon函数求极值[通俗易懂]matlab中的函数fmincon可用于求可以求取多元函数的极值,其约束包括五种:1、线性不等式约束;2、线性等式约束;3、变量约束;4、非线性不等式约束;5、非线性等式约束。其形式如下:x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)求解问题的标准型为minF(X)s.tAX<=b(线性不等式约束)AeqX=beq(线性等…

大家好,又见面了,我是你们的朋友全栈君。

matlab中的函数fmincon可用于求可以求取多元函数的极值,其约束包括五种:1、线性不等式
约束;2、线性等式约束;3、变量约束;4、非线性不等式约束;5、非线性等式约束。

其形式如下:

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

求解问题的标准型为
min F(X)
s.t
AX <= b(线性不等式约束)
AeqX = beq(线性等式约束)
G(x) <= 0(非线性不等式约束)
Ceq(X) = 0(非线性等式约束)
lb <= X <= ub(变量约束)
matalb实例:
在这里插入图片描述

func.m

clc
clear
close all
fun=@(x)x(1)^2+x(2)^2+8;
x0=rand(2,1);
A=[];
b=[];
Aeq=[];
beq=[];
vlb=[0,0];
vub=[];
exitflag=1;
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,vlb,vub,'mycon')

mycon.m

function [g,ceq]=mycon(x)
g=-x(1)^2+x(2);
ceq=-x(1)-x(2)^2+2;

其中,func是目标函数;x0是给定的初值;A,b对应线性不等式约束;Aeq,beq对应线性等式约束;vlb,vub对应变量约束;mycon对应非线性不等式和等式约束

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150084.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 傅立叶变换的物理意义

    1、为什么要进行傅里叶变换,其物理意义是什么?傅立叶变换是数字信号处理领域一种很重要的算法。要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义。傅立叶原理表明:任何连续测量的时序或信号,都可以表

    2021年12月26日
    41
  • 闲话IS-IS路由协议之一:认证实现问题

    闲话IS-IS路由协议之一:认证实现问题

    2021年8月19日
    55
  • 第一章,安装spark集群,测试和运行wordcount 案例

    第一章,安装spark集群,测试和运行wordcount 案例第一章,安装spark集群,测试和运行wordcount 案例

    2022年4月23日
    54
  • 系统调用(int 0x80)详解

    系统调用(int 0x80)详解1、系统调用初始化在系统启动时,会在sched_init(void)函数中调用set_system_gate(0x80,&system_call),设置中断向量号0x80的中断描述符:#defineset_system_gate(n,addr) _set_gate(&idt[n],15,3,addr)其中15表示此中断号对应的是陷阱门,注意,这个中断向量不是中断门描述符

    2025年11月6日
    2
  • Linux下修改配置文件内容

    Linux下修改配置文件内容文件操作之修改配置文件内容在一些系统或者游戏运行时经常遇到一些情况需要修改一下配置文件的内容,比如游戏中任务升级了,需要修改人物等级,那么这是怎么完成的呢?好,我还是老规矩先来介绍一个函数,strstr一样的查看手册可以看到,该函数有两个参数,第一个参数要查询的字符串,第二个参数是目标子字符串,返回值是一个指针,指向子字符串的开头,如果没有那么返回NULL,什么意思呢,举个例子,比如CHINAENGLISH字符串,我要查找ENGLISH,使用strstr后,返回一个字符指针,指到E位置。好,介绍完

    2022年7月26日
    22
  • GoLand 2021.5.3 激活码【在线注册码/序列号/破解码】

    GoLand 2021.5.3 激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号