MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 133|回复: 5|关注: 0

[已解决] 关于线性规划函数linprog的问题

[复制链接]

新手

7 麦片

财富积分


050


1

主题

10

帖子

0

最佳答案
我有一个疑问,在看书上例子的时候,比如说我最终输出为y = a*x+b*y+c*z,那么应该y =[a b c].*[x;y;z],应该是一个行向量乘上一个列向量,为什么f的结构是[a;b;c]呢?还是说最终的输出形式我想错了?
比如以下例子:

  1. f = [-0.18;-0.1;-0.09;-0.12];
  2. A = [1 -1 -1 -1
  3.      0 -1 -1 1];
  4. b = [0;0];
  5. Aeq = [1 1 1 1];
  6. beq = 1;
  7. lb = zeros(4,1);
  8. [x,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb)

复制代码



论坛优秀回答者

中级

1216 麦片

财富积分


5001500


2

主题

2483

帖子

283

最佳答案
  • 关注者: 91
发表于 2017-8-11 15:07:11 | 显示全部楼层
y = a*x+b*y+c*z,那么应该y =[a b c].*[x;y;z]
——只能说你完全不懂点乘和矩阵乘
你自己运行一下这种维度的点乘,会报错的

新手

7 麦片

财富积分


050


1

主题

10

帖子

0

最佳答案
 楼主| 发表于 2017-8-11 15:09:28 | 显示全部楼层
halleyhit 发表于 2017-8-11 15:07
y = a*x+b*y+c*z,那么应该y =[a b c].*[x;y;z]
——只能说你完全不懂点乘和矩阵乘
你自己运行一下这种维度 ...

我是菜鸟啊。。问题不在这里,问题是为什么f的形式是列向量形式呢?

论坛优秀回答者

中级

1216 麦片

财富积分


5001500


2

主题

2483

帖子

283

最佳答案
  • 关注者: 91
发表于 2017-8-11 15:13:13 | 显示全部楼层
折纸人G 发表于 2017-8-11 15:09
我是菜鸟啊。。问题不在这里,问题是为什么f的形式是列向量形式呢?
  1. doc linprog
复制代码

帮助有说
x = linprog(f,A,b) solves min f'*x such that A*x ≤ b.
所以你的f就是列向量了呀

论坛优秀回答者

权威

5244 麦片

财富积分



5

主题

6626

帖子

1201

最佳答案
  • 关注者: 261
发表于 2017-8-11 15:16:44 | 显示全部楼层 |此回复为最佳答案
折纸人G 发表于 2017-8-11 15:09
我是菜鸟啊。。问题不在这里,问题是为什么f的形式是列向量形式呢?

f也可以是行向量的。不一定是列向量,信你可以加一句f=f',看结果一样不

新手

7 麦片

财富积分


050


1

主题

10

帖子

0

最佳答案
 楼主| 发表于 2017-8-11 15:28:08 | 显示全部楼层
jingzhaos 发表于 2017-8-11 15:16
f也可以是行向量的。不一定是列向量,信你可以加一句f=f',看结果一样不

嗯,谢谢,确实是这样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表