Main Content

선형 연립방정식 풀기

이 섹션에서는 Symbolic Math Toolbox™를 사용하여 선형 연립방정식을 푸는 방법을 다룹니다.

linsolve를 사용하여 선형 연립방정식 풀기

다음 선형 연립방정식을 생각해 보겠습니다.

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

위의 방정식은 행렬 방정식 Ax=b로 나타낼 수 있습니다. 여기서 A는 다음 계수 행렬이며

A=(a11a1nam1amn)

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

b=(b1bm)

선형 연립방정식이 AX = B 형식이 아니면 equationsToMatrix를 사용하여 방정식을 이 형식으로 변환하십시오. 다음과 같은 연립방정식이 있다고 가정하겠습니다.

2x+y+z=2x+yz=3x+2y+3z=10

연립방정식을 선언합니다.

syms x y z
eqn1 = 2*x + y + z == 2;
eqn2 = -x + y - z == 3;
eqn3 = x + 2*y + 3*z == -10;

equationsToMatrix를 사용하여 방정식을 AX = B 형식으로 변환합니다. equationsToMatrix의 두 번째 입력값은 방정식의 독립 변수를 지정합니다.

[A,B] = equationsToMatrix([eqn1, eqn2, eqn3], [x, y, z])
A =
[  2, 1,  1]
[ -1, 1, -1]
[  1, 2,  3]
 
B =
   2
   3
 -10

미지수로 구성된 벡터 X에 대해 AX = B를 구하려면 linsolve를 사용하십시오.

X = linsolve(A,B)
X =
  3
  1
 -5

X에서, x = 3, y = 1, z = -5입니다.

solve를 사용하여 선형 연립방정식 풀기

방정식이 계수 행렬 형식이 아닌 표현식 형식인 경우 linsolve 대신 solve를 사용하십시오. 동일한 선형 연립방정식을 다시 계산해 보겠습니다.

2x+y+z=2x+yz=3x+2y+3z=10

연립방정식을 선언합니다.

syms x y z
eqn1 = 2*x + y + z == 2;
eqn2 = -x + y - z == 3;
eqn3 = x + 2*y + 3*z == -10;

solve를 사용하여 연립방정식을 풉니다. solve의 입력값은 방정식으로 구성된 벡터이며 방정식의 해를 구하는 변수로 구성된 벡터입니다.

sol = solve([eqn1, eqn2, eqn3], [x, y, z]);
xSol = sol.x
ySol = sol.y
zSol = sol.z
xSol =
3
ySol =
1
zSol =
-5

solve는 해를 구조체형 배열로 반환합니다. 해에 액세스하려면 배열의 요소를 참조하십시오.

관련 항목