📄 example2_6.m
字号:
%首先编写目标函数的.m文件
function f = myfun (x, s)
f = sum( (x - 0.5).^2 );
%然后编写描述非线性等式和不等式约束以及半无穷约束的函数
function [c, ceq, K1, K2, s] = mycon (X, s)
if isnan (s(1,1))
s = (0.2, 0 ;0.2, 0); %初始化取样步长
end
%取样值
w1 = 1 : s(1, 1) : 100;
w2 = 1 : s(2, 1) : 100;
%半无穷约束
K1=sin(w1*X(1)).*cos(w1*X(2))-1/1000*(w1-50).^2-sin(w1*X(3))-X(3)-1;
K2=sin(w2*X(2)).*cos(w2*X(1))-1/1000*(w2-50).^2-sin(w2*X(3))-X(3)-1;
c = [ ]; ceq = [ ];
%画出半无穷约束的图形
plot(w1, K1, '-', w2, K2, '+');
title('semi-infinite constraint');
%调用函数fseminf
x0 = [0.5; 0.2; 0.3]; %初值
[x, fval] = fseminf (@myfun, x0, 2, @mycon);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -