goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 101147
Top-Poster: Johannes_B (5068)

Wir begrüßen unseren neuesten Benutzer EggBertoo.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Exponentialfunktionen bewegen

 

Eduard
Forum-Guru
Forum-Guru

Beiträge: 327
Anmeldedatum: 02.05.15
Wohnort: ---
Version: TeX Shop Version 4.31 (4.31)
     Beitrag Verfasst am: 10.12.2019, 19:13     Titel:
  Antworten mit Zitat      
Könntest du mir bitte das kurz erklären. Ich blicke immer noch nicht durch wie das funktioniert.

Es geht ja um die Schnittpunkte in der ersten Abbildung.

Ich habe verstanden, dass du den zwei Funktionen einen Namen vergeben hast (wusste gar nicht, dass das möglich ist!).

In meinem letzten Beispiel wird nicht die Schnittstelle anvisiert. Aus dem anderen, vorherigen Beispiel müsste es

Code

\path [name intersections={of=f1a and f1b, by=is f1a right}];
 


Also der Schnittpunkt (intersection) von (f1a und f1b). Aber ich verstehe nicht, wie man die Schnittpunkt "angibt". Was heißt "vline"= "verticle line? Dachte man kann mit "left" und "right" die Schnittpunkte angeben, aber es funktioniert nicht. Über ein kure Erklärung wäre ich dir sehr dankbar.
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 2040
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 10.12.2019, 20:44     Titel:
  Antworten mit Zitat      
Ich habe die Bezeichnungen lediglich gewählt, um den Überblick zu behalten. Im Abschnitt 13.3.2 "Intersections of Arbitrary Paths" steht, wie Du vorgehen darfst.
Private Nachricht senden Benutzer-Profile anzeigen

Eduard
Forum-Guru
Forum-Guru

Beiträge: 327
Anmeldedatum: 02.05.15
Wohnort: ---
Version: TeX Shop Version 4.31 (4.31)
     Beitrag Verfasst am: 10.12.2019, 21:20     Titel:
  Antworten mit Zitat      
Hab es mir angeschaut aber es hilft nicht weiter. Hab versucht es der Vorlage entsprechend so zu ändern, dass der Schnittpunkt in der oberen Abbildung auf der x-Achse der 2. Abbildung abgetragen wird, aber leider bekomme ich das nicht hin.

Code

\path [name path=vline]
    ([xshift=8mm]current bounding box.north) --
    ([xshift=8mm]current bounding box.south);
   
\path [name intersections={of=f1a and vline, by=is f1a vline}];
\path [name intersections={of=f2a and vline, by=is f2a vline}];
\draw [dotted] (is f1a vline) -- (is f2a vline) node [below] {$y^*$};
 
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 2040
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 11.12.2019, 00:30     Titel:
  Antworten mit Zitat      
Ich hoffe, das folgende Beispiel ist nicht zu komplex und bringt Dich weiter.

Die Berechnung des Radius im zweiten Diagramm wollte ich erst beim Augenmaß belassen, habe es dann aber doch gewagt, den nicht trivialen Weg aus der Dokumentation zu beschreiten.

Code
\documentclass[12pt]{report}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{showframe}

\usetikzlibrary{intersections,calc}

\begin{document}
\begin{figure}[htbp]
   \centering
   \begin{tikzpicture}[domain=0:6, range=4:5, thick]
   \pgfmathsetlengthmacro{\lengthXaxis}{6cm}
   \pgfmathsetlengthmacro{\lengthYaxis}{5cm}
   \pgfmathsetlengthmacro{\radiusArcFigureOne}{5.5cm}
   
   % erstes Diagramm
   \draw [->] (0,0) -- (0,\lengthYaxis) node[above] {$\pmb{x,\textcolor{cyan}{x_2}}$};
   \draw [->] (0,0) -- (\lengthXaxis,0) node[right] {$\pmb{\textcolor{green}{y}}$};
   
   \draw [name path=f1a] (\radiusArcFigureOne,0)
       arc [
          start angle=0,
          end angle=90,
          x radius=\radiusArcFigureOne,
          y radius=(3*\radiusArcFigureOne/4)-2mm
     
]
   ;
   \draw[name path=f1b, thick, color=purple, domain=2.5:8, shift={(-2,.7)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7}) node[right] {$\bar{u}_2$}
   ;
   
   % zweites Diagramm
   \begin{scope}[yshift=-6cm]
   % x-Achse benannt
   \draw [->, name path global=f2xline] (0,0) -- (\lengthXaxis,0) node[right] {$\pmb{y}$};
   \draw [->] (0,0) -- (0,\lengthYaxis) node[above] {$\pmb{x_1}$};
   \end{scope}
   
   % drittes Diagramm
   \begin{scope}[yshift=-12cm]
   \draw [->] (0,0) -- (0,\lengthYaxis) node[above] {$\pmb{x_2}$};
   \draw [->, name path global=f3xline] (0,0) -- (\lengthXaxis,0) node[right] {$\pmb{y}$};
   \draw[name path global=f3a, thick, color=purple, domain=3:5.5, shift={(-.5,-.4)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7});
   \draw[name path global=f3b, thick, color=purple, domain=3:5.5, shift={(-1.5,-.4)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7});  
   \draw[name path global=f3c, thick, color=purple, domain=3:5.5, shift={(.5,-.4)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7});  
   \end{scope}
   
   \path [name intersections={of=f1a and f1b, by={is f1 left, is f1 right}}];
   
   % senkrechte Linie durch den linken Schnittpunkt des ersten Diagramms zeichnen
   \path [name path=left vline]% vertical line
       (is f1 left) --
       (is f1 left|-current bounding box.south)
   ;
   % Schnittpunkt der x-Achse des zweiten Diagramms mit der linken senkrechten Linie berechnen
   \path [name intersections={of=f2xline and left vline, by=is f2xline left vline}];
   
   % linken Schnittpunkt mit der x-Achse des zweiten Diagramms verbinden
   \draw [dotted] (is f1 left) -- (is f2xline left vline);
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
   % senkrechte Linie durch den rechten Schnittpunkt des ersten Diagramms zeichnen
   \path [name path=right vline]% s.o.
       (is f1 right) --
       (is f1 right|-current bounding box.south)
   ;
   % Schnittpunkt der x-Achse des zweiten Diagramms mit der rechten senkrechten Linie berechnen
   \path [name intersections={of=f2xline and right vline, by=is f2xline right vline}];
   
   % rechten Schnittpunkt mit der x-Achse des zweiten Diagramms verbinden
   \draw [dotted] (is f1 right) -- (is f2xline right vline);
   
   % Radius für eine halbe Ellipse berechnen
   % Erklärung im Abschnitt 4.1.3 "The Circle Around A"
   % halbe Ellipse im zweiten Diagramm zeichnen
   \draw let
           \p1 = ($ (is f2xline left vline) - (is f2xline right vline) $),
           \n2 = {veclen(\x1,\y1)/2}
         in
           (is f2xline right vline)
               % y radius = 2/3 * x radius
               arc [start angle=0, end angle=180, x radius=\n2, y radius=2*\n2/3]
         ;
   \end{tikzpicture}
   \caption{Samuelson-Regel}
\end{figure}
\end{document}


Zuletzt bearbeitet von Bartman am 11.12.2019, 06:04, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen

Eduard
Forum-Guru
Forum-Guru

Beiträge: 327
Anmeldedatum: 02.05.15
Wohnort: ---
Version: TeX Shop Version 4.31 (4.31)
     Beitrag Verfasst am: 11.12.2019, 00:38     Titel:
  Antworten mit Zitat      
Super! Vielen Dank für deine ausführlichen Kommentare! Ich werde mir alles genau anschauen und versuchen die Vorlage umzusetzen. Nochmals vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen

Eduard
Forum-Guru
Forum-Guru

Beiträge: 327
Anmeldedatum: 02.05.15
Wohnort: ---
Version: TeX Shop Version 4.31 (4.31)
     Beitrag Verfasst am: 11.12.2019, 11:35     Titel:
  Antworten mit Zitat      
Code

