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

Überflüssiger Strich im Plot muss weg

 

maze
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 09.01.2012, 15:35     Titel: Überflüssiger Strich im Plot muss weg
  Antworten mit Zitat      
Hallo liebes Forum,

ich habe einen Plot, in dem aus der X-Achse ein dünner langer Strich entlang der ganzen Y-Achse auftritt und ich weiss nicht woher das kommt. Ich bekomme den einfach nicht weg. Kann mir jemand weiterhelfen?

Danke im voraus,
Claudia

Plume-Plot.fig
 Beschreibung:

Download
 Dateiname:  Plume-Plot.fig
 Dateigröße:  5.33 KB
 Heruntergeladen:  301 mal
glaze.m
 Beschreibung:

Download
 Dateiname:  glaze.m
 Dateigröße:  12.96 KB
 Heruntergeladen:  307 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.01.2012, 15:54     Titel:
  Antworten mit Zitat      
Hallo,

du kannst Haltepunkte setzen und mit dem Debugger schrittweise durchgehen, um die Zeile festzustellen, die die Probleme verursacht.

Wenn es dadurch nicht klar wird, kannst du ja nochmal fragen, wie du diese bestimmte Zeile dazu bekommst, das zu machen, was sie machen soll.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2012, 16:03     Titel:
  Antworten mit Zitat      
Hi,

Der lange dünne Strich ist der Rand von "patch".
Unter dem schwarzen Strich liegt übrigens noch ein langer dünner roter Strich, der von den beiden plot Befehlen kommt (welcher überflüssig ist, da er von dem patch sowieso übermalt wird)

Das liegt an r_vec und v_vec (r_vec hat am Ende etliche Nullen).

Wie es nun letztendlich richtig ist, musst du wissen, wenn ich r_vec und v_vec so verkürze, dass r_vec nur noch eine Null hat, sieht es jedenfalls "schöner" aus Wink
 
maze
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 09.01.2012, 16:54     Titel:
  Antworten mit Zitat      
hey, lieben dank an euch beide.
das habe ich vorhin zum glück auch schon herausgefunden, nachdem ich den debugger benutzt habe (wusste nicht, dass das beim plot auch funktioniert). meine problem ist jetzt folgendes: ich gebe eine höhe z vor bis z.b. 30 km. während des programms ergeben sich jedoch negativ-werte. da habe ich dem programm gesagt, es soll nur bis dahin rechnen. mein problem ist, dass es dann trotzdem z bis 30 km plottet und nicht nur bis dahin, wo das programm abbricht. ich weiss nicht, wie ich z_vec schon im vorfeld so definieren kann, dass der vektor die "abbruchlänge" hat, wenn sie zu dem zeitpunkt ja noch nicht stattfindet?

Code:

r_vec=zeros(nstep,1); % Initialbedingung

% hier läuft das Programm - in einer schleife - wo unter anderem

nstep=ceil(z_end-z0)/hstep;
for istep=1:nstep  
r_vec(istep) = r;
 
% drin steht

% ab hier geht der plot los:

 z_vec = (hstep:hstep:z)';

  plot (r_vec,z_vec,'r-')
  plot (-r_vec,z_vec,'r-')
  xlabel('Breite (km)')
  ylabel('Höhe über Kraterradius (km)')
 
  hold all
  axis ([-20000 20000 -5000 40000]);
 
% hier - nach dem plot-befehl - bricht er mir dann das programm ab

 if isnan(u)||isinf(u)
    disp('break')
     return
 end
 

   if u == 0
   disp('break')
    return
   end
   
  if r<=0
    r=0;
  end

 if isnan(r)|| isinf(r)
     disp('break')
     return
 end
 
% und hier endet auch erst die schleife. wenn ich schon voher die abbruchbedinung setze, kommt kein plot.
 
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: 09.01.2012, 17:37     Titel:
  Antworten mit Zitat      
ich habs :

Code:

indx=find(r_vec); % damit holt er mir nur die werte von r_vec, die grösser Null sind

r_temp=r_vec(indx);
z_temp=r_vec(indx);

plot (r_temp,z_temp,'r-')
plot (-r_temp,z_temp,'r-')

 
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 - 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.