• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-05
  • 语言: Matlab
  • 标签: matlab  最优化  

资源简介

主要通过matlab编程利用坐标轮换法求解无约束非线性规划问题。给出了具体的操作步骤和方法

资源截图

代码片段和文件信息

%%坐标轮换法
clear
clc
e=0.04;  %要求精度
xm1=[0 3]‘;   %初始点
e1=[1 0]‘;
e2=[0 1]‘;
syms x1
syms x2
syms s
syms s2
%%方向1
xm01=xm1+s*e1;
f=(x1-2)^4+(x1-2*x2)^2;
fs1=subs(f{x1x2}{xm01(11)xm01(21)});
dfs1=diff(fs1);
s1=solve(dfs1);
xs1=imag(s1);
ns01=size(xs1);
ns1=ns01(11);
n01=0;
for i=1:ns1
    if xs1(i)==0
        n01=n01+1;
        ss1(n01)=s1(i);
    end
end
s1=max(double(ss1));
xm01=xm1+s1*e1;
%%%方向2
xm02=xm01+s2*e2;
fs2=subs(f{x1x2}{xm02(11)xm02(21)});
dfs2=diff(fs2);
s02=solve(dfs2);
xs2=imag(s02);
ns02=size(xs2);
ns2=ns02(11);
n02=0;
for j=1:ns2
    if xs2(j)==0
        n02=n02+1;
        ss2(n02)=s02(j);
    end
end
s02=max(double(ss2));
xm02=xm01+s02*e2;
xm2=xm02;
%迭代条件判断
w=xm2-xm1;
t=1;  %迭代次数
while norm(w)>=e
    xm1=xm2;
 

评论

共有 条评论