行业知识
【最优化方法】实验一 熟悉MATLAB基本功能
实验一 熟悉MATLAB基本功能
实验的目的和要求:在本次实验中,通过亲临使用MATLAB,对该软件做一全面了解并掌握重点内容。
实验内容:
1、全面了解MATLAB系统
2、实验常用工具的具体操作和功能
学习建议:
本次实验在全面了解软件系统基础之上,学习和熟悉一些MATLAB的基础用途,重点掌握优化工具箱函数选用的内容。
重点和难点:
优化工具箱函数选用。
利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非线性方程(组)的求解,线性、非线性的最小二乘问题。另外,该工具箱还提供了线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便快捷的途径。
优化工具箱中的函数
优化工具箱中的函数包括下面几类:
1**.最小化函数**
表1 最小化函数表
| 函 数 | 描 述 |
|---|---|
| fgoalattain | 多目标达到问题 |
| fminbnd | 有边界的标量非线性最小化 |
| fmincon | 有约束的非线性最小化 |
| fminimax | 最大最小化 |
| fminsearch, fminunc | 无约束非线性最小化 |
| fseminf | 半无限问题 |
| linprog | 线性课题 |
| quadprog | 二次课题 |
2**.方程求解函数**
表2 方程求解函数表
| 函 数 | 描 述 |
|---|---|
| / | 线性方程求解 |
| fsolve | 非线性方程求解 |
| fzero | 标量非线性方程求解 |
3**.最小二乘(曲线拟合)函数**
表3 最小二乘函数表
| 函 数 | 描 述 |
|---|---|
| / | 线性最小二乘 |
| lsqlin | 有约束线性最小二乘 |
| lsqcurvefit | 非线性曲线拟合 |
| lsqnonlin | 非线性最小二乘 |
| lsqnonneg | 非负线性最小二乘 |
4**.实用函数**
表4 实用函数表
| 函 数 | 描 述 |
|---|---|
| optimset | 设置参数 |
| optimget |
5**.大型方法的演示函数**
表5 大型方法的演示函数表
| 函 数 | 描 述 |
|---|---|
| circustent | 马戏团帐篷问题—二次课题 |
| molecule | 用无约束非线性最小化进行分子组成求解 |
| optdeblur | 用有边界线性最小二乘法进行图形处理 |
6**.中型方法的演示函数**
表6 中型方法的演示函数表
| 函 数 | 描 述 |
|---|---|
| bandemo | 香蕉函数的最小化 |
| dfildemo | 过滤器设计的有限精度 |
| goaldemo | 目标达到举例 |
| optdemo | 演示过程菜单 |
| tutdemo | 教程演示 |
下面以我们最常用的线性规划模型求解函数linprog作为典型对优化工具箱进行简单的介绍。
linprog函数
功能:求解线性规划问题。
在命令窗口,键入doc linprog,得到下图(该图为帮助窗口)
数学模型:
其中f, x, b, beq, lb和ub为向量,A 和Aeq为矩阵。
语法:
x = linprog(f,A,b,Aeq,beq)x = linprog(f,A,b,Aeq,beq,lb,ub)x = linprog(f,A,b,Aeq,beq,lb,ub,x0)x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)[x,fval] = linprog(...)[x,fval,exitflag] = linprog(...)[x,fval,exitflag,output] = linprog(...)[x,fval,exitflag,output,lambda] = linprog(...)
描述:
x = linprog(f,A,b)求解问题 min f’x,约束条件为Ax > A=[1 -2 1;4 -1 -2];\>> b=[11;-3];\>> Aeq=[-2 0 1];\>> beq=1;\>> lb=zeros(3,1);\>> [x,fval,exitflag]=linprog(f,A,b,Aeq,beq,lb)Optimization terminated.x = 4.0000 1.0000 9.0000fval = -2.0000exitflag = 1
上一篇:拍照后怎么上传到服务器?
下一篇:ecs云服务器最新