我一直无法解决线性方程组来获得X.
看起来像这样;
A* ([4;0] + X*([4; 3] - [4;0])) = B
给定A = [-1 0; 0 -1; 1 1]
和B = [0; 0; 5]
。
我期待的解决方案是指出最大的X可能是1/3。换句话说,X是满足条件的标量。
我真的很感激任何帮助!
编辑:使帖子更清晰。答案 0 :(得分:0)
如果你有符号工具箱,你可以这样做:
A = [-1 0; 0 -1; 1 1];
B = [0;0;5];
syms X positive;
test = A*([4;0] + X*([4; 3] - [4;0]))-B;
solve(test<0,X);
这将为您提供test<0
为真的范围(0,1 / 3)。或者在这种情况下,您可以解决test(3)==0
的确切答案。
否则,您可以编写一个函数来评估您的条件是否得到满足:
F = @(X)all(A*([4;0]+X*([4;3]-[4;0]))<B)
然后编写一些代码来手动评估不同X的F(X),直到达到X的最大值的某个阈值。