이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
root
다항식의 근 표현하기
설명
예제
높은 차수 다항식의 근 표현하기
root
를 사용하여 다항식 의 근을 표현합니다. root
함수는 열 벡터를 반환합니다. 이 벡터의 요소는 다항식의 근 3개를 표현합니다.
syms x p = x^3 + 1; root(p,x)
ans = root(x^3 + 1, x, 1) root(x^3 + 1, x, 2) root(x^3 + 1, x, 3)
root(x^3 + 1, x, 1)
은 p
의 첫 번째 근을 표현하며, root(x^3 + 1, x, 2)
는 두 번째 근을 표현하는 식입니다. 높은 차수 다항식의 근을 표현하려면 이 구문을 사용하십시오.
높은 차수 다항식의 근 구하기
높은 차수 다항식을 풀 때 solve
는 root
를 사용하여 근을 표현합니다. 또는 MaxDegree
옵션을 사용하여 양함수 해를 반환하거나 vpa
를 사용하여 수치 결과를 반환할 수 있습니다.
x^3 + 3*x - 16
의 근을 구합니다.
syms x p = x^3 + 3*x - 16; R = solve(p,x)
R = root(z^3 + 3*z - 16, z, 1) root(z^3 + 3*z - 16, z, 2) root(z^3 + 3*z - 16, z, 3)
MaxDegree
옵션을 다항식 차수로 설정하여 근을 명시적으로 구합니다. 4
보다 높은 차수의 다항식은 양함수 해를 갖지 않습니다.
Rexplicit = solve(p,x,'MaxDegree',3)
Rexplicit = (65^(1/2) + 8)^(1/3) - 1/(65^(1/2) + 8)^(1/3) 1/(2*(65^(1/2) + 8)^(1/3)) - (65^(1/2) + 8)^(1/3)/2 -... (3^(1/2)*(1/(65^(1/2) + 8)^(1/3) + (65^(1/2) + 8)^(1/3))*1i)/2 1/(2*(65^(1/2) + 8)^(1/3)) - (65^(1/2) + 8)^(1/3)/2 +... (3^(1/2)*(1/(65^(1/2) + 8)^(1/3) + (65^(1/2) + 8)^(1/3))*1i)/2
vpa
를 사용하여 R
을 고정밀도 부동소수점으로 변환하여 근을 수치적으로 계산합니다.
Rnumeric = vpa(R)
RRnumeric = 2.1267693318103912337456401562601 - 1.0633846659051956168728200781301 - 2.5283118563671914055545884653776i - 1.0633846659051956168728200781301 + 2.5283118563671914055545884653776i
root
에 대한 호출에 파라미터가 포함된 경우 vpa
를 호출하기 전에 subs
를 사용하여 파라미터에 숫자를 대입합니다.
기호 계산에 root
사용하기
root
함수를 simplify
, subs
및 diff
와 같은 Symbolic Math Toolbox 함수에 대한 입력값으로 사용할 수 있습니다.
simplify
함수를 사용하여 root
를 포함하는 표현식을 단순화합니다.
syms x r = root(x^6 + x, x, 1); simplify(sin(r)^2 + cos(r)^2)
ans = 1
subs
를 사용하여 root
의 파라미터에 숫자를 대입합니다.
syms b subs(root(x^2 + b*x, x, 1), b, 5)
ans = root(x^2 + 5*x, x, 1)
vpa
를 사용하여 root
를 숫자형으로 변환하기 전에 subs
를 사용하여 파라미터에 값을 대입해야 합니다.
diff
를 사용하여 파라미터에 대한 root
를 포함하는 표현식을 미분합니다.
diff(root(x^2 + b*x, x, 1), b)
ans = root(b^2*x^2 + b^2*x, x, 1)
다항식의 비에 대한 라플라스 역변환 구하기
ilaplace
를 사용하여 두 다항식의 비에 대한 라플라스 역변환을 구합니다. 라플라스 역변환은 root
에 대한 식으로 반환됩니다.
syms s G = (s^3 + 1)/(s^6 + s^5 + s^2); H = ilaplace(G)
H = t - symsum(exp(t*root(s3^4 + s3^3 + 1, s3, k))/... (4*root(s3^4 + s3^3 + 1, s3, k) + 3), k, 1, 4)
출력값으로 root
함수를 받는 경우 이후 기호 계산에서 root
함수를 입력값으로 사용할 수 있습니다. 하지만 수치 결과가 필요한 경우에는 vpa
를 사용하여 root
함수를 고정밀도 수치 결과로 변환해야 합니다.
vpa
를 사용하여 라플라스 역변환을 숫자형으로 변환합니다.
H_vpa = simplify(vpa(H))
H_vpa = t +... 0.30881178580997278695808136329347*exp(-1.0189127943851558447865795886366*t)*... cos(0.60256541999859902604398442197193*t) -... 0.30881178580997278695808136329347*exp(0.5189127943851558447865795886366*t)*... cos(0.666609844932018579153758800733*t) -... 0.6919689479355443779463355813596*exp(-1.0189127943851558447865795886366*t)*... sin(0.60256541999859902604398442197193*t) -... 0.16223098826244593894459034019473*exp(0.5189127943851558447865795886366*t)*... sin(0.666609844932018579153758800733*t)
입력 인수
버전 내역
R2015b에 개발됨