⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yuchou2.m

📁 用matlab解决线性回归问题
💻 M
字号:
%目标函数为:min f(x)=2x1^2-4x1*x2+4x2^2-6x1-3x2
%约束条件:x1+x2<=3
%         4x1+x2<=9
%         x1,x2>=0
%选择可行方向法
%将约束条件改为:-x1-x2>=-3
%         -4x1-x2>=-9
%         x1,x2>=0
%第一步设迭代初始值为X=[0,0]';约束条件为e1=0.01;e2=0.001;k=0;
%第二步确定起作用约束指标集J(X(k))={j/gj(X(k))=0,1<=j<=2}
   %1.若J(X(k))为空集,且f(x)的梯度的平方和<=e1,停止迭代,得点X(k)
   %2.若J(X(k))为空集,但是f(x)的梯度的平方和>e1,则取搜索方向p(k)=-的梯度f(x),然后转向第五步
   %3.若J(X(k))不为空集,则转下一步
%求解线性规划,得到最优解(p(k),eta(k));p(k)为X(k)处的可行下降方向,eta(k)是引进的
    % min eta
    %f(x(k))的梯度的转置*p<=eta
    %-gj(x(k))的梯度的转置*p<=eta 
    %-1<dj<1       对p的各分量增加一个约束:其各分量dj的绝对值不超过1
%检验是否满足eta的模值小于e2
%在搜索方向上,确定最优步长,解下一一维极值问题
%令x(k+1)=x(k)+lda(k)*p(k)并置k=k+1,返回第二步

%设置初始条件,并设置运行误差
X=[0,0]';e1=0.01;e2=0.001;k=0;%第一步设迭代初始值为X=[0,0]';约束条件为e1=0.01;e2=0.001;k=0;
f1=[4,-4;-4,8]*X+[-6;-3]
%确定起作用的约束指标集
G=[-1,-1;-4,-1]*X+[3;9];
if norm(G)==0&norm(f1)<e1
    X;
    return
elseif norm(G)~=0
     p=-(f1)
else
    
end
















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -