2012-04-29 2 views
0

는 I 그래서 함께 xE[t] 첫 유도체를 해결하려고 다음 두 함수의 로컬 최대 값과 최소값 xE[t_] := 10 (t - Sin[t]) - Sqrt[40^2 - (10 (1 - Cos[t]))^2] Mathematica : Solve, Reduce 및 FindRoot를 사용하여 Extrema 위치 찾기. (유도체)

  • vE = xE'[t]
    1. 를 따지기 할 :

      extremaXE = Solve[vE[t] == 0, t] (* vE is the 1st derivative of xE *) 
      

      하지만이 오류가 발생했습니다 :

      Solve::ifun: Inverse functions are being used by Solve, so some solutions may not 
      be found; use Reduce for complete solution information. 
      

      그때 감소에 노력하고 나는이 오류가 발생했습니다 :

      Reduce::nsmet: This system cannot be solved with the methods available to Reduce 
      

      그래서 파생 상품을 통해 지역의 최소값과 최대 값을 따지기 위해 무엇을 할 것인가?

    +0

    함수에는 많은 최대 값과 최소값이 있습니다. 처음 추측과 함께'FindRoot'를 사용할 수 있습니다. –

    +0

    또한 Help :'Solve'의주의 사항은 주로 선형 및 다항식을 다룹니다. –

    +0

    [mathematica.se] 사이트는 공개 베타 테스트 중입니다. 궁금한 점이 있으면 좋은 답변을 얻으실 수 있습니다. – rcollyer

    답변

    0

    NLOpt를 사용하십시오.

    파생물이 있거나없는 지역/극한 극한값을 찾는 알고리즘이 있습니다. 는 C, C++, 포트란, matlab에 또는 GNU 옥타브, 파이썬, GNU 교활하고, GNU R.이 도움이됩니까

    http://ab-initio.mit.edu/wiki/index.php/NLopt

    에서 호출입니까?

    +0

    OP는 Mathematica에서 어떻게하는지 알고 싶었습니다. – Verbeia

    0

    Reduce과 오류가 발생하지 않습니다. 예를 들어, xE의 극값이 나는이 당신에게 모두 현실과 복잡한 솔루션을 제공한다는

    C[1] \[Element] Integers && (t == 2 \[Pi] C[1] || 
        t == 2 I ArcTanh[2/Sqrt[3]] + 2 \[Pi] C[1]) 
    

    주를 반환

    Reduce[xE'[t] == 0, t] 
    

    을 시도 찾을 수 있습니다. 당신은 진짜 사람을 원하는 경우에 당신은 원래의 표현에 솔루션을 대체 할 수

    편집

    C[1] \[Element] Integers && t == 2 \[Pi] C[1] 
    

    주는

    Reduce[xE'[t] == 0, t, Reals] 
    

    시도 할 수 있습니다 당신의 목록에 변환 할 수 예 : ToRules을 사용하는 규칙 ToRulesC[1] \[Element] Integers 같은 표현을 처리 할 수 ​​있기 때문에 우리는 먼저 솔루션을 단순화

    sol = Reduce[xE'[t] == 0, t]; 
    sol = Simplify[sol, C[_] \[Element] Integers] 
    
    (* ==> t == 2 \[Pi] C[1] || t == 2 I ArcTanh[2/Sqrt[3]] + 2 \[Pi] C[1] *) 
    

    ToRules 다음 ReplaceAll

    xE[t] /. {ToRules[sol]} 
    
    (* ==> {-Sqrt[1600 - 100 (1 - Cos[2 \[Pi] C[1]])^2] + 
          10 (2 \[Pi] C[1] - Sin[2 \[Pi] C[1]]), 
         -Sqrt[1600 - 100 (1 - Cosh[2 ArcTanh[2/Sqrt[3]] - 2 I \[Pi] C[1]])^2] + 
          10 (2 I ArcTanh[2/Sqrt[3]] + 2 \[Pi] C[1] - 
          I Sinh[2 ArcTanh[2/Sqrt[3]] - 2 I \[Pi] C[1]])} *) 
    

    주를 사용하여 당신이 당신의 표현으로 다시 대체 할 수있는 규칙의 목록에이 표현을 변환합니다 결과 표현식에 여전히 상수 C[1]이 포함되어 있음을 나타냅니다. C[1]의 특정 값에 대한 극한값을 찾으려면 다음과 같은 다른 대체 규칙을 사용할 수 있습니다.

    ({t, xE[t]} /. {ToRules[sol]}) /. {C[1] -> -4} 
    
    +0

    Danke Heike !! 그리고 그것을 대체하여 {t/.xE [t]} /와 포인트를 얻는 방법. 익스트림 엑스? – ZelelB

    +0

    @ ZelelB 귀하의 질문에 대한 답을 좀 더 넓혔습니다. – Heike