2013-10-09 3 views
0

반복적 인 프로세스를 사용하여 일련의 함수를 만드는 정말 기본적인 루프를 수행하려고합니다. 나는 수년 전에 Mathematica의 이전 버전을 사용했고 이것이 효과가 있다고 생각했습니다. 어떤 도움을 주시면 감사하겠습니다.간단한 루프에서 재귀 깊이 256 초과했습니다

다음은 g (x) = x 함수에 적용되는 기본 개념입니다. 재귀 깊이가 256을 초과했습니다. 그것은 또한 줄거리를 보여주지 않습니다.

g[x_] := x; 
For[i = 1, i < 4, i++, 
f1[x_] := .25*g[2*x] + .25*2*x; 
f2[x_] := .25*g[2*x - 1] - .25*(2*x - 1) + .25; 
g[x_] := If[0 <= x <= .5, f1[x], f2[x]] 
]; 
Plot[g[x], {x, 0, 1}, PlotRange -> {{0, 1}, {0, 1}}] 

답변

1

원하는 점 x, g [x]를 플롯해야합니다. 좋아요, g [x]가 무엇인지 파악해야합니다. 좋아, 그게 f1 [x]. 좋아요, f1 [x]가 무엇인지 파악해야합니다. g [x]로 정의됩니다. 좋아요, g [x]가 무엇인지 파악해야합니다. 좋아, 그게 f2 [x] 일 이예요. 좋아요, f2 [x]가 무엇인지 알아낼 필요가 있습니다. g [x]로 정의됩니다. 그리고 Mathematica가 가출 재귀를 점검 할 때까지이 작업이 반복됩니다.

함수의 순서가 무엇인지 알기 쉽게 설명하십시오. 무한 재귀없이 Mathematica 코드로 변환하는 방법을주의 깊게 생각해보십시오.

관련 문제