Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

spfun

0이 아닌 희소 행렬 요소에 함수 적용

구문

f = spfun(fun,S)

설명

spfun 함수는 희소 행렬 S0이 아닌 요소에만 함수를 선택적으로 적용하여 원래 행렬의 희소성 패턴을 유지합니다(언더플로 또는 funS의 일부 0이 아닌 요소에 대해 0을 반환하는 경우 제외).

f = spfun(fun,S)는 0이 아닌 S의 요소에 대해 fun(S)를 실행합니다. fun은 함수 핸들입니다.

함수를 파라미터화하기에는 필요한 경우 fun 함수에 추가 파라미터를 제공하는 방법이 설명되어 있습니다.

예제

4×4 희소 대각 행렬이 주어지는 경우

S = spdiags([1:4]',0,4,4)

S = 
   (1,1)        1
   (2,2)        2
   (3,3)        3
   (4,4)        4

funS의 0이 아닌 모든 요소에 대해 0이 아닌 값을 반환하기 때문에 f = spfun(@exp,S)S와 동일한 희소성 패턴을 가집니다.

f =
   (1,1)       2.7183
   (2,2)       7.3891
   (3,3)      20.0855
   (4,4)      54.5982

반면, exp(S)S0인 요소에 대해 1을 갖습니다.

full(exp(S))

ans =
    2.7183    1.0000    1.0000    1.0000
    1.0000    7.3891    1.0000    1.0000
    1.0000    1.0000   20.0855    1.0000
    1.0000    1.0000    1.0000   54.5982

elfun 디렉터리에 들어 있는 함수처럼 요소별 연산을 수행하는 함수가 spfun과 함께 사용하기에 가장 적합합니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

참고 항목

R2006a 이전에 개발됨