2016-08-22 7 views
2

내부 함수가 x와 y에 의존하는 이중 적분을 계산해야합니다 (y에 적분하고 한 쪽은 x에 따라 다름). x에 남는다. 내가 integral2 때문에 두 번째 함수의 형태로 이용 될 수 있다고 생각하지 않습니다MATLAB : 이중 숫자 적분 (매우 특별한 경우)

[email protected](x,y) x.^2+y; %inner function to be integrated on y 

[email protected](x) sqrt(x).*integral(@(y)f1(x,y),x,3); %second function, to be integrated on x 

V = integral(@(x)f2(x),0,2) %final calculation 

...

추신 : 나는 상징적 기능

을 사용하지 않으려는이 코드의 예입니다

PPS :이 경우는 파파 간단한 계산에 의해 해결 될 수 있다는 것을 알고 있지만, 그것은 단지 사소한 경우, 내가 무엇을해야하는 방법이 더 복잡의

감사

+0

이것은 상징적으로 해결하고자하는 것과 똑같은 것 같습니다. 왜 그걸하고 싶지 않아? –

+0

@DennisJaheruddin 또한 상징적으로 그것을 풀려고했지만 통합해야하는 함수는 알려진 기본 함수가 없으므로 matlab에서이를 해결할 수 없습니다 ... 제가 틀렸다면 말해주십시오 – user3758182

+0

코드를 검색하고 인터넷 검색을 시도합니다 오류가 발생했습니다. http://jp.mathworks.com/matlabcentral/answers/77733-integrating-over-integral-error-a-and-b-must-be-floating-point-scalars –

답변

3

integral2()을 생성하는 동안 Mathworks는이 문제를 예상했기 때문에 (결국 종속 경계는 드문 현상이 아닙니다.) 따라서이 사례도 처리 할 수있는 방법이 있습니다. 나는 쉽게 검증 할 수있는 다른 함수를 선택했지만, 그렇게 생각하지 않을 것이라고 생각합니다.

[email protected](x,y) (x.*y)/2; %inner function to be integrated on y 
fy = @(x) 3-x; % Lower bound 
V = integral2(f1,0,2,fy,3) %final calculation 

(MATLAB 터미널에서 doc integral2)은 "문서 페이지"에 대한 자세한 정보 또는 here

편집 : 경우 당신이 필수적인

integral(g(x) * integral(x^2*y, y=f(x), y=y1), x=a, x=b) 

f1 = integral(x^2*y, y=f(x), y=y1), f2 = g(x)*f1 = integral(g(x)*x^2*y, y=f(x), y=y1)으로 단순화 할 수 있습니다.

+0

귀하의 예가 제가 물어 본 것과 상당히 다릅니다. 어떻게 두 번째 함수 (f2)가 정의되었는지 확인하십시오 :'sqrt (x) * integral (...)'. 나는 두 변수 모두에 대해 전체 식을 통합하고 싶지 않습니다. 그러나 고맙습니다. 해결책이 있기를 바랍니다. – user3758182

+0

@ user3758182 아니요, 확실하지 않습니다. patrik이 여기에서 설명하는 내용은 질문의 첫 번째 줄에서 설명하는 것과 정확히 일치합니다. 이제 당신은 다른 것을 말하고 있습니다. 유일한 것은 여기서 patrik이 다른 예를 사용한다는 것입니다. – Bernhard

+0

@Bernhard 내가 말하고자하는 것은 y와 x와 y에 의존하는 함수를 y에 통합해야한다는 것입니다 (한도는 x입니다). 그런 다음 sqrt (x)로이 적분 값을 곱하면 x에 적분 값을 계산해야합니다. x와 y 모두에 통합 될 함수가 "커"입니다. 제 코드를 살펴보면 Patrik이 내 필요와 일치하지 않는 다른 예제를 사용하고 있습니다. – user3758182