永发信息网

关于matlab的问题 Error using ==> times Matrix dimensions must agree.

答案:2  悬赏:70  手机版
解决时间 2021-03-10 11:02
  • 提问者网友:精神病院里
  • 2021-03-09 13:05
>> c=[-1000,-700,-600,-1000,-700,-600,-1000,-700,-600];a=[8,6,5,0,0,0,0,0,0;0,0,0,8,6,5,0,0,0;0,0,0,0,0,0,8,6,5;10,5,7,0,0,0,0,0,0;0,0,0,10,5,7,0,0,0;0,0,0,0,0,0,10,5,7;1,0,0,1,0,0,1,0,0;0,1,0,0,1,0,0,1,0;0,0,1,0,0,1,0,0,1;8,6,5,0,0,0,-18.4,-13.8,-11.5;-8,-6,-5,0,0,0,13.6,10.2,8.5;10.2,7.65,6.375,-8,-6,-5,0,0,0;-13.8,-10.35,-8.625,8,6,5,0,0,0;0,0,0,8,6,5,-27.6,-20.7,-17.25;0,0,0,-8,-6,-5,20.4,15.3,12.75];b=[2000;3000;1000;4000;5400;1000;600;1000;800;0;0;0;0;0;0];>> [x,f]=IntLp(c,a,b,[],[],[0;0;0;0;0;0;0;0;0],[inf;inf;inf;inf;inf;inf;inf;inf;inf])
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-03-09 13:15
问题应该出在IntLp这个程序里。
 
从名字看,应该是用于求解整数规划问题的,但这个程序流传不广泛,我从网上勉强找到的版本不能直接使用,而编程的手法很拙劣,我看了一下,实在懒的去改。
 
在MATLAB上求解整数规划问题,影响比较大的是lp_solve和bnb20,前者是一个开源项目,使用C语言编写,MATLAB上以动态链接库的方式调用,在CodeForge有下载,仅适用于整数线性规划;后者是用M语言编写的,在MathWorks官网的FileExchange有下载,采用的是分枝定界方法(从检索到的关于IntLP的信息看,这点倒是差不多),适用于非线性整数规划。
 
建议你考虑用上面说到的程序求解,如果坚持想用IntLP,那就请把该函数的代码发上来(如果受字数限制,可以传到网盘),才好帮你分析。
全部回答
  • 1楼网友:像个废品
  • 2021-03-09 14:39
请检查j和h两个矩阵的行数列数,看是否一致。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