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

for loop funktioniert nicht

 

Meg

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.04.2014, 17:36     Titel: for loop funktioniert nicht
  Antworten mit Zitat      
hallo liebes Matlab-Forum Team,

kann mir jemand bitte sagen, wo der Fehler in meinem Code liegt.

Also es geht darum..
ich habe mehrere Txt.dateien mit x und y Werte, die ich alle mithilfe einer GUI in ein Diagramm plotten möchte. Soweit hat es auch geklappt gehabt und zwar mit dem folgenden Code:

Code:
data = importdata(Filename{1});
 plot(data.data(:,1),log(data.data(:,2)));
 title('Verlauf der Axialen Geschwindigkeit im Wandbereich');
 xlabel('Düsenlänge über Mittelachse in mm');
 ylabel('Axiale Gewschwindigkeit in m/s');  
 Unterstrich = strfind(Filename{1},'_');
 LegendenName{1} = Filename{1}(1:(Unterstrich(1)-1));
 
 for i = 2: size(Filename,2)
     hold all;
     data = importdata(Filename{i});
     plot(data.data(:,1),log(data.data(:,2)));
     Unterstrich = strfind(Filename{i},'_');
     LegendenName{i} = Filename{i}(1:(Unterstrich(1)-1));    
 end



nun möchte ich in meiner GUI noch mit einbauen, dass man die x Achse eingrenzen kann.. die untere Grenze lautet dabei UG die obere OG..Also meine GUI soll nur den Bereich von x = UG bis x= OG plotten.

Code:

UG = get(handles.UntereXGrenze,'string');
OG = get(handles.ObereXGrenze,'string');
data = importdata(Filename{1});
for i = 1: size(data.data,1)
     if data.data(i,1) == str2double(UG)/1000;
         Start = i;
         return
     end  
end
n=0;
for i = Start : size(data.data,1)
    if data.data(i,1) ~= (str2double(OG)/1000);
        n=n+1;
        DatenET(n,1) = data.data(i,1);
        DatenET(n,2) = data.data(i,2);
    else
       return
    end
 end
 plot(DatenET(:,1),log(DatenET(:,2)));
 title('Verlauf des statischen Drucks im Wandbereich');
 xlabel('Düsenlänge über Mittelachse in mm');
 ylabel('Logaritmische Form des Statischen Drucks in pascal');  
 Unterstrich = strfind(Filename{1},'_');
 LegendenName{1} = Filename{1}(1:(Unterstrich(1)-1));

 for j = 2:size(Filename,2);
     clear DatenET;
     clear DatenET;
     clear data;
     clear n;
     data = importdata(Filename{j});
     for i = 1: size(data.data,1)
         if data.data(i,1) == (str2double(UG)/1000);
             Start = i;
             return
         end  
     end
     n=0;
     for i = Start: size(data.data,1)
         if data.data(i,1) ~= (str2double(OG)/1000);
            n=n+1;
            DatenET(n,1) = data.data(i,1);
            DatenET(n,2) = data.data(i,2);
         else
            return
         end
     end
     hold all;
     plot(DatenET(:,1),log(DatenET(:,2)));
     Unterstrich = strfind(Filename{j},'_');
     LegendenName{j} = Filename{j}(1:(Unterstrich(1)-1));
 end
 


nun plottet er in der for schleife j = 2: size(Filename,2) aber nicht mehr..
Wenn ich im Command Window den Code teste und j = 2 .. j = 3 etc manuell eingebe klappt alles.. nur wenn ich Schleife laufen lasse bekomme ich keine Graphen.. ich hab schon so oft drauf geschaut und komme nicht drauf...

Bin dankbar für allllle Tippps

Vielen dank!
Meg


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 04.04.2014, 18:01     Titel:
  Antworten mit Zitat      
hallo meg
währe die benutzung von
Code:
zur eingrenzung nicht einfacher ?
grüße winkow
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Meg

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.04.2014, 19:03     Titel: danke
  Antworten mit Zitat      
hihi den Befehl kannnte ich noch gar nicht ^^.. ok ich versuchs mal damit.. dankeeee.. aber das löst ja nicht das Problem mit der for schleife oder?
 
Meg

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.04.2014, 19:06     Titel:
  Antworten mit Zitat      
naja ich probiers erstmal aus =P
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 04.04.2014, 19:34     Titel:
  Antworten mit Zitat      
Zitat:
aber das löst ja nicht das Problem mit der for schleife oder

nein das tut es in der tat nicht aber wenn es vorher geklappt hat und dann erst kaputt gegangen ist als du versucht hast die x achse zu beschränken ^^ kannst du mit xlim zu deiner alten form zurück kehren. das ist einfacher als den fehler in code zu suchen der nicht lauffähig ist Smile
_________________

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