如何解决这种特定类型的线性系统?

时间:2014-03-12 16:07:49

标签: matlab system linear

我一直无法解决线性方程组来获得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是满足条件的标量。

我真的很感激任何帮助!

编辑:使帖子更清晰。

1 个答案:

答案 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的最大值的某个阈值。