WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Stromlinien und Potentiallinien

 

cordoba
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 13.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.08.2010, 14:17     Titel: Stromlinien und Potentiallinien
  Antworten mit Zitat      
Hallo,

ich möchte alle x,y Paare in die x/y-Ebene plotten, die einer Gleichung der Form

Code:

1/2(x^2-y^2) = const
 


genügen. Für const werden dann beliebige (reelle) Werte eingesetzt und man erhält so verschiedene Kurven. Also z.B.

Code:

1/2(x^2-y^2) = 3
 


usw. Gibt es da eine interne Funktion, um diese Kurvenscharen mit möglichst wenig Aufwand zu plotten?

mfg
Private Nachricht senden Benutzer-Profile anzeigen


aj.geissler
Forum-Guru

Forum-Guru



Beiträge: 251
Anmeldedatum: 26.11.07
Wohnort: Seeheim-Jugenheim
Version: ---
     Beitrag Verfasst am: 16.08.2010, 10:04     Titel:
  Antworten mit Zitat      
Hi,

wahrscheinlich wird die Funktion "contour" genau diese Anforderung erfüllen.

Code:

x=linspace(-3,3,100); y=x;
[X,Y]=meshgrid(x,y);
Z=(X .^2 - Y .^2) ./2;
cs=contour(X,Y,Z,-10:1:10);
 


Kann sein, daß Du eine andere Funktion definiert hast.
Damit Octave nicht abstürzt oder der Plot funktioniert, solltest Du eventuelle "Infs" durch skalare Werte ersetzen.

Grüße
Andreas
_________________

Andreas Geißler
Private Nachricht senden Benutzer-Profile anzeigen
 
cordoba
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 13.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2010, 15:29     Titel:
  Antworten mit Zitat      
Danke für deine Antwort! Mit "contour" hatte ich es auch ursprünglich versucht. Mein Fehler war:

Code:

clf;
x=linspace(-10,10,100);
y=linspace(-10,10,100);
[xx,yy]=meshgrid(x,y);
z=(xx.^2 - yy.^2) ./2;
contour(z,10); %FALSCH! Hier muß stehen contour(xx,yy,z,10)!!!!!
grid on;
 


Mit "contour(z,10)" wird der Plot aus dem Ursprung verschoben und eben FALSCH dargestellt! Richtig ist: contour(xx,yy,z,10). Und genau das ist mir in deinem Plot aufgefallen. Hab den Wald vor lauter Bäume nicht gesehen und bin fast verrückt geworden.... Danke!

mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
cordoba
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 13.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2010, 10:43     Titel:
  Antworten mit Zitat      
...der Vollständigkeit halber: Mit imag(f) und real(f) kann man mit octave (matlab) eine komplexe Funktion f in Real- und Imaginärteil zerlegen:

Code:

clear all;
clf;
[x,y]=meshgrid(linspace(-3,3));
z=complex(x,y);
%Stromfunktion
f=0.5*z.^2;
%sublpot(1,2,1);
%Potenziallinien
contour(x,y,real(f),-3:0.5:3);
hold on;
%Stromlinien
contour(x,y,imag(f),-3:0.5:3);
hold on;
grid on;
axis equal;
title('Strom- und Potentiallinien');
 


mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
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 posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.