\documentclass[12pt]{report}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{showframe}

\usetikzlibrary{intersections,calc}

\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}[domain=0:6, range=4:5, thick]
\pgfmathsetlengthmacro{\lenghtXaxis}{6cm}
\pgfmathsetlengthmacro{\lenghtYaxis}{5cm}
\pgfmathsetlengthmacro{\radiusArcFigureOne}{5.5cm}
   
% erstes Diagramm
\draw [->] (0,0) -- (0,\lenghtYaxis) node[above] {$\pmb{x,\textcolor{cyan}{x_2}}$};
\draw [->] (0,0) -- (\lenghtXaxis,0) node[right] {$\pmb{\textcolor{green}{y}}$};
   
\draw [name path=f1a] (\radiusArcFigureOne,0)
       arc [
          start angle=0,
          end angle=90,
          x radius=\radiusArcFigureOne,
          y radius=(3*\radiusArcFigureOne/4)-2mm
     
]
;
\draw[name path=f1b, thick, color=purple, domain=2.5:8, shift={(-2,.7)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7}) node[right] {$\bar{u}_2$}
;
   
% zweites Diagramm
\begin{scope}[yshift=-6cm]
% x-Achse benannt
\draw [->, name path global=f2xline] (0,0) -- (\lenghtXaxis,0) node[right] {$\pmb{y}$};
\draw [->] (0,0) -- (0,\lenghtYaxis) node[above] {$\pmb{x_1}$};
\draw[name path=f5, thick, color=cyan, domain=4:8, shift={(-2,-.05)}]
       plot (\x,{15*exp(-.5*\x-.35)+.75}) node[right] {$u^{\ast}_1$};
\path[name intersections={of=f5 and f6}, name=i}];
\end{scope}
   
% drittes Diagramm
\begin{scope}[yshift=-12cm]
\draw [->] (0,0) -- (0,\lenghtYaxis) node[above] {$\pmb{x_2}$};
\draw [->, name path global=f3xline] (0,0) -- (\lenghtXaxis,0) node[right] {$\pmb{y}$};
\draw[name path global=f3a, thick, color=purple, domain=3:5.5, shift={(-.5,-.4)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7});
\draw[name path global=f3b, thick, color=purple, domain=3:5.5, shift={(-1.5,-.4)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7});  
\draw[name path global=f3c, thick, color=purple, domain=3:5.5, shift={(.5,-.4)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7});  
\end{scope}
   
\path [name intersections={of=f1a and f1b, by={is f1 left, is f1 right}];

   
% senkrechte Linie durch den linken Schnittpunkt des ersten Diagramms zeichnen
\path [name path=left vline]% vertical line
       (is f1 left) --
       (is f1 left|-current bounding box.south)
;
% Schnittpunkt der x-Achse des zweiten Diagramms mit der linken senkrechten Linie berechnen
\path [name intersections={of=f2xline and left vline, by=is f2xline left vline}];

   
% linken Schnittpunkt mit der x-Achse des zweiten Diagramms verbinden
\draw [dotted] (is f1 left) -- (is f2xline left vline);
     
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
% senkrechte Linie durch den rechten Schnittpunkt des ersten Diagramms zeichnen
\path [name path=right vline]% s.o.
       (is f1 right) --
       (is f1 right|-current bounding box.south)
;
% Schnittpunkt der x-Achse des zweiten Diagramms mit der rechten senkrechten Linie berechnen
\path [name intersections={of=f2xline and right vline, by=is f2xline right vline}];
   
% rechten Schnittpunkt mit der x-Achse des zweiten Diagramms verbinden
\draw [dotted] (is f1 right) -- (is f2xline right vline);
   
% Radius für eine halbe Ellipse berechnen
% Erklärung im Abschnitt 4.1.3 "The Circle Around A"
 % halbe Ellipse im zweiten Diagramm zeichnen
\draw [name path=f6] let
\p1 = ($ (is f2xline left vline) - (is f2xline right vline) $),
\n2 = {veclen(\x1,\y1)/2}
in
(is f2xline right vline)
% y radius = 2/3 * x radius
arc [start angle=0, end angle=180, x radius=\n2, y radius=2*\n2/3]
;
\end{tikzpicture}
\caption{Samuelson-Regel}
\end{figure}
\end{document}
 


Nochmals vielen Dank für deine Hilfe.

Ich habe es nun geschafft eine Funktion zeichnen zu lassen, die den Halbkreis im zweiten Diagramm schneidet.

Die Funktion habe ich "f5" genannt und dann versucht den Schnittpunkt zwischen Halbkreis und "f5" zu berechnen. Nun wusste ich aber nicht genau, wie der Halbkreis heißt bzw. ob du ihm bereits einen Namen gegeben hattest. Konnte keinen finden, deshalb gab ich dem Halbkreis den Namen "f6".

Bei der Berechnung der Schnittpunkte erhalte ich aber die Fehlermeldung, dass "f6" nicht bekannt ist.

Meine Idee war, den Schnittpunkt zwischen "f5 und f6" als "i" zu bezeichnen. Doch leider komme ich da nicht weiter.
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 2040
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 11.12.2019, 14:33     Titel:
  Antworten mit Zitat      
Der Name von f5 muss wegen der scope-Umgebung global sein.

Du versuchst den Schnittpunkt vor der Benennung von f6 zu berechnen.

Im Befehl zur Berechnung des Schnittspunktes von f1a und f1b hast Du eine schließende geschweifte Klammer entfernt.

Du hast im Befehl zur Berechnung des Schnittspunktes von f5 und f6 die schließende geschweifte Klammer zu früh gesetzt. Außerdem benutzt Du dort name statt by.

Nach diesen Berichtigungen wird zwar ein Schnittpunkt berechnet, aber nicht der den Du haben möchtest.

Zuletzt bearbeitet von Bartman am 11.12.2019, 14:48, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen

Eduard
Forum-Guru
Forum-Guru

Beiträge: 327
Anmeldedatum: 02.05.15
Wohnort: ---
Version: TeX Shop Version 4.31 (4.31)
     Beitrag Verfasst am: 11.12.2019, 14:45     Titel:
  Antworten mit Zitat      
Danke! Habe was dazu gelernt. Die Berechnung muss als nach der Bezeichnung stattfinden. Ich glaube, ich habe das jetzt hinbekommen.

Jetzt habe ich aber versucht die gestrichelte Linie zu zeichnen. Ich weiß aber nicht wie der Referenzpunkt ist? Der ist ja (nach oben) Schnittpunkt in Diagramm 2 abgetragen auf die Kurve in Diagramm 1 und (nach unten) auf die Kurve in der Mitte der drei Kurven.

Code

\documentclass[12pt]{report}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{showframe}

\usetikzlibrary{intersections,calc}

\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}[domain=0:6, range=4:5, thick]
\pgfmathsetlengthmacro{\lenghtXaxis}{6cm}
\pgfmathsetlengthmacro{\lenghtYaxis}{5cm}
\pgfmathsetlengthmacro{\radiusArcFigureOne}{5.5cm}
   
% erstes Diagramm
\draw [->] (0,0) -- (0,\lenghtYaxis) node[above] {$\pmb{x,\textcolor{cyan}{x_2}}$};
\draw [->] (0,0) -- (\lenghtXaxis,0) node[right] {$\pmb{\textcolor{green}{y}}$};
   
\draw [name path=f1a] (\radiusArcFigureOne,0)
       arc [
          start angle=0,
          end angle=90,
          x radius=\radiusArcFigureOne,
          y radius=(3*\radiusArcFigureOne/4)-2mm
     
]
;
\draw[name path=f1b, thick, color=purple, domain=2.5:8, shift={(-2,.7)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7}) node[right] {$\bar{u}_2$}
;
   
% zweites Diagramm
\begin{scope}[yshift=-6cm]
% x-Achse benannt
\draw [->, name path global=f2xline] (0,0) -- (\lenghtXaxis,0) node[right] {$\pmb{y}$};
\draw [->] (0,0) -- (0,\lenghtYaxis) node[above] {$\pmb{x_1}$};
\draw[name path global=f5, thick, color=cyan, domain=4:8, shift={(-2,-.05)}]
       plot (\x,{15*exp(-.5*\x-.35)+.75}) node[right] {$u^{\ast}_1$};
\end{scope}
   
% drittes Diagramm
\begin{scope}[yshift=-12cm]
\draw [->] (0,0) -- (0,\lenghtYaxis) node[above] {$\pmb{x_2}$};
\draw [->, name path global=f3xline] (0,0) -- (\lenghtXaxis,0) node[right] {$\pmb{y}$};
\draw[name path global=f3a, thick, color=purple, domain=3:5.5, shift={(-.5,-.4)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7});
\draw[name path global=f3b, thick, color=purple, domain=3:5.5, shift={(-1.5,-.4)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7});  
\draw[name path global=f3c, thick, color=purple, domain=3:5.5, shift={(.5,-.4)}]
       plot (\x,{25*exp(-.7*\x-.25)+.7});  
\end{scope}
   
\path [name intersections={of=f1a and f1b, by={is f1 left, is f1 right}}];

   
% senkrechte Linie durch den linken Schnittpunkt des ersten Diagramms zeichnen
\path [name path=left vline]% vertical line
       (is f1 left) --
       (is f1 left|-current bounding box.south)
;
% Schnittpunkt der x-Achse des zweiten Diagramms mit der linken senkrechten Linie berechnen
\path [name intersections={of=f2xline and left vline, by=is f2xline left vline}];

   
% linken Schnittpunkt mit der x-Achse des zweiten Diagramms verbinden
\draw [dotted] (is f1 left) -- (is f2xline left vline);
     
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
% senkrechte Linie durch den rechten Schnittpunkt des ersten Diagramms zeichnen
\path [name path=right vline]% s.o.
       (is f1 right) --
       (is f1 right|-current bounding box.south)
;
% Schnittpunkt der x-Achse des zweiten Diagramms mit der rechten senkrechten Linie berechnen
\path [name intersections={of=f2xline and right vline, by=is f2xline right vline}];
   
% rechten Schnittpunkt mit der x-Achse des zweiten Diagramms verbinden
\draw [dotted] (is f1 right) -- (is f2xline right vline);
   
% Radius für eine halbe Ellipse berechnen
% Erklärung im Abschnitt 4.1.3 "The Circle Around A"
 % halbe Ellipse im zweiten Diagramm zeichnen
\draw [name path=f6] let
\p1 = ($ (is f2xline left vline) - (is f2xline right vline) $),
\n2 = {veclen(\x1,\y1)/2}
in
(is f2xline right vline)
% y radius = 2/3 * x radius
arc [start angle=0, end angle=180, x radius=\n2, y radius=2*\n2/3]
;

\path[name intersections={of=f5 and f6, by=is f6}];
\draw [dotted] (is f6} -- (is f1a);
\end{tikzpicture}
\caption{Samuelson-Regel}
\end{figure}

\end{document}
 
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 2040
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 11.12.2019, 14:48     Titel:
  Antworten mit Zitat      
Es könnte übrigens der Übersicht dienen, wenn Du nicht mit solchen Anliegen dieses Themas anwachsen lässt, sondern mit einem auf den wesentlichen Teil begrenzten Beispiel ein neues Thema startest.

Der letzte Befehl erzeugt eine Fehlermeldung, da is f1a nie berechnet wurde.

Da Du meine Änderung im letzten Beitrag vermutlich nicht gesehen hast:

Der gewünschte Schnittpunkt wurde nicht berechnet. Für einen optischen Test genügt schon \fill (is f6) circle [radius=3pt];.

Der Punkt dürfte ab dem y-Wert in shift={(-2,-.067) an der richtigen Stelle erscheinen.

Apropos Fehler: In meinem Beitrag in der ersten Stunde des heutigen Tages ist mir ein Tippfehler bei dem englischen Wort für die Länge unterlaufen, den ich dann stur mit kopieren und einfügen vervielfältig habe. Rolling Eyes Du musst diesen nicht übernehmen. Wink
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen Gehe zu Seite Zurück  1, 2



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2020 goLaTeX.de