링크의 문제 : 은 분석적으로 통합 될 수 있으며 대답은 4입니다. 그러나 Matlab을 사용하여 수치 적으로 통합하는 데 관심이 있습니다. 양식에서 통합 할 수없는 문제와 유사하기 때문에 분석적으로. 수치 적분의 어려움은 두 개의 내부 적분의 함수가 x
, y
및 z
및 z
의 함수이므로 고려할 수 없습니다.중첩 된 수치 적분
답변
음보다 더 나은 뭔가를 사용하여 더 나은 솔루션을 받아야합니다,이 포스터의 유사 이전 질문에 내가 주장 때문에이 Guddu의 대답 나는 보았다 한 후 지금 수행 될 수없는, 이상하다 그 복잡하지 않다는 것을 깨달으십시오. 이전에 썼던 것은 수치 적 통합으로 인해 숫자가 나오지만 함수가 아니라는 것이 사실입니다. 그러나 요점은 다음과 같습니다. 모든 주어진 매개 변수에 대해 적분을 평가하는 함수를 정의하면 효과적으로 하나의 이에 포함됩니다. 수치 적분의 결과로서의 기능.
어쨌든, 여기 간다 :
function q = outer
f = @(z) (z .* exp(inner(z)));
q = quad(f, eps, 2);
end
function qs = inner(zs)
% compute \int_0^1 1/(y + z) dy for given z
qs = nan(size(zs));
for i = 1 : numel(zs)
z = zs(i);
f = @(y) (1 ./ (y + z));
qs(i) = quad(f, 0 , 1);
end
end
나는 X를 제거 댓글에 자신에 의해 제안 단순화를 적용했다. inner
함수는 y에 대한 내부 적분 값을 z의 함수로 계산합니다. 그런 다음 함수 outer는 z에 대한 외부 적분을 계산합니다. I는 결과가
4.00000013663955
inner
가 quad
요구에 부여 된 기능을 리턴 할 수 있기 때문에 for
루프를 사용하여 구현 될 필요가있다 eps
아니라 0부터 통합 실행 시켜서 Z = 0에서의 자극을 피하기 그 값은 여러 인수 값에 대해 동시에 나타납니다.
답변 해 주셔서 감사합니다. –
@Guddu 답변 해 주셔서 감사합니다. –
이것은 결코 우아하지 않습니다. 누군가가 나를보다 matlab에 기능을 더 잘 활용할 수 있기를 바랍니다. 나는 수치 적 통합을 연습하기 위해 무차별 방식으로 노력했다. 나는 그것이 z로 곱해진다는 사실을 이용함으로써 z = 0에서의 내부 적분의 극을 피하려고 노력했다. 나는 3.9993을 얻는다. 사람이 사다리꼴 규칙
function []=sofn
clear all
global x y z xx yy zz dx dy
dx=0.05;
x=0:dx:1;
dy=0.002;
dz=0.002;
y=0:dy:1;
z=0:dz:2;
xx=length(x);
yy=length(y);
zz=length(z);
s1=0;
for i=1:zz-1
s1=s1+0.5*dz*(z(i+1)*exp(inte1(z(i+1)))+z(i)*exp(inte1(z(i))));
end
s1
end
function s2=inte1(localz)
global y yy dy
if localz==0
s2=0;
else
s2=0;
for j=1:yy-1
s2=s2+0.5*dy*(inte2(y(j),localz)+inte2(y(j+1),localz));
end
end
end
function s3=inte2(localy,localz)
global x xx dx
s3=0;
for k=1:xx-1
s3=s3+0.5*dx*(2/(localy+localz));
end
end
- 1. Matlab의 수치 적분 정확도
- 2. MatLab의 수치 적분 통합
- 3. Cython에서 수치 적분 속도 향상
- 4. Cauchy 주요 가치 수치 적분
- 5. 비 균일 그리드를 통한 수치 적분
- 6. 수치 적분 함수 간의 MATLAB 차이점
- 7. scipy에서 normal의 평균에 대한 수치 적분
- 8. MUESLI 수치 라이브러리의 적분 함수 오류
- 9. MATLAB 이상한 오류 감마 함수 수치 적분
- 10. 수치 통합 : 나쁜 적분 동작 오류
- 11. 두 개의 데이터 목록이 주어진 경우 mathematica에서 수치 적분
- 12. 이산 데이터에 대한 Simpson 's Rule을 사용한 수치 적분
- 13. 많이 억제 된 지수가있는 Matlab 이중 적분
- 14. 다수의 적분 값을 계산하기
- 15. 파이썬에서 확률 분포 함수 (PDF)로 가중치 된 수치 이중 적분
- 16. scipy.special.ellipkinc의 버그 - 불완전한 타원 적분
- 17. html로 된 고품질 수치
- 18. R의 적분
- 19. 가변 제한이있는 통합 수치
- 20. 수치
- 21. 수치 적 통합 - 어떻게 병렬화할까요?
- 22. 참조로 전달 된 캐스트 적분 형
- 23. 방법 적분 조건
- 24. double summation에 의한 MATLAB의 이중 적분 근사
- 25. 수치 더블 통합 R에
- 26. 2 차원 적분
- 27. FFT로 진동 기능의 푸리에 적분/푸리에 변환
- 28. 사각형 상자의 일부에 trapz를 사용하는 삼중 적분
- 29. 베셀 함수를 사용한 적분
- 30. 확률 적분 시뮬레이션
안녕하세요. :-) 나를 믿지 않았다, 그렇지? 어쩌면 누군가 해결책을 내놓을 것입니다. 하나의 설명 : 아무 것도 x에 의존하지 않으므로 내부 통합 중 하나를 삭제할 수 있습니다. \ int_0^1 dx = 1. 그래도 문제는 변하지 않습니다. –
정확히 답이 아닌 내 대답을 삭제했습니다. 심볼릭 수학 도구 상자를 사용하여'syms yz'를 정의하면 int (z * exp (int (1/(y + z), y, 0, 1)), z에 대해 4를 얻는다는 주석으로 지적하는 것이 더 낫습니다. 0, 2)'이고, 그렇지 않으면'integral2'는 여기에 적용되지 않습니다. –
@ A.Donda 사실, 내 목표는 문제를 일반화하기 위해이 방법으로 작성했습니다. 나는 여기 누군가가 우아한 해결책을 찾길 바란다. –