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

Wasserfalldiagramm mittels surface ?

 

LeBob123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2016, 14:04     Titel: Wasserfalldiagramm mittels surface ?
  Antworten mit Zitat      
Hallo Matlab Profis.

Habe ein kleines Problem ein Wasserfalldiagramm zu erstellen. Als Grundlage dienen mir x-,y- und z-Werte die in Excel vorliegen. Die habe ich importiert und kann diese auch mit
Code:

ausgeben und bekomme ein ganz normales 3D-Liniendiagramm. (Siehe Grafik) Wie man sieht liegt die Linie schräg in der xy-Ebene(Draufsicht). Es wurde mir zugetragen das es wohl möglich ist mit dem surface-Befehl ein Wasserfall-Diagramm für diesen Fall zu erzeugen.
Vllt. hat hier ja jemand eine zündende Idee, Google und co ergaben immer nur Diagramme die parallel zur y-Achse Verlaufen.
Bin komplett neu in Matlab. Soll in diesem Fall auch nur zur Erzeugung von ansehnlichen Diagrammen dienen. Ziel ist es dann mehrere Datenreihen in einem Diagramm auf diese Art abzubilden.

Grüße

xyz.xls
 Beschreibung:

Download
 Dateiname:  xyz.xls
 Dateigröße:  29.5 KB
 Heruntergeladen:  280 mal
plot3.jpg
 Beschreibung:

Download
 Dateiname:  plot3.jpg
 Dateigröße:  40.79 KB
 Heruntergeladen:  265 mal


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 05.04.2016, 14:23     Titel:
  Antworten mit Zitat      
Mir wurde zugetragen Wink dass man Wasserfalldiagramme mit dem Befehl "waterfall" machen kann.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
LeBob123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2016, 14:45     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort.

Der Befehl waterfall ist mir bei meiner Suche über den Weg gelaufen. So weit ich das in der Dokumentation verstanden habe sind jedoch nur Plots parallel zur x-Achse möglich ?
Ich habe mal eine Grafik angefügt wie es ungefähr aussehen soll.

Grüße

schraeg.png
 Beschreibung:

Download
 Dateiname:  schraeg.png
 Dateigröße:  21.91 KB
 Heruntergeladen:  289 mal
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 05.04.2016, 17:17     Titel:
  Antworten mit Zitat      
Hallo,

hast du es denn schon mal mit surface plot surf versucht?

Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
LeBob123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2016, 18:16     Titel:
  Antworten mit Zitat      
Habe mit dem surf Befehl Fortschritte gemacht bin aber noch nicht ganz glücklich.

Laut Doku:

surf(X,Y,Z) uses Z for the color data and surface height. X and Y are vectors or matrices defining the x and y components of a surface. If X and Y are vectors, length(X) = n and length(Y) = m, where [m,n] = size(Z). In this case, the vertices of the surface faces are (X(j), Y(i), Z(i,j)) triples. To create X and Y matrices for arbitrary domains, use the meshgrid function.

also:
Code:
D = diag(z);
surf(x,y,D);


Sieht schon ganz gut aus und kommt der Sache schon sehr nah. Jedoch hat die "Kurve" noch eine räumliche Ausdehnung.
Ich probiere weiter... Bin für jeden Hinweis dankbar.

Grüße

surf_01.jpg
 Beschreibung:

Download
 Dateiname:  surf_01.jpg
 Dateigröße:  28.51 KB
 Heruntergeladen:  263 mal
surf_02.jpg
 Beschreibung:

Download
 Dateiname:  surf_02.jpg
 Dateigröße:  76.63 KB
 Heruntergeladen:  285 mal
 
LeBob123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2016, 09:39     Titel:
  Antworten mit Zitat      
Habe die Lösung nun gefunden.


Code:
a=x';
b=y';
c(1:64)=0;
d=z';
A=[a;a];
B=[b;b];
C=[c;d];
surf(A,B,C);


das zusammengekürzt auf:
Code:
c(1:64)=0;
surf([x';x'],[y';y'],[c;z']);


Gibt es eine Möglichkeit den Nullvektor auch direkt mit in die Matrix zu schreiben?
zeros(1:64) funktioniert nicht.


Grüße

wasserfall_surf.jpg
 Beschreibung:

Download
 Dateiname:  wasserfall_surf.jpg
 Dateigröße:  20.96 KB
 Heruntergeladen:  318 mal
 
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 - 2025 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.