Exponentialfunktionen bewegen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Exponentialfunktionen bewegen

von Bartman » Mi 11. Dez 2019, 14:48

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. :roll: Du musst diesen nicht übernehmen. :wink:

von Eduard » Mi 11. Dez 2019, 14:45

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.
\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}

von Bartman » Mi 11. Dez 2019, 14:33

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.

von Eduard » Mi 11. Dez 2019, 11:35

\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.

von Eduard » Mi 11. Dez 2019, 00:38

Super! Vielen Dank für deine ausführlichen Kommentare! Ich werde mir alles genau anschauen und versuchen die Vorlage umzusetzen. Nochmals vielen Dank!

von Bartman » Mi 11. Dez 2019, 00:30

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.
\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}

von Eduard » Di 10. Dez 2019, 21:20

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.
\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^*$};

von Bartman » Di 10. Dez 2019, 20:44

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.

von Eduard » Di 10. Dez 2019, 19:13

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
\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.

von Bartman » Di 10. Dez 2019, 18:13

Eduard hat geschrieben:Wie kann ich die Verbindungslinien genau ziehen, so dass sie durch alle drei Figuren durchgehen?
Dafür änderst Du "einfach" die Bezugspunkte.

Ein weiteres Beispiel:
\documentclass[12pt]{report}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{showframe}

\usetikzlibrary{intersections}

\begin{document}
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[domain=0:6, range=4:5, thick]
\draw [->] (0,0) -- (0,4.5) node[above] {$\pmb{x,\textcolor{cyan}{x_2}}$};
\draw [->] (0,0) -- (4.5,0) node[right] {$\pmb{\textcolor{green}{y}}$};

\draw [name path=f1a] (4,0) 
    arc [start angle=0, end angle=90, x radius=4, y radius=3]
;
\draw[name path=f1b, thick, color=purple, domain=2.5:7.5, shift={(-2,.2)}]
    plot (\x,{25*exp(-.7*\x-.25)+.7}) node[right] {$\bar{u}_2$}
;

\begin{scope}[yshift=-6cm]
\draw [->] (0,0) -- (4.5,0) node[right] {$\pmb{y}$};
\draw [->] (0,0) -- (0,4.5) node[above] {$\pmb{x_1}$};

\draw [name path global=f2a] (4,0) arc [start angle=0, end angle=180, x radius=1.5, y radius=1];
\end{scope}

\begin{scope}[yshift=-12cm]
\draw [->] (0,0) -- (0,4.5) node[above] {$\pmb{x_2}$};
\draw [->, name path global=f3xline] (0,0) -- (4.5,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 path=vline] 
    ([xshift=4mm]current bounding box.north) -- 
    ([xshift=4mm]current bounding box.south)
;
\path [name intersections={of=f1a and vline, by=is f1a vline}];
\path [name intersections={of=f3xline and vline, by=is f3xline vline}];
\draw [dotted] (is f1a vline) -- (is f3xline vline) node [below] {$y^*$};
\end{tikzpicture}
\caption{Samuelson-Regel}
\end{figure}
\end{document}

Nach oben