matlab: 함수의 도메인을 입력 도메인에 종속되게 만들기

matlab: 함수의 도메인을 입력 도메인에 종속되게 만들기

함수 f(i)와 가 있다고 가정합니다 g(j). 의 h(k)정의역이 모두로 구성된 함수 를 어떻게 작성할 수 있습니까 ? 즉, 각 점은 의 모든 쌍에 대한 at 및 at 의 함수입니다 . 예를 들어:khk=i+jh(k)figjijk=i+j

여기에 이미지 설명을 입력하세요

모든 k=i+j. h따라서 의 도메인 은 이고 k=2:25, 예를 들어 이 두 조합이 모두 를 만족하므로 는 h(3)와 같을 것입니다 .f(1)*g(2) + f(2)*g(1)k=i+j

루프를 사용하면 간단하지만 익명 함수 형식(예: h = @(k) f(i) ... g(j))으로 함수를 구성하고 싶습니다. 이것이 어떻게 이루어질 수 있습니까?

답변1

도메인 i와 j에 대해 a와 를 알려진 변수로 둡니다 . b그러면 설명하는 기능은 다음과 같습니다.

fun=@(k) sum(sum(transpose(f1(k-b(ismember(b,(k-a)))))*f2(b(ismember(b,(k-a))))))

여기서 f1f2는 f(i) 및 g(j)에 해당하는 익명 함수입니다. k유효한 스칼라입니다.

참고: 중요하지 않은 작업에 익명 함수를 사용하는 것은 좋은 습관으로 간주되지 않을 수 있습니다.

참고 2: i와 j에 대해 고유하지 않은 도메인이나 음수 값이 있는 시나리오는 고려하지 않았습니다.

관련 정보