2012-09-24 2 views
3
나의 현재 문제가 FunctionInterpolation은 [] 복잡한 기능에, 가장 쉬운 방법은 당신이 차이 비교할 때이 아마 볼 사용하려고

:증가 티카 FunctionInterpolation 정확도/도메인

FunctionInterpolation[Sin[t], {t, 0, 30}] 
Plot[%[t], {t, 0, 30}] 

FunctionInterpolation[Sin[t], {t, 0, 1000}] 
Plot[%[t], {t, 0, 30}] 

함수의 도메인을 증가 시키면 보간법이 매우 부정확 해지고 임의로 긴 도메인에 대해 임의의 높은 정확도를 갖는 FunctionInterpolation []을 만드는 방법을 찾고 있습니다. 짧은 도메인에서는 가능할 것으로 보이지만 지금까지 둘 모두에 대한 해결책을 찾을 수 없었습니다.

허용되지 않는 이유는 무엇입니까? 내가 알지 못하는 InterpolationFunction의 형태에 특별한 것이 있습니까?

+0

귀하의 기능이 정기적임을 알고 계십니까? –

답변

3

하면도 유도체를 포함하도록 시도 할 수

FunctionInterpolation[{Sin[t], Cos[t], -Sin[t], -Cos[t]}, {t, 0, 1000}] 
Plot[%[t], {t, 0, 100}] 

plot

+0

아, 고맙습니다. 매우 유용했습니다 ... 당신이 보았던 구문에 대한 정보를 찾으려고 할 때 (functionintorpolation 문서에없는) 임의의 정밀도를 허용하는 것처럼 보이는 가능한 동등한 방법을 발견했습니다 : FunctionInterpolation [ {Sin [t]}, {t, 0, 1000}, InterpolationOrder -> 30] – user1694253

+1

@ user1694253 예, 범위 섹션 아래의 예를 참조하십시오. –

+2

나중에 참조 할 수 있도록이 설명서는 대부분 functioniterpolate에도 유효합니다. http://reference.wolfram.com/mathematica/ref/Interpolation.html – user1694253

2

하면 외관상 함수 범위 미등록 구문을 사용하여 기본 샘플링 주파수를 늘릴 수

FunctionInterpolation[Sin[t], {t, 0, 1000, 20}] 

Plot[%[t], {t, 0, 30}] 

Mathematica graphics

+0

Mathematica 10.3.0.0의 최신 버전에서도 구문 하이 라이터가이 "빨강"에 색상을 지정해 오류가 발생하더라도 작동한다고해도 흥미 롭습니다. –

+0

@JessRiedel이 문제에 대한 제안/보고서를 보내 주시면 감사하겠습니다 : 보고서가 많을수록 다음 릴리스에서 해결 될 확률이 높습니다. –

2
With[{func = FunctionInterpolation[Sin[t], {t, 0, 1000}]}, 
    Plot[func[x], {x, 150, 160}] 
] 

enter image description here

With[{func = FunctionInterpolation[Sin[t], {t, 0, 1000}, InterpolationOrder -> 50]}, 
    Plot[func[x], {x, 150, 160}] 
] 

enter image description here

또한 문서화되지 않은 InterpolationPoints 시도 할 수 있습니다 :

With[{func = FunctionInterpolation[Sin[t], {t, 0, 1000}, InterpolationPoints -> 50]}, 
    Plot[func[x], {x, 150, 160}] 
] 
01,는 50 말 같은 큰 n으로 문서화되지 않은 옵션 InterpolationOrder->n 시도

enter image description here

+2

문서화되지 않은'FunctionInterpolation' 옵션에 대한 추가 정보 : http : //mathemhematica.stackexchange.co.kr/a/85103/280 –

+0

훌륭한 링크. 많은 분들께 감사드립니다, Alexey. –

+0

감사합니다. 'InterpolationPoints'가 분명히 'Plot'에 대한 'PlotPoints'옵션으로 동작하면, 필요에 따라 더 많은 포인트가 생성됩니다. 함수가 너무 매끄럽지 않으면'InterpolationOrder' 접근법이 그렇게 잘 작동하지 않을 수도 있습니다. – agentp