1.quadprog 二次规划的函数

Matlab 中二次规划的数学模型可表述如下

其中

H是把目标函数二次项部分进行实对称矩阵,

f是线性函数的列向量。

例求解二次规划

得到

h=[4,-4;-4,8]; 注意Matlab 中二次规划的数学模型中H 之前有个1/2 所以 对称二次型矩阵要乘以2 即2.*[2,-2;-2,4]=[4,-4;-4,8]
f=[-6;-3]; 目标函数线性部分的列向量。
a=[1,1;4,1]; 不等式约束的A矩阵
b=[3;9]; 
lower[0,0]
依次输入Optimization Tool

2.单一目标ga求解 遗传算法  (可以替代1中的解法,比较万能 不过求出来的是近似最优解)

第一步首先是编写适应度函数 fitness.m

function f =fitness(x)
f1=4*x(1).^3+4*x(1)*x(2)+2*x(2).^2-42*x(1)-14;
f2=4*x(2).^3+4*x(1)*x(2)+2*x(2).^2-26*x(1)-22;
f=f1.^2+f2.^2;

Fitness function 填写适应度函数的句柄

有两个变量 所以填2

然后勾选右边option进行具体参数调整,最后勾选绘图

得到结果

最终值 x1=-0.275 x2=1.448 fval=0.0165

3.多目标优化 gamultiobj

function f =fitness(x)
f(1)=x(1)^4-10*x(1)^2+x(1)*x(2)+x(2)^4-(x(1)^2)*(x(2)^2);
f(2)=x(2)^4-(x(1)^2)*(x(2)^2)+x(1)^4+x(1)*x(2);

多目标适应度函数 fitness.m

这三个绘图选项 勾选 特别是Pareto front

最后得到结果 x1,x2,f1,f2

4.模拟退火算法SA 工具箱应用

function y = fitness(x)
y = 20+x(1)^2+x(2)^2-10*(cos(2*pi*x(1))+cos(2*pi*x(2)));

求最小值

x0=[2.5,2.5] %初始值

lb=[-5,-5]变量下界

ub=[5,5]变量上届

右边参数 function tolerance 改成1e-10 精度更大

得到最优结果 x1=0 ,x2=0 y=0

5.fsolve 用最小二乘法来求解非线性方程组

function q= fitness(p)
x=p(1);
y=p(2);
q(1)=x-0.6*sin(x)-0.3*cos(y);
q(2)=y-0.6*cos(x)+0.3*sin(y);

fitness.m

P为输入的2*1矩阵[x y] 通常输入初始点

在给定的初值x0=0.5,y0=0.5下,调用fsolve函数求方程的根。

[matlab] 12.Optimization Tool的使用的更多相关文章

  1. 【Go命令教程】12. go tool pprof

    我们可以使用 go tool pprof 命令来交互式的访问概要文件的内容.命令将会分析指定的概要文件,并会根据我们的要求为我们提供高可读性的输出信息. 在 Go 语言中,我们可以通过标准库的代码包 ...

  2. 数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization)

    数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization) 2015年12月27日 18:51:19 下一步 阅读数 43 ...

  3. Qt 5.12 LTS 部署

    1. 拷贝release生成的exe到一个独立的目录deploy 2. windeployqt.exe A_Toolkit.exe 3. 将qt\qt5.12.5\tool\mingw730_64\b ...

  4. 一段有关线搜索的从python到matlab的代码

    在Udacity上很多关于机器学习的课程几乎都是基于python语言的,博主“ttang”的博文“重新发现梯度下降法——backtracking line search”里对回溯线搜索的算法实现也是用 ...

  5. [C2P3] Andrew Ng - Machine Learning

    ##Advice for Applying Machine Learning Applying machine learning in practice is not always straightf ...

  6. 推荐15个最好用的 JavaScript 代码压缩工具

    JavaScript 代码压缩是指去除源代码里的所有不必要的字符,而不改变其功能的过程.这些不必要的字符通常包括空格字符,换行字符,注释以及块分隔符等用来增加可读性的代码,但并不需要它来执行. 在这篇 ...

  7. requerjs 合并 优化配置

    /* * This is an example build file that demonstrates how to use the build system for * require.js. * ...

  8. RequireJS API

    可以找到许多的解读,但是原文总是最重要的,也是最正宗的说明,直接访问 RequireJS 有时不太方便,这里将 RequireJS 2.0 API 的原文转载到博客园,方便查看. This is th ...

  9. 21 Free SEO Tools For Bloggers--reference

    http://dizyne.net/21-free-seo-tools-for-bloggers/ What do you think is important in a website? Yes, ...

随机推荐

  1. python中的property属性

    目录 1. 什么是property属性 2. 简单的实例 3. property属性的有两种方式 3.1 装饰器方式 3.2 类属性方式,创建值为property对象的类属性 4. property属 ...

  2. python面向对象学习(三)私有属性和私有方法

    目录 1. 应用场景和定义方式 2. 伪私有属性和私有方法 在java或者其他的编程语言中,使用访问修饰符来限制属性和方法的访问级别,一般有public.protected.default.priva ...

  3. Fzreo matlab

    fzero Root of nonlinear function collapse all in page Syntax x = fzero(fun,x0) example x = fzero(fun ...

  4. Springboot@Configuration和@Bean详解

    Springboot@Configuration和@Bean详解 一.@Configuration @Target({ElementType.TYPE}) @Retention(RetentionPo ...

  5. 数据库sql语句常见面试题

    转载:本文转载自:https://blog.csdn.net/woshinidedege/article/details/78659202 一.有以下几张表及表结构Student(Sid,Sname, ...

  6. Spring之AOP在XML中的配置方法

    AOP 即 Aspect Oriental Program 面向切面编程 先来一个栗子: <aop:config> <aop:pointcut id="loggerCutp ...

  7. [jQuery]相对父级元素的fixed定位

    (function($) {     var DNG = {};     //----------------------------------------------------/     // ...

  8. Python 基于Python实现的ssh兼sftp客户端(下)

    基于Python实现的ssh兼sftp客户端   by:授客 QQ:1033553122 otherTools.py #!/usr/bin/env/ python # -*- coding:utf-8 ...

  9. eclipse中web项目没有run on server

    刷新web项目,项目->右击->Properties->Project Facets,选择Java和Dynamic Web Module.点击Apply and Close,再次运行 ...

  10. 【LeetCode】两数相加

    题目描述 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和. ...