MATLAB의 선형 방정식 시스템

Ammar Ali 2023년1월30일
  1. MATLAB의 solve() 함수를 사용하여 선형 연립방정식 풀기
  2. MATLAB의 linsolve() 함수를 사용하여 선형 연립방정식 풀기
MATLAB의 선형 방정식 시스템

이 튜토리얼에서는 Matlab의 solve()linsolve() 함수를 사용하여 선형 연립방정식을 푸는 방법에 대해 설명합니다.

MATLAB의 solve() 함수를 사용하여 선형 연립방정식 풀기

Matlab 내장 함수 solve()를 사용하여 Matlab에서 선형 방정식 시스템을 풀 수 있습니다. 먼저 syms 변수를 사용하여 변수를 정의할 수 있습니다. 그런 다음 Matlab에서 방정식을 작성할 수 있습니다. 그런 다음 solve() 함수를 사용하여 방정식을 풀어야 합니다. 예를 들어 Matlab에서 몇 가지 방정식을 정의하고 solve() 함수를 사용하여 해를 구해 보겠습니다. 아래 코드를 참조하십시오.

syms x y z
eq1 = 2*x + y + 2*z == 1;
eq2 = 2*x + 5*y - z == 2;
eq3 = -3*x + 2*y + 6*z == 10;
matx = solve([eq1, eq2, eq3], [x, y, z]);
xValue = matx.x
yVlaue = matx.y
zValue = matx.z

출력:

xValue =
 
-82/93
 
 
yVlaue =
 
29/31
 
 
zValue =
 
85/93

보시다시피 방정식에는 3개의 변수가 있고 3개의 답이 있습니다. solve() 함수 대신 vapsolve() 함수를 사용하여 숫자로 답을 얻을 수도 있습니다. vpasolve() 함수를 사용하려면 위 코드에서 solve 함수 이름을 vpasolve로 변경해야 합니다. 방정식이 행렬 형식인 경우 linsolve() 함수를 사용할 수 있습니다.

MATLAB의 linsolve() 함수를 사용하여 선형 연립방정식 풀기

함수 linsolve()는 방정식 대신 행렬이 있는 경우 solve() 함수 대신 사용됩니다. equationsToMatrix() 함수를 사용하여 방정식을 행렬 형식으로 변환할 수도 있습니다. 예를 들어 Matlab에서 몇 가지 방정식을 정의하고 linsolve() 함수를 사용하여 해를 구해 보겠습니다. 아래 코드를 참조하십시오.

syms x y z
eq1 = 2*x + y + 2*z == 1;
eq2 = 2*x + 5*y - z == 2;
eq3 = -3*x + 2*y + 6*z == 10;
[matA,matB] = equationsToMatrix([eq1, eq2, eq3], [x, y, z])
matX = linsolve(matA,matB)

출력:

 
matA =
 
[  2, 1,  2]
[  2, 5, -1]
[ -3, 2,  6]
 
 
matB =
 
  1
  2
 10
 
 
matX =
 
 -82/93
  29/31
  85/93

solve()linsolve() 함수는 기호 수학 도구 상자와 함께 제공되므로 이러한 함수를 사용하려면 도구 상자를 설치했는지 확인하십시오.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook