mnbvcxzz1375 2023-01-06 22:07 采纳率: 0%
浏览 39

matlab subs wrong

问题遇到的现象和发生背景

这是要求解的问题
1.考虑问题min f(x)=x12+x22,
s.t. x1+x2-40, x1, x20
(1)写出该问题的对偶问题的步骤;
(2)令X1={(3, 3)T},编程实现割平面法求解对偶问题.

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
syms x1 x2 y1 y2 y3;

%!定(MISSING)义目标函数
g=y1*(x1+x2-4)+y2*x1+y3*x2; 

%!定(MISSING)义变量的非负约束
g1=y1>=0;
g2=y2>=0;
g3=y3>=0;

%!定(MISSING)义 primal constraint x1, x2>=0的 dual constraint
g4=y1+y2>=0;
g5=y1+y3>=0;

%!定(MISSING)义 primal constraint x1+x2-4≥ 0的 dual constraint
g6=y1<=0;

%!定(MISSING)义 cutting plane 迭代过程
X=[3 3]';
X_old=X;
while true
Y=[y1 y2 y3]';
c_x=subs(g, [x1 x2], X_old);
c_y=subs(g,[y1 y2 y3],Y);
 [y1_list,y2_list,y3_list]=solve(g1,g2,g3,g4,g5,g6,c_x==c_y);
y_opt=[double(y1_list(1)) double(y2_list(1)) double(y3_list(1))];
sub_g=subs(g,[y1 y2 y3], y_opt);

%!X(MISSING) 小于等于零的情况
grad_x=[diff(sub_g,x1);
    diff(sub_g,x2)];
if grad_x(1)<=0&&grad_x(2)<=0
break;
end

%!用(MISSING)线性规划求解 X
f=-[x1 x2]';
Aeq=[grad_x];
beq=[0];
lb=[0 0]';
[X,fval]=linprog(f,[],[],Aeq,beq,lb);

%!判(MISSING)断X是否改变
if X_old==X
 break;
else
 X_old=X;
end
end

fprintf('optimal x: (%lf, %lf)\n',X(1),X(2));
fprintf('optimal y: (%lf, %lf, %lf)\n',y_opt(1),y_opt(2),y_opt(3));


运行结果及详细报错内容

这是报错结果

duiou1
错误使用 sym/subs>normalize (line 226)
Inconsistency between sizes of second and third arguments.

出错 sym/subs>mupadsubs (line 157)
[X2,Y2,symX,symY] = normalize(X,Y); %#ok

出错 sym/subs (line 145)
G = mupadsubs(F,X,Y);

出错 duiou1 (line 23)
c_x=subs(g, [x1 x2], X_old);

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

应该怎么改

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-01-07 09:50
    关注

    你把代码和报错复制出来发给我

    评论

报告相同问题?

问题事件

  • 创建了问题 1月6日

悬赏问题

  • ¥50 如何在不能联网影子模式下的电脑解决usb锁
  • ¥20 服务器redhat5.8网络问题
  • ¥15 如何利用c++ MFC绘制复杂网络多层图
  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 python螺旋图像
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析
  • ¥200 sqlite3数据库设置用户名和密码