Simple Matrix Manipulation Help

1 visualizzazione (ultimi 30 giorni)
Kevin Krone
Kevin Krone il 19 Apr 2019
Risposto: Walter Roberson il 19 Apr 2019
I have a 20x20 matrix (A) multiplied by a 20 row by 1 column matrix (B) which is full of unknowns (only two known values), which equals a 20r x 1c matrix (X). My question is how to solve for the unknowns in (B)? Any help would be appreciated.
A = [4224.3 7392.5 -4224.3 7392.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
7392.5 17249.14 -7392.5 8624.57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
-4224.3 -7392.5 8448.6 0 -4224.3 7392.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
7392.5 8624.57 0 34498.28 -7392.5 8624.57 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 -4224.3 -7392.5 8448.6 0 4224.3 7392.5 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 7392.5 8624.57 0 34498.28 -7392.5 8624.57 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 -4224.3 -7392.5 447045.3176 158665.3816 -442821.0176 166057.8816 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 7392.5 8624.57 158665.3816 100278.081 -166057.8816 41514.47 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 -442821.0176 -166057.8816 608878.9 0 -442821.0176 166057.8816 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 166057.8816 41514.47 0 166057.822 -166057.8816 41514.47 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 -442821.0176 -166057.8816 453199.6376 -155679.2816 -6919.08 10378.6 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 166057.8816 41514.47 -155679.2816 103786.181 -10378.6 10378.62 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 -6919.08 -10378.6 17297.68 0 -6919.08 10378.6 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 10387.6 10378.6 0 41514.48 -10378.6 10378.6 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 -6919.08 -10378.6 17297.68 0 -6919.08 10378.6 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 10378.6 10378.62 0 41514.48 -10378.6 10378.6 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6919.08 -10378.6 17297.68 0 -6919.08 10378.6;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 10378.6 10378.62 0 41514.48 -10378.6 10378.6;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6919.08 -10378.6 6919.08 -10378.6;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10378.6 10378.6 -10378.6 20757.24;];
B = [ y1;t1; y2;t2; y3;t3; y4;t4; y5;t5; 0;t6; y7;t7; y8;t8; y9;t9; 0;t10;];
X = [150;0; 0;0; 0;0; 0;0; 0;0; 300;0; 0;0; 0;0; 0;0; 150;0;];

Risposta accettata

Walter Roberson
Walter Roberson il 19 Apr 2019
There is no solution for that.
solve(A*X == B)
Look at entry #11 in B, where you have a 0 where the sequence would otherwise predict a y5. Now look at the 11th output of A*X, which is slightly under 136 million. 136 million-ish can never equal 0, so there cannot be a solution for the system. You have the same problem with the second last entry, where y10 might be expected in B but you have 0: A*X's second-last entry is slightly over 1 million, which can never equal 0.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by