>  기사  >  컴퓨터 튜토리얼  >  MATLAB 부정 적분

MATLAB 부정 적분

王林
王林앞으로
2024-01-22 17:42:06964검색

MATLAB 부정 적분

matlab 부정적분

등가 무한대체

∵ln(1+x)~x

∴ln[e^sinx+³√(1-cosx)]=ln[1+e^sinx+³√(1-cosx)-1]~e^sinx+³√(1-cosx)-1

∵arctanx~x

∴arctan[2³√(1-cosx)]~2³√(1-cosx)

∴원래식=(1/2)lim(x→0) [e^sinx+³√(1-cosx)-1]/³√(1-cosx)

=(1/2){lim(x→0) [e^sinx-1]/3√(1-cosx)+ lim(x→0)3√(1-cosx)/3√(1-cosx) )}

=1/2+(1/2)lim(x→0) [e^sinx-1]/³√(1-cosx)

등가의 무한소 값으로 대체

∵e^x-1~x

∴e^sinx-1~sinx~x

1-cosx~x²/2

∴원래식=1/2+(1/2)lim(x→0) [e^sinx-1]/³√(1-cosx)

=1/2+(1/2)림(x→0) x/³√(x²/2)

=1/2+(1/2)림(x→0) ³√(2x)

=1/2

Rr이 상수인 MATLAB에서 다음 수치 적분을 시도해 보세요

저자의 접근 방식에는 두 가지 주요 문제가 있습니다.

1. 쿼드 함수는 수치 적분을 계산하는 데 사용되며 함수 표현에는 기호 수량을 포함할 수 없습니다.

2. 피적분 함수의 표현은 피적분 변수에 대해 벡터화된 형태로 작성되어야 합니다(즉, 점 산술을 사용해야 합니다).

참조 코드:

R=1;

syms L;

rr = 0 : 0.1 : 1;

ii = 1의 경우 : 길이(rr)

r = rr(ii);

f = @(l)(acos((1+l*l-r*r)/(2*l))+r*r*acos((r*r+l*l-1)/(2*r* l))-0.5*sqrt(4*r*r-(1+r*r-l*l)^2))*2*l/(pi*r^4);

fun = @(L) arrayfun(f,L);

J(ii) = 쿼드l(재미,0,r);

플롯(rr, J)

또는 위층 Fengxiao 1에서 코드 일부를 빌려 다음과 같이 작성할 수도 있습니다.

R=1;

syms L;

rr = 0 : 0.1 : 1;

ii = 1의 경우 : 길이(rr)

r = rr(ii);

SOA=R^2*acos((R^2+L^2-r^2)/(2*R*L))+r^2*acos((r^2+L^2-R^2 )/(2*r*L))-...

0.5*sqrt(4*R^2*r^2-(R^2+r^2-L^2)^2);

PAB=SOA/(pi*r^2);

p=2*L/r^2;

f=PAB*p;

fun = eval(['@(L)' 벡터화(f)]);

fun = @(l) arrayfun(@(L)eval(f),l);

J(ii) = 쿼드l(재미,0,r);

플롯(rr, J)

위 코드는 실행 가능하지만 피적분 함수에 문제가 있습니다. SOA 첫 번째 항의 역코사인 값이 복소수일 수 있습니다(r이 약간 작을 때 acos의 매개변수가 1보다 크기 때문입니다). ), 한 번 잘 확인해 보시기 바랍니다.

위 내용은 MATLAB 부정 적분의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제