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

Bestimmte Daten bei Plot ausnehmen

 

Gast 010

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2009, 08:23     Titel: Bestimmte Daten bei Plot ausnehmen
  Antworten mit Zitat      
Hy,
ich habe folgendes Problem. Ich zeichne eine 25x19 Matrix in der Werte gespeichert sind mit folgendem Programm:

[x,y]=meshgrid(0:1:24,0:1:19);

z(z<0)=NaN;

tri=delaunay(x,y);

trimesh(tri,x,y,z);

Mit der zweiten Zeile will ich erreichen das meine Werte die 0 sind nicht geplottet werden, da es einige in der Matrix sind. Aber sobald ich das < auf ein <= oder == setze ist mein kompletter Plot leer. So wie es jetzt ist funktioniert es.

Weiß da jemand Rat?


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 10.09.2009, 09:55     Titel:
  Antworten mit Zitat      
Bei mir ist der Plot nicht leer. Ich habe z folgendermassen gewählt.

Code:

[x,y]=meshgrid(0:1:24,0:1:19);
z=ones(20,25);
z(10,9)=0;
z(z==0)=NaN;
tri=delaunay(x,y);
trimesh(tri,x,y,z);
 


Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Gast 010

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2009, 10:14     Titel:
  Antworten mit Zitat      
Ah,
vielen dank schonmal, aber ich habe mich etwas missverständlich AUsgedrückt: In meiner Matrix befinden sich an einigen stellen schon werte, es ist nur ein teil der 25x20 mit Nullen besetzt.

sogar wenn ich die Zeile

Code:


z(z<=0)=0

 
in das command window einsetze bekomme ich die Matrix wo nur noch vereinzelt Werte stehen und der Rest NaN zu sehen ist.

Warum funktioniert dann der Plot nicht?
 
Gast 010

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2009, 11:00     Titel:
  Antworten mit Zitat      
Also,

ich hab mal ein einfaches Beispiel ausprobiert. Da hat mein Plot auch gestimmt, kann es sein das irgendetwas nicht stimmt weil mein Plot nur mit 38 Daten der 500er Matrix besetzt ist?

Oder ist es eine Einstellung innerhalb von MatLab?
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 10.09.2009, 11:24     Titel:
  Antworten mit Zitat      
Ja, wenn sehr wenige Werte besetzt sind kann das gut sein. Ich schaue es mit gerne an mit vollem Code und MAT File Wink

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2009, 12:27     Titel:
  Antworten mit Zitat      
Hy,

ich weiß nict ob ich alles richtig mache, stell zum ersten mal was ein. Hab ein txt-file gemacht wo mein Ausgangs 1x38 Matrix drinnen ist. Dann das m-file mit dem ich einmal umspeicher und das m-file mit dem ich Auswerten lasse.

Habe gerade noch einen rießen Fehler entdeckt mit Hilfe des Data Cusor in der Figure. Mein Plot soll quasi die Matrix nachempfinden und die Werte an die bestimmten Punkte speichern. Ich habe zwar einen Plot der aussieht wie er soll, 1 Element in der Mitte, 6 rundrum, darum 12 und außen 18, aber die Werte passen nicht zu dem in meinem 1x38 Vektor.

Vielleicht kannst du da weiterhelfen.

NetzGrafiktri3D25x20.m
 Beschreibung:

Download
 Dateiname:  NetzGrafiktri3D25x20.m
 Dateigröße:  1.16 KB
 Heruntergeladen:  448 mal
Anordnung25x20.m
 Beschreibung:

Download
 Dateiname:  Anordnung25x20.m
 Dateigröße:  1.32 KB
 Heruntergeladen:  449 mal
Matrizen.txt
 Beschreibung:

Download
 Dateiname:  Matrizen.txt
 Dateigröße:  3.24 KB
 Heruntergeladen:  459 mal
 
Gast 010

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2009, 12:51     Titel:
  Antworten mit Zitat      
Moment,

Problem mit der Anordnung ist selbst gelöst, besteht also nur noch die Nullwerte raus zu nehmen!
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 10.09.2009, 15:50     Titel:
  Antworten mit Zitat      
Mit
Code:

save daten.mat A F
 


wird daten.mat erzeugt. Dann brauchen wir F nicht abtippen...

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2009, 17:27     Titel:
  Antworten mit Zitat      
Hy,

ich hab nun meinen plot zu folgendem umgewandelt(siehe Anhang). Wie ist es nun möglich auf die Stirnseiten der einzelnen Balken Zahlen zu schreiben in der Anordnung von 1-38, geht das überhaupt?


MfG

3000er_Balken.jpg
 Beschreibung:

Download
 Dateiname:  3000er_Balken.jpg
 Dateigröße:  117.45 KB
 Heruntergeladen:  510 mal
3000er_Balken.fig
 Beschreibung:

Download
 Dateiname:  3000er_Balken.fig
 Dateigröße:  25.78 KB
 Heruntergeladen:  432 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 - 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.