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

Plot weicht auf LogScale von LinScale ab

 

RatioTM
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 24.04.18
Wohnort: Genf
Version: ---
     Beitrag Verfasst am: 30.03.2019, 13:48     Titel: Plot weicht auf LogScale von LinScale ab
  Antworten mit Zitat      
Hallo,

ich habe angehaengt einen Plot, der zwei mal die gleiche Matrix gegen die Zeit darstellt. Das eine Mal verwende ich eine Logarithmische Skala, das andere Mal eine lineare Skala. Merkwuerdigerweise wird der Plot auf log Scale nicht 0 zwischenzeitlich (nur zu Beginn), wohingegen die Werte auf LinScale korrekterweise den Wert 0 annehmen..ich weiss, dass ich auf LogScale natuerlich nicht 0 werden kann, jedoch sollten diese Werte eher mit NaN ersetzt werden und nicht mit Werten zwischen 0.0001 und 100 wie es im Beispiel der Fall ist. Selbst wenn ich die Werte die 0 sind vor dem plotten durch NaNs ersetze, erhalte ich das unten gezeigte Ergebnis.

Hier mein Code:

Code:
figure('Color','white')
set(gca,'YScale','log')
hold on
z=area(data(:,1),data(:,2),'Linestyle','none');
hold on
yyaxis right
z=area(data(:,1),data(:,2),'Linestyle','none');
tlabel('x')


Wisst ihr, was hier falsch sein koennte?

LogScale_LinScale.fig
 Beschreibung:

Download
 Dateiname:  LogScale_LinScale.fig
 Dateigröße:  83.6 KB
 Heruntergeladen:  431 mal
Private Nachricht senden Benutzer-Profile anzeigen


RatioTM
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 24.04.18
Wohnort: Genf
Version: ---
     Beitrag Verfasst am: 30.03.2019, 13:58     Titel:
  Antworten mit Zitat      
Hallo,

ich habe das Problem ausgemacht: Es liegt am Area Plot hier.
Da ich hier jedoch einen Bereich moeglicher Wahrscheinlichkeiten zeige, moechte ich dies gerne als Flaeche machen.

MATLAB approximiert jedoch im gezeigten Fall die Flaeche zwischen den naechsten Bereichen, in Welchen die Werte ungleich 0 sind, anstatt keine Flaeche zu zeigen.

Wie kann ich die Flaeche fuer Werte die NaN oder 0 sind verschwinden lassen auf logarithmischer Skala?
Private Nachricht senden Benutzer-Profile anzeigen
 
RatioTM
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 24.04.18
Wohnort: Genf
Version: ---
     Beitrag Verfasst am: 30.03.2019, 23:24     Titel:
  Antworten mit Zitat      
Hallo,

ich habe dies jetzt (provisorisch) geloest, indem ich die 0 Werte durch 1e-10 Werte ersetzt habe und die y Achse bei 1e0 enden lasse. Das ist natuerlich keine schoene Loesung, aber erfuellt seinen Zweck...

Beste Gruesse!
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.