Solving simultaneous matrix equations

4 vues (au cours des 30 derniers jours)
Robbie Herring
Robbie Herring le 4 Fév 2016
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

Réponses (1)

Walter Roberson
Walter Roberson le 4 Fév 2016
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.

Community Treasure Hunt

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

Start Hunting!

Translated by