Matlab에서 다항식의 근 얻기
이 튜토리얼에서는 MATLAB에서roots()
및solve()
함수를 사용하여 다항식의 근을 찾는 방법을 소개합니다.
MATLAB에서roots()
함수를 사용하여 다항식의 근 구하기
다항식의 근을 찾으려면 MATLAB에서roots()
함수를 사용할 수 있습니다. 이 함수의 입력은 다항식의 계수를 포함하는 벡터입니다. 다항식에 검정력이 없으면 0이 계수로 사용됩니다. 이 함수의 출력은 주어진 다항식의 실수 근과 허수근을 포함하는 열 벡터입니다. 예를 들어 2 차 다항식의 근을 찾아 봅시다 : 2x ^ 2-3x + 6 = 0. 우리는 가장 높은 거듭 제곱에서 시작하는 다항식 계수를 정의해야합니다. 그리고 만약 거듭 제곱이 없으면 계수로 0을 사용합니다. 아래 코드를 참조하십시오.
poly = [2 -3 6];
p_roots = roots(poly)
출력:
p_roots =
0.7500 + 1.5612i
0.7500 - 1.5612i
위의 코드에서 우리는 가장 높은 힘에서 시작하는 다항식의 계수 만 사용했습니다. 주어진 다항식에 따라 다항식의 계수를 변경할 수 있습니다. 4 차 다항식의 근을 찾아 봅시다 : 2x ^ 4 + 1 = 0. 아래 코드를보세요.
poly = [2 0 0 0 1];
p_roots = roots(poly)
출력:
p_roots =
-0.5946 + 0.5946i
-0.5946 - 0.5946i
0.5946 + 0.5946i
0.5946 - 0.5946i
위 코드의 두 다항식 사이에 세 개의 거듭 제곱이 없기 때문에 세 개의 0을 사용했습니다. roots()
함수에 대한 자세한 정보는이 링크를 확인하십시오.
MATLAB에서solve()
함수를 사용하여 다항식의 근 구하기
다항식의 근을 찾으려면 MATLAB에서solve()
함수를 사용할 수 있습니다. 이 함수의 입력은 다항식입니다. 이 함수의 출력은 주어진 다항식의 실수 근과 허수근을 포함하는 열 벡터입니다. 예를 들어 2 차 다항식의 근을 찾아 봅시다 : 2x ^ 2-3x + 6 = 0. 다항식을 정의해야합니다. 아래 코드를 참조하십시오.
syms x
poly = 2*x^2 -3*x +6 == 0;
p_roots = solve(poly,x)
p_roots = vpa(p_roots,2)
출력:
p_roots =
0.75 - 1.6i
0.75 + 1.6i
위의 코드에서 전체 다항식을 정의하고vpa()
함수를 사용하여 결과의 정밀도를 변경했습니다. 주어진 다항식에 따라 다항식을 변경하고 요구 사항에 따라 정밀도를 변경할 수 있습니다. 4 차 다항식의 근을 찾아 봅시다 : 2x ^ 4 + 1 = 0. 아래 코드를보세요.
syms x
poly = 2*x^4 +1 == 0;
p_roots = solve(poly,x);
p_roots = vpa(p_roots,2)
출력:
p_roots =
- 0.59 - 0.59i
- 0.59 + 0.59i
0.59 - 0.59i
0.59 + 0.59i
위 코드에서 전체 다항식을 정의하고vpa()
함수를 사용하여 결과의 정밀도를 변경했습니다. 주어진 다항식에 따라 다항식을 변경하고 요구 사항에 따라 정밀도를 변경할 수 있습니다.