Solving simultaneous matrix equations

4 次查看(过去 30 天)
I'm trying to solve the following matrix problem:
F = K*x where:
F = [0; -2500; 0; -5000; 0; -2500]
K = [0.7 0.5 -0.7 -0.45 0 0;
0.45 0.3 -0.45 -0.3 0 0;
-0.7 -0.45 1.4 0.9 -0.7 -0.45;
-0.45 -0.3 0.9 0.6 -0.45 -0.3;
0 0 -0.7 -0.45 0.7 0.45;
0 0 -0.45 -0.3 0.45 0.3]
x = [0; 0; x1; x2; 0; 0]
where x1 and x2 are the unknowns I'm trying to find out. How can I solve these simultaneous equations to find x1 and x2?
Thanks in advance

回答(1 个)

Walter Roberson
Walter Roberson 2016-2-4
There is no solution for that.
If you use the symbolic toolbox
syms x1 x2
F = [0; -2500; 0; -5000; 0; -2500]
K = [0.7 0.5 -0.7 -0.45 0 0;
0.45 0.3 -0.45 -0.3 0 0;
-0.7 -0.45 1.4 0.9 -0.7 -0.45;
-0.45 -0.3 0.9 0.6 -0.45 -0.3;
0 0 -0.7 -0.45 0.7 0.45;
0 0 -0.45 -0.3 0.45 0.3]
x = [0; 0; x1; x2; 0; 0]
Kx = K*x;
Then you get the Kx(1) == F(1), Kx(2) == F(2) and so on.
It turns out that there are only 4 unique entries in Kx, with the 5th and 6th entries being repeats. Fortunately the corresponding values in F are in agreement so there is no contradiction from ignoring Kx(5:6) and F(5:6) .
We now have 4 equations in two unknowns. There is a risk that this system is overdetermined, so test it:
sol1 = solve(Kx(1)-F(1), Kx(2)-F(2));
sol2 = solve(Kx(3)-F(3), Kx(4)-F(4));
to choose two of the possible pairs for analysis. If you now compare sol1.x1 to sol2.x1 and sol1.x2 to sol2.x2 you will find that sol2 is the exact negative of sol1 for each of the variables. Therefore there is a contradiction in the equations.
By the way: note that rank(K) is only 5 so redundant or contradictory equations are inherent in this.

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by