我正在实施大学课程的单纯形算法。向量比较失败
代码运行良好,但是当我使用提供的测试问题进行测试时,我得不到正确的结果。在代码
一行比较两个向量pMinC
和zeros(n,1)
其中n
是pMinC
尺寸来决定该结果是否是最佳的。
在第二次迭代中,我得到了明显大于零的向量pMinC = [ 0.00000 4.00000 3.50000 -33.00000 -3.00000 0.00000 0.00000]
,但算法终止。
的代码看起来是这样的:
while(done == false)
% compute pMinC
if (sum(pMinC > zeros(n,1)))
% do stuff
else
done = true;
endif
endwhile
为什么比较工作,然后再失败第二次?
你不应该忽略“warning:using binary expansion”...因此pMinC> zeros(n,1)是一个矩阵 - >求和一个向量。使用if(any(pMinC> zeros(1,n)) – Andy
我删除了'optimisation'标签,因为它与问题无关,也删除了'matlab'标签,因为这是一个八度的特殊问题。一个'尺寸不匹配' – Daniel