- 在线时间
- 90 小时
- 最后登录
- 2018-12-27
- 注册时间
- 2016-4-22
- 听众数
- 17
- 收听数
- 0
- 能力
- 20 分
- 体力
- 23475 点
- 威望
- 2 点
- 阅读权限
- 200
- 积分
- 7546
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 126
- 主题
- 100
- 精华
- 2
- 分享
- 0
- 好友
- 6
升级   50.92% TA的每日心情 | 开心 2018-6-4 15:01 |
|---|
签到天数: 7 天 [LV.3]偶尔看看II
 群组: 2018年大象老师国赛优 群组: 高考备战 群组: 2018中小学数学建模冬 |
将要规划求解的问题运用各种原理写成要最大化或者最小化的数学公式后,运用MATLAB求解问题。针对非线性规划,MATLAB提供了如下命令:fimincon. : V2 J3 O x/ o
MATLAB中非线性规划的数学模型可写成如下形式:
% E& |9 y3 G/ S+ D' \# U 7 B8 Y' y' @. c( X, U& `
f(x)为标量函数,A,B,Aeq,Beq是相应维数的矩阵和向量,C(x),Ceq(x)是非线性向量函数5 J! B7 f. E, K U$ f: ^0 p; }
, c% |& o, i5 ]- S7 A
如,求解下列非线性规划:
+ o4 J" Z3 i# k5 ^![]()
" Y4 ?, [9 ^$ {: ], D1 F先编写funl.m定义目标函数:8 i) ]/ D8 K' q7 q
function f = fun1(x);f = sum(x.^2) + 8;
4 r3 q3 x% ^ t0 v2 u f文件fun2.m定义了非线性约束条件:
" ~% }1 ?" _ M- x# x U4 @1 ufunction [g,h] = fun2(x);g = [(-x(1)^2 + x(2) - x(3)^2);(x(1) +x(2)^2 + x(3)^2 - 3)];h = [(-x(1) - x(2)^2 + 2);(x(2) + 2*x(3)^2 - 3)];
( l6 E G% ~$ g: U% V% M0 d. b主程序文件example2.m如下:
2 u( I# a# `3 v/ Loptions = optimset('largescale','off');[x,y] = fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[],... 'fun2',options)) v# m4 i! e& L+ ~& x) n5 `% H' T1 q" ]
结果为:: y, H) s9 x5 N! T: ^6 [! K
x = 0.5522 1.2033 0.9478y = 10.6511
6 T1 o& ?/ j9 v# g# I; ], u5 }% e: y9 D
+ n, w' S9 B9 |, V% E9 N; m
* y/ y. m4 R# @8 w5 O0 A& w+ z, m0 S
4 v& U: \$ m+ _6 ]' q4 D* T$ D3 X
|
zan
|