Main Content

linsolve

행렬 형식의 기호 선형 방정식 풀기

설명

예제

X = linsolve(A,B)는 행렬 방정식 AX = B를 풉니다. 여기서 A는 기호 행렬이고 B는 기호 열 벡터입니다.

예제

또한 [X,R] = linsolve(A,B)A가 정사각 행렬인 경우 A의 조건수에 대한 역수를 반환합니다. 그렇지 않은 경우 linsolveA의 랭크를 반환합니다.

예제

모두 축소

linsolve를 사용하여 행렬 형식의 다음 선형 연립방정식을 풉니다.

[211-11-1123][xyz]=[23-10]

A = [ 2 1  1;
     -1 1 -1;
      1 2  3];
B = [2; 3; -10];
X = linsolve(A,B)
X = 3×1

     3
     1
    -5

해는 x=3, y=1, z=-5입니다.

두 개의 출력 인수를 사용하여 정사각 계수 행렬의 조건수에 대한 역수를 계산합니다.

syms a x y z
A = [a 0 0; 0 a 0; 0 0 1];
B = [x; y; z];
[X, R] = linsolve(A, B)
X = 

(xayaz)

R = 

1max(|a|,1)max(1|a|,1)

계수 행렬이 직사각인 경우, linsolve는 계수 행렬의 랭크를 두 번째 출력 인수로 반환합니다. 이 동작을 표시합니다.

syms a b x y
A = [a 0 1; 1 b 0];
B = [x; y];
[X,R] = linsolve(A,B)
Warning: Solution is not unique because the system is rank-deficient.
X = 

(xa-x-ayab0)

R = 2

입력 인수

모두 축소

계수 행렬로, 기호 행렬로 지정됩니다.

방정식의 우변으로, 기호 벡터 또는 기호 행렬로 지정됩니다.

출력 인수

모두 축소

해로, 기호 벡터 또는 기호 행렬로 반환됩니다.

조건수의 역수 또는 랭크로, 표현식의 기호 숫자로 반환됩니다. A가 정사각 행렬인 경우 linsolveA의 조건수를 반환합니다. 그렇지 않은 경우 linsolveA의 랭크를 반환합니다.

세부 정보

모두 축소

선형 연립방정식의 행렬 표현

선형 연립방정식은 다음과 같습니다.

a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bm

이 연립방정식은 행렬 방정식 Ax=b로 나타낼 수 있습니다. 여기서 A는 계수 행렬입니다.

A=(a11a1nam1amn)

b는 방정식의 우변을 포함하는 벡터입니다.

b=(b1bm)

  • 해가 유일하지 않은 경우 linsolve는 경고를 발생시키고 하나의 해를 선택하여 반환합니다.

  • 연립방정식에 해가 없는 경우 linsolve는 경고를 발생시키고 모든 요소를 Inf로 설정하여 X를 반환합니다.

  • 기호 객체가 아닌 숫자형 행렬에 대해 linsolve를 호출하면 MATLAB® linsolve 함수가 호출됩니다. 이 함수는 실수 인수만 받습니다. 연립방정식에서 복소수를 사용하는 경우 sym을 사용하여 하나 이상의 행렬을 기호 행렬로 변환한 다음 linsolve를 호출하십시오.

버전 내역

R2012b에 개발됨