Main Content

기호 합

Symbolic Math Toolbox™는 합을 계산할 수 있는 다음 두 함수를 제공합니다.

  • sum은 기호 벡터 및 기호 행렬 요소의 합을 구합니다. MATLAB®sum과 달리 기호 sum 함수는 다차원 배열에서는 작동하지 않습니다. 자세한 내용은 MATLAB의 sum 페이지를 참조하십시오.

  • symsum은 기호 급수의 합을 구합니다.

symsumsum 비교하기

sumsymsum 모두 정합을 구하는 데 사용할 수 있습니다. sum 함수는 차원에 대해 입력값의 합을 구하고, symsum 함수는 인덱스에 대해 입력값의 합을 구합니다.

정합 S=k=1101k2.을 살펴보겠습니다. 먼저, 표현식에서 k를 인덱스 값으로 대체하여 정합의 항들을 구합니다. 그런 다음 결과로 생성되는 벡터의 합을 sum을 사용하여 구합니다.

syms k
f = 1/k^2;
V = subs(f, k, 1:10)
S_sum = sum(V)
V =
[ 1, 1/4, 1/9, 1/16, 1/25, 1/36, 1/49, 1/64, 1/81, 1/100]
S_sum =
1968329/1270080

symsum을 사용해 인덱스와 합의 극한을 지정하여 동일한 합을 구합니다. sumsymsum은 동일한 결과를 반환합니다.

S_symsum = symsum(f, k, 1, 10)
S_symsum =
1968329/1270080

symsumsum의 계산 속도

급수의 정합을 구할 때는 symsumsum보다 빠를 수 있습니다. 급수의 부정합을 구할 때는 symsum만 사용할 수 있습니다.

S=k=1100000k2.과 같이 급수의 큰 정합을 구하여 symsumsum보다 빠를 수 있음을 확인할 수 있습니다.

직접 컴퓨터에서 실행 시간을 비교해 보려면 다음 명령을 사용하십시오.

syms k
tic
sum(sym(1:100000).^2);
toc
tic
symsum(k^2, k, 1, 100000);
toc

symsumsum의 출력 형식 차이

symsumsum보다 더 보기 좋게 합을 표현할 수 있습니다. 급수의 정합 S=k=110xk.에 대한 함수 출력값들을 비교하여 이 차이점을 확인해 보겠습니다. 해를 단순화하기 위해 x > 1이라고 가정하겠습니다.

syms x
assume(x > 1)
S_sum = sum(x.^(1:10))
S_symsum = symsum(x^k, k, 1, 10)
S_sum =
x^10 + x^9 + x^8 + x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x
S_symsum =
x^11/(x - 1) - x/(x - 1)

isAlways를 사용하여 두 출력값이 동일함을 표시할 수 있습니다. isAlways 함수는 논리값 1(true)을 반환합니다. 즉, 두 출력값은 동일합니다.

isAlways(S_sum == S_symsum)
ans =
  logical
     1

추후 계산을 위해 가정을 지웁니다.

assume(x, 'clear')