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

2D-Plot; Fläche durch Temperaturverlauf färben

 

maze
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 03.01.2012, 17:56     Titel: 2D-Plot; Fläche durch Temperaturverlauf färben
  Antworten mit Zitat      
Hi,

ich habe ein Programm, welches mir am Ende den Radius R in Abhängigkeit von der Höhe Z ausspuckt. In dem Programm berechne ich auch eine Temperatur, die sich mit der Höhe verändert.
Ich möchte jetzt gerne die Fläche des Plots zwischen R und T mit Farbe füllen. Und zwar in Relation zum Farbverlauf.
Ich schaffs einfach nicht. Ich habs mit Patch versucht, mit imagesc nichts war im Nachhinein richtig...Ich sitze da jetzt schon seit 4 Tagen dran und weiss nicht mehr weiter. Ich bin für jeden Hinweis dankbar

Ich setze mein Programm in den Anhang rein. Der Plot macht da glaube ich anschaulicher klar, was ich möchte.

vulkan_magma_kammer.m
 Beschreibung:

Download
 Dateiname:  vulkan_magma_kammer.m
 Dateigröße:  15.92 KB
 Heruntergeladen:  569 mal
Private Nachricht senden Benutzer-Profile anzeigen


maze
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 13.01.2012, 18:57     Titel:
  Antworten mit Zitat      
ich habs gefunden:

Das Programm wird über die Höhe z integriert. Es läuft über einen Schleife von 1 bis nstep.
Die Temperatur t wird für jede Höhe berechnet. Diese muss in einem Vektor abgespeichert werden. Wenn alle drei Vektoren, r,z und t die gleiche Länge haben, kann ich den Patch-Befehl anwenden und erhalte die Einfärbung der Fläche von r_vec und z_vec in Abhängigkeit von t

Code:


nstep=ceil(z_end-z0)/hstep;
  r_vec=zeros(nstep,1);
  t_vec=zeros(nstep,1);

for istep=1:nstep    

% hier ist noch eine Menge Programm drin. Ich nehme nur die wichtigen Variablen für den Plot hier rein.

r_vec=r;
t_vec=t
z_vec = (hstep:hstep:z)'; % hstep ist die Integrationslänge

end % ende der schleife

plot (r_vec,z_vec,'r-')
plot (-r_vec,z_vec,'r-') % um eine Kegelform zu erhalten muss ich auch über -r_vec plotten. Mit diesen zwei Plotbefehlen habe ich erst den Rand ohne oberen Abschluss
z2 =[z_vec; z_vec(end:-1:1)]; % hier definiere ich die Fläche: von z_anfang bis ende und dann wieder zum Anfang; das sind jedoch doppelt so viele werte, wie z_vec hat
r2= [r_vec;-r_vec(end:-1:1)];% dassselbe

  t3=[t_vec';t_vec']; %damit ich für den Temperatur-Vektor die gleiche Länge habe definiere ich einen zweispaltigen Vektor mit der halben Zeilenzahel wie r2 und z2.
  t3=t3(:);% hier wandel ich die zwei Spalten in eine Spalte und doppelt so viele Zeilen um. t3 hat nun dieselbe Anzahl an Zeilen und Spalten. Jede Zeile wird einmal wiederholt. Da sich meine Temperatur nicht auf einer kleinen Skala verändert, macht die Wiederholung in meinem Fall nichts.

patch(r2,z2,t3,'edgecolor','none'); % patch färbt nun die Fläche - aufgespannt durch r2 und z2 in Abhängigkeit von der Temperaturfarbe von t3 ein.
 
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.