moxiaowan

 

 

 

                   

 

编写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可显示所有可设置的参数及对应的可选择的参数值。

 

分类:

技术点:

相关文章:

  • 2022-01-15
  • 2022-12-23
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
  • 2022-02-08
  • 2021-12-16
猜你喜欢
  • 2021-06-20
  • 2022-02-08
  • 2022-02-08
  • 2021-09-03
  • 2021-05-17
  • 2021-08-05
相关资源
相似解决方案