- 注册时间
- 2021-9-7
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 1306
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
先通过一个例子说明所谓明确结论的含义。例:超定方程组要么有唯一解,要么没有解。没有解的时候可以通过最小二乘法求最佳近似解。这是结论!
我的问题:
假设有欠定方程组
0.7196, 0.0694, 0.5264, 0.1107 x1 0
=
1.8332, 0.3779, 1.4690, 0.4547 x2 0
x3
x4
要求x1是正整数,x2是负整数,x3是整数,x4是整数
请问这样的解 其存在性是否有“明确”结论?比如可以证明这样的解肯定存在,或者肯定不存在。如果可以证明解不存在,那么欠定方程组求近似解的方法可否通过几何的方式讲明白?(例如超定方程组的近似解其实就是等号右边向量在方程组列空间的投影!)
因为我对欠定方程组的近似解的几何原理不太了解。所以下面这段用matlab求近似解的代码原理 理解起来也有困难。不知道这段代码如何修改可以得到满足红色字体要求的解?我问了gpt,给出的修改代码求出的解如果满足红色字体要求,带入矩阵得出的0向量精度比较差。如果得出的0向量精确度比较高,那么解就不可能都是整数。
- C = [0.7196, 0.0694, 0.5264, 0.1107;
- 1.8332, 0.3779, 1.4690, 0.4547];
- d = [0; 0];
- % 等式约束
- Aeq = [];
- beq = [];
- % 不等式约束,求解要求第一个未知数大于零,第二个未知数小于零,第三个未知数小于零,第四个未知数大于零
- A = [-1 0 0 0; % x1 > 0 -> -x1 < 0
- 0 1 0 0; % x2 < 0 -> x2 < 0
- 0 0 1 0; % x3 < 0 -> x3 < 0
- 0 0 0 -1]; % x4 > 0 -> -x4 < 0
- b = [0; 0; 0; 0];
- % 优化选项
- options = optimoptions('lsqlin', 'MaxIterations', 1000, 'OptimalityTolerance', 1e-10, 'StepTolerance', 1e-10);
- % 调用 lsqlin 函数
- n = lsqlin(C, d, A, b, Aeq, beq, [], [], [], options);
复制代码 |
|