필터 지우기
필터 지우기

Simple Matrix Manipulation Help

조회 수: 1 (최근 30일)
Kevin Krone
Kevin Krone 2019년 4월 19일
답변: Walter Roberson 2019년 4월 19일
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;];

채택된 답변

Walter Roberson
Walter Roberson 2019년 4월 19일
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.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by