Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Min / Max Value einer Kurve ermitteln

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.07.2000
    Beiträge
    123

    Min / Max Value einer Kurve ermitteln

    Hallo zusammen,

    ich neige ab und an dazu etwas zu übertreiben

    Der Plot tut soweit, nur würde ich gerne für das erste Maximum und das erste Minimum auf beide Achsen die Werte (x, y) abtragen. Ich könnte jetzt die Werte aus der Tabelle die erzeugt wird auslesen, aber das ist ja eben nicht sinn und Zweck .. ich würde gerne an den anderen Parametern herumspielen und alles soll passen.

    Mit Gnuplot kann man Pseudoplots erstellen und dann x und y Werte für Min/Max ermitteln, allerdings stehe ich voll auf dem Schlauch, wie ich den Code in das Beispiel integriere. Das mit dem auslesen der pgfkeys will auch nicht so wie ich das möchte.

    Ich hatte mir vorgestellt, dass ich es schaffe die Werte in Makros zu schreiben und dann
    Code:
     \draw(0,\ymax) --(-0.2,\ymax) node[left]{aufgehübschter Wert für ymax};
     \draw(0,\ymin) --(-0.2,\ymin) node[left]{aufgehübschter Wert für ymin};
    und das ganze auch für die x-Werte.

    Hat da jemand eine Idee?

    Grüße


    Code:
    \documentclass{article}
    
    \usepackage[latin1]{inputenc}
    \usepackage{tikz}
    \usetikzlibrary{shapes.geometric}
    \usetikzlibrary{arrows.meta,arrows}
    \usetikzlibrary{decorations.markings}
    \usepgflibrary{decorations.text}
    \usetikzlibrary[matrix]
    \usetikzlibrary{calc}
    \usetikzlibrary{math}
    \usepackage{pgfplots}
    \usepackage{pgfkeys}
    \pgfplotsset{compat=newest}
    
    \usepackage{verbatim}
    
    
    \begin{document}
    \pagestyle{empty}
    
    
    \begin{tikzpicture}[domain=0:10, >=latex]
     
    
    %     Koordinaten - Achsen und Grid zeichnen
        \draw[very thin,color=gray!10] (-0.,-0) grid (7.9,4.9);
        \draw[-{Stealth[length=2mm]}] (0,0) -- (0,4.5) node[below left] {$|U_Z|$};
        \draw[-{Stealth[length=2mm]}] (0,0) -- (7.5,0) node[right, pos=1] {$z$};% 
        
        \def\f{0.14}
        \def\lambda{1/\f}
        \def\beta{2 * pi *\f}
        \def\imp{75 + {0,1}*65}
        \def\z0{60}
        \def\reflex{(\imp-\z0)/(\imp+\z0)}
        \def\phi{abs(\reflex)}
        \def\reflexA{abs(\reflex)}
    
        \newcommand\beating[1]{2*abs(exp({0,1}*\beta* #1) + \reflexA * exp({0,1}*(\phi - \beta*#1)))}
    
        \draw[smooth, samples=1000, color=blue, domain=0:\lambda, solid, thick]
            plot[id=uz] function{\beating{x}};
    
        \pgfkeysgetvalue{/pgfplots/data min}{\xmin}
        \draw(2,5)node[above]{min: -\xmin-};
    
    \end{tikzpicture}
    
    \end{document}

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Moin moin,
    vllt tut es ja, die entstandene foo.uz.table mit pgfplotstable einzulesen und auf Extrema auszuwerten.
    Das hier:
    Zitat Zitat von pucki Beitrag anzeigen
    Code:
        \def\z0{60}
    ist IMHO bestenfalls gefährlich: damit erstellst Du kein Makro `\z0', sondern ein Makro ´\z', auf das `0' folgen muß.
    Code:
    \documentclass{article}
    \begin{document}
      \def\z0{60}
      \def\z1{59}
     (\z0)
     \show\z
    \end{document}
    ginge entsprechend in'n Knick, weil der hier zweite \def `\z' umdefiniert (und nicht `\z1' definiert). Damit bekämst Du dann auch
    Code:
    ! Use of \z doesn't match its definition.
    weil `\z' nach dem hier zweiten \def `1' erwartet und nicht `0'.

    VG
    Rainer
    There's nothing a good whack with a hammer won't fix!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •