MATLAB 익명 함수
fhandle=@(arglist)expr
그 중에서 expr은 구체적인 함수 표현식이고arglist는 지정된 함수 자변수이다.구체적인 것은 아래의 예시를 보십시오
f=@(x)x.^2;
>> fx=f(1:10)
fx =
1 4 9 16 25 36 49 64 81 100
>> g=@(x,y)x.^2+y.^2;
>> gxy=g(1:10,2:11)
gxy =
5 13 25 41 61 85 113 145 181 221
익명 함수 종류
1. 단변수 익명 함수 단변수 익명 함수는 가장 간단한 익명 함수로 하나의 자변수만 포함한다
f=@(x)x.^2
단변수 익명 함수입니다. 이외에 매개 변수를 포함하고 매개 변수 값이 알려진 단일 자변수의 익명 함수도 단익명 함수입니다. 예를 들어
>> f(1:5)
ans =
30 40 50 60 70
2. 다변수 익명 함수
g=@(x,y)x.^2+y.^2;
단일 변수 익명 함수와 마찬가지로 다변수 함수도 이미 알고 있는 매개 변수 값을 가지고 있다.예컨대
a=1;b=2;
g=@(x,y)a*x+y.^b;
g(1:5,1:5)
ans =
2 6 12 20 30
3. 단중 익명 함수는 지금까지 위에 열거한 익명 함수로 단변수 익명 함수든 다변수 익명 함수든 모두 단중 익명 함수에 속한다.단일 익명 함수의 특징은'@'기호만 안내하고'@'기호는 구체적인 함수 표현수일 뿐이다.자변수는 단일 익명 함수를 입력한 후 구체적인 수치를 얻는다.단중 익명 함수 이외에 이중, 더 나아가서는 다중 익명 함수도 있다.이 다중 익명 함수들은 매개 변수 전달에 매우 편리하다.4. 다중 익명 함수 아래에 이중 함수를 예로 들어 다중 익명 함수를 소개한다.
f=@(a,b)@(x)a*x+b;
그 중에서'a, b'는 외층 변수이고'x'는 내층 변수이다.이 표현식은 '@' 기호 뒤에 있는 괄호의 변수의 작용역이 표현식의 끝까지 이어진다는 것을 이렇게 이해할 수 있다.이렇게 하면'a, b'의 작용역은'@(x)a*x+b'이고'x'의 작용역은'a*x+b'이다.따라서 주어진'a, b'에 대해'gab=f(a, b)'는 x를 변수로 하는 단층 변수 익명 함수이다.functions 함수를 이용하여 만들어진 익명 함수 정보를 관찰할 수 있다.
f=@(a,b)@(x)a*x+b
f =
function_handle:
@(a,b)@(x)a*x+b
>> f23=f(2,3)
f23 =
function_handle:
@(x)a*x+b
>> f23info=functions(f23)
f23info =
struct:
function: '@(x)a*x+b'
type: 'anonymous'
file: 'D:\ \ \anonymous3.m'
workspace: {[1×1 struct]}
within_file_path: 'anonymous3'
>> f23info.workspace{1}
ans =
struct:
a: 2
b: 3
이중 이상의 익명 함수는 이중 익명 함수 유추를 참고할 수 있다. 예를 들어 다음과 같다.
>> f=@(a)@(b,c)@(x)x^a+b*c
f =
function_handle:
@(a)@(b,c)@(x)x^a+b*c
이중 이상의 익명 함수의 각 변수의 작용역은 이중 익명 함수를 참고할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
static 간단한 설명static 방법은 일반적으로 정적 방법이라고 부른다. 정적 방법은 어떠한 대상에 의존하지 않고 접근할 수 있기 때문에 정적 방법에 있어this는 없다. 왜냐하면 그 어떠한 대상에도 의존하지 않기 때문이다. 대상이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.