가끔이 문제가 생기고 그 주위에 방법을 찾지 못했습니다. 일반적으로 방정식의 근원을 찾고 일부 매개 변수에 따라 그 루트를 최대화/최소화/플롯하려는 경우에 발생합니다. 그래서 코드를 하나의 모듈에 넣으려고합니다. 그래서 모든 것이 입력 번호로 실행될 수 있지만, Plot과 같은 함수에서는 작동하지 않습니다. 예를 들어 :Mathematica : FindRoot를 사용하여 모듈을 플로팅
f[din_] := Module[{d = din},
sol = NDSolve[{y'[x] == y[x], y[0] == 1}, y[x], {x, 0, 10}];
t1 = Flatten[FindRoot[y[x] - d /. sol, {x, 1}]];
x /. t1
]
f[2]
f[2.5]
f[3]
Plot[f[x], {x, 2, 3}]
예상대로 번호와 F 모든 작업에 대한 호출하지만, 플롯 함수에서 f는 기호 'X'로 평가 될 것 - 또는 뭔가 그냥 오류를 많이 제공 본문.
어쨌든 주위에?
f[din_?NumericQ]:=
를 나는 내가 할 수있는 모든 노력을하지만 아무것도 차이를 만들 것 같다 : 다음과 같이 정의를 만들기 같이 -
포럼 둘러보고 나는 비슷한 문제에 대한 몇 가지 제안을 발견했다. 나는 티카 8.0