• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

非线性规划的Matlab 解法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

 

 

                   

 

编写M 文件fun1.m 定义目标函数

function f=fun1(x);
%   定义目标函数
f=sum(x.^2)+8;
%   .^2是矩阵中的每个元素都求平方。^2是求矩阵的平方或两个相同的矩阵相乘,要求矩阵为方阵。

编写M文件fun2.m定义非线性约束条件

function[g,h]=fun2(x);
%定义非线性约束条件
g=[-x(1)^2+x(2)-x(3)^2
    x(1)+x(2)^2+x(3)^2-20];
%非线性约束不等式条件
h=[-x(1)-x(2)^2+2
    x(2)+2*x(3)^2-3];

编写主程序文件example2.m 如下:

[x,y]=fmincon(\'fun1\',rand(3,1),[],[],[],[],zeros(3,1),[],\'fun2\',optimset(\'largescale\',\'off\'))
%这是对寻优函数搜索方式的设定,
%LargeScale指大规模搜索,off表示在规模搜索模式关闭,Simplex指单纯形算法,on表示该算法打开。
%display指结果方式,有四种off | iter | notify | final,
%iter大概是指中间结果每步都显示,一般选择final显示最终结果。在MATLAB运行窗口直接输入optimset可显示所有可设置的参数及对应的可选择的参数值。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap