도움말 센터도움말 센터
기호 표현식을 공통 하위 표현식으로 재작성
[r,sigma] = subexpr(expr)
[r,var] = subexpr(expr,'var')
[r,var] = subexpr(expr,var)
예제
[r,sigma] = subexpr(expr)은 기호 표현식 expr을 공통 하위 표현식으로 재작성하여 이 공통 하위 표현식에 기호 변수 sigma를 대입합니다. 입력 표현식 expr에는 변수 sigma를 포함할 수 없습니다.
r
expr
sigma
[r,var] = subexpr(expr,'var')은 공통 하위 표현식에 var을 대입합니다. 입력 표현식 expr에는 기호 변수 var을 포함할 수 없습니다.
var
[r,var] = subexpr(expr,var)은 [r,var] = subexpr(expr,'var')과 동일하되, 기호 변수 var이 MATLAB® 작업 공간에 미리 있어야 한다는 점만 다릅니다.
이 구문은 변수 var의 값을 expr에서 찾은 공통 하위 표현식으로 덮어씁니다. 변수 var의 값을 덮어 쓰지 않도록 하려면 두 번째 출력 인수에 다른 변수 이름을 사용하십시오. 예를 들어, [r,var1] = subexpr(expr,var)을 사용합니다.
[r,var1] = subexpr(expr,var)
모두 축소
아래의 방정식을 풉니다. 해가 매우 긴 표현식입니다. 해를 표시하려면 solve 명령 끝의 세미콜론을 제거하십시오.
solve
syms a b c d x solutions = solve(a*x^3 + b*x^2 + c*x + d == 0, x, 'MaxDegree', 3);
이 긴 표현식에 공통 하위 표현식이 있습니다. 표현식을 줄이기 위해 subexpr을 사용하여 공통 하위 표현식을 축약합니다. 축약에 사용할 변수를 subexpr의 두 번째 입력 인수로 지정하지 않으면 subexpr이 변수 sigma를 사용합니다.
subexpr
[r, sigma] = subexpr(solutions)
r = (σ-b3 a-σ2σσ22 σ-b3 a-σ2-σ1σ22 σ-b3 a-σ2+σ1)where σ1=3 σ+σ2σ i2 σ2=c3 a-b29 a2
(σ-b3 a-σ2σσ22 σ-b3 a-σ2-σ1σ22 σ-b3 a-σ2+σ1)where σ1=3 σ+σ2σ i2 σ2=c3 a-b29 a2
sigma = d2 a+b327 a3-b c6 a22+c3 a-b29 a23-b327 a3-d2 a+b c6 a21/3
d2 a+b327 a3-b c6 a22+c3 a-b29 a23-b327 a3-d2 a+b c6 a21/3
2차 방정식을 풉니다.
syms a b c x solutions = solve(a*x^2 + b*x + c == 0, x)
solutions = (-b+b2-4 a c2 a-b-b2-4 a c2 a)
(-b+b2-4 a c2 a-b-b2-4 a c2 a)
syms를 사용하여 기호 변수 s를 만든 다음, 결과에서 공통 하위 표현식을 이 변수로 바꿉니다.
syms
s
syms s [abbrSolutions,s] = subexpr(solutions,s)
abbrSolutions = (-b+s2 a-b-s2 a)
(-b+s2 a-b-s2 a)
s = b2-4 a c
또는 's'를 사용하여 축약형 변수를 지정합니다.
's'
[abbrSolutions,s] = subexpr(solutions,'s')
두 구문 모두 변수 s의 값을 공통 하위 표현식으로 덮어씁니다. 따라서 s에 어떤 값을 대입하는 것과 같은 작업을 수행할 수 없습니다.
subs(abbrSolutions,s,0)
ans = (-b+s2 a-b-s2 a)
변수 s의 값을 덮어 쓰지 않도록 하려면 두 번째 출력 인수에 다른 변수 이름을 사용합니다.
syms s [abbrSolutions,t] = subexpr(solutions,'s')
t = b2-4 a c
ans = (-b2 a-b2 a)
(-b2 a-b2 a)
공통 하위 표현식을 포함하는 긴 표현식으로, 기호 표현식 또는 기호 함수로 지정됩니다.
공통 하위 표현식을 대입하는 데 사용할 변수로, 문자형 벡터 또는 기호 변수로 지정됩니다.
입력 표현식 expr에 이미 var이 포함되어 있으면 subexpr은 오류를 발생시킵니다.
축약형으로 바꾼 공통 하위 표현식이 있는 표현식으로, 기호 표현식 또는 기호 함수로 반환됩니다.
축약형에 사용되는 변수로, 기호 변수로 반환됩니다.
R2006a 이전에 개발됨
children | simplify | subs
children
simplify
subs
이 예제의 수정된 버전이 있습니다. 사용자가 편집한 내용을 반영하여 이 예제를 여시겠습니까?
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office