91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

用matlab實現的牛頓外點罰函數法,求解n個未知變量

資源截圖

代碼片段和文件信息

%創建人:???常文靜
%?功能:????當未知數有n個時,用罰函數法求最優解
%???????????本程序中的目標函數是f=(x1-0.2)^2+(x2-0.2)^2+...+(xn-0.2)^2約束條件為x1+x2+...
%???????????+xn=3
%?參數:???
%?返回值:???
%?主要思路:?
%?備注:????
%?調用方法:?
%?日期:?????2015/4/23?
%================================================================

%定義要求的未知變量x1x2....xn罰因子M
n=20;
for?i=1:n
????syms?([‘x‘num2str(i)]);
end
syms?M?positive;

x?=?[];
for?i=1:n
????x?=?[xsym([‘x‘num2str(i)])];????%將未知變量x1x2....xn存到數組x中
end


m(1)=10;????????????????????%c為遞增系數。賦初值。
c=8;
d=0;
Q=3;%需要滿足的約束條件

for?i=1:n
????d=d+(x(i)-0.2).^2;???%目標函數
end
f=d+M*(sum(x)-Q).^2;????%增加罰函數的目標函數

f0(1)=5;???%f0為所求最優解下的f的值。賦初值5。

%求偏導、海森矩陣
for?i=1:n
????fx(i)=diff(fx(i));??%f的一階偏導
end

for?i=1:n
????for?j=1:n
????????fxx(ij)=diff(fx(i)x(j));??%f的二階

評論

共有 條評論