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

Daten aus xml / txt Datei lesen

 

Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 17.06.2010, 16:43     Titel:
  Antworten mit Zitat      
so siehts bei mir aus:
Code:


matrix0 =

  1.0e+003 *

    1.1789    1.5268
    1.1776    1.5274
    1.1745    1.5287
    1.1700    1.5305
    1.1640    1.5331
    1.1566    1.5362
    1.1478    1.5398
    1.1377    1.5441
    1.1256    1.5491
    1.1136    1.5541
    1.1009    1.5594
    1.0885    1.5646
    1.0766    1.5696
    1.0648    1.5745
    1.0520    1.5799
    1.0398    1.5849
    1.0273    1.5901
usw..
 


bei matrix1...bis matrix99 ebenfalls

weiss nicht was bei dir los ist, wie haben doch die gleiche datei.
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen


newbie82
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 10.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.06.2010, 16:54     Titel:
  Antworten mit Zitat      
Ups, sorry, mein Fehler! (hatte die falsch txt Datei eingebunden Mr. Green)

Alles geht, so wie ich es mir gewünscht hatte. Vielen Dank!!! Very Happy
Versuche es jetzt mal selber zu kapieren, damit ich hier nicht ständig fragen muss Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.06.2010, 16:58     Titel: ...
  Antworten mit Zitat      
falsche textdatei eingebunden?????
Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad

wenn du fragen hast zum programm, melde dich Wink
 
newbie82
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 10.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.06.2010, 21:11     Titel:
  Antworten mit Zitat      
So, hab mal ein paar Kommentare dazu geschrieben:

Code:

clear all   % löscht alles was vorher war
file='C:\Documents and Settings\........\Desktop\tt.txt';  % Pfad der Datei

fid=fopen(file,'r'); % öffne diese Datei, s. Pfad
k=1;  % setze k = 1, damit man im nächsten Schritt eine wahre Bedingung hat
while(1) % und die while Schleife durchlaufen wird (bis k=2 gesetzt wird
         % nachdem 99 Fahrzeuge gewesen sind)
    line=fgetl(fid); % ? liest Zeile für Zeile ?
    if ~ischar(line), break, end % ? ~ischar ?
    if(numel(line)<10),continue, % falls die Zeile weniger als 10 Zeichen hat:
                                 % -> weitermachen, Schleife nicht beenden
    elseif(line(10)=='v')        % wenn das 10. Zeichen der Zeile ein v ist
        vector=sscanf(line,'%*s%*s%*s%*s x="%f" y="%f"',[1 2]); % liest Zahl aus
                                                                % aus string
        vehicle=sscanf(line,'%*s id="Rand%f" ');  % liest Zahl aus string
        % das ist wahrscheinlich die Zahl des Fahrzeugs für die Matrix, oder?

   eval(sprintf('matrix%g(k,:)=[%f %f]',vehicle,vector)); % ?? setzt die Zahlen
             % und die Daten der Matrix zusammen...?!?
   if(vehicle==99) % beendet die while Schleife nach 99 Fahrzeugen
      k=k+1;
   end
    end
end



fclose(fid) % schließt die Datei wieder (?)
 


Richtig? Confused
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 18.06.2010, 07:38     Titel:
  Antworten mit Zitat      
die k und die while-schleife haben mit einander NICHTS zu tun.
while(1) ist eine endlose schleife und sie wird mit:
Code:


abgebrochen.
wenn die ende der datei errecht ist, dann wird mit line=fgetl(fid) nix gelesen
ischar(line) ist dann 0 (in line ist ja nix ), ~ischar(line) ist dann 1, wahr, also break und die while schleife ist abgebrochen.

die k sagt uns welche zeile in den matrixen jetzt geschrieben werden.
am anfang ist es 1, dann schreiben in jeder matrix eine zeile ( 2 spalten).
wenn vehicle=99, dann heisst es wir müssen wieder in matrix0 schreiben also müssen wir die nächste zeile vorberreiten (k=k+1)
usw usw
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.