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

öffnen und einlesen einer cli-Datei

 

L

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2021, 11:02     Titel: öffnen und einlesen einer cli-Datei
  Antworten mit Zitat      
Hallo zusammen,

Ich möchte eine cli-Datei in MATLAB öffnen um einige Vektoren zu verändern. Die Datei lässt sich, wie .txt-Dateien auch, im Windows-Editor öffnen, daher dachte ich, ich probiere es auf die gleiche Art, wie ich .txt-Files öffnen würde.
Der Code mit dem ich versuche das File zu öffnen lautet:

Code:

            [filename, pathname] = uigetfile('*', 'Select the txt-file');   %öffnen des Dateiverzeichnisses um Datei auszuwählen
            [FID,Message] = fopen(fullfile(pathname,filename), 'r+');         %öffnen der ausgewählten Datei
            data = textscan(FID, "%d");         %auslesen der Datei
 


Leider enthält FID nach dem Aufruf nicht die Datei, sondern lediglich eine Zahl, die sich mit jedem Aufruf um eins erhöht.
Ich habe die Datei mal in den Anhang gepackt. ("modelsection_001_s2_vs" in dem zip Ordner. Ich konnte die Datei aus irgendeinem Grund nicht direkt anhängen)
Vielleicht hat ja jemand einen Tipp wie ich das öffnen und einlesen könnte.
Meine Vermutung warum das Ganze nicht funktioniert ist, dass die Dateiendung nicht '.txt', sondern '.cli' ist.


Vielen Dank und viele Grüße
Lukas.

DefectTower - Kopie.zip
 Beschreibung:

Download
 Dateiname:  DefectTower - Kopie.zip
 Dateigröße:  1.53 MB
 Heruntergeladen:  148 mal


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.05.2021, 11:48     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich möchte eine cli-Datei in MATLAB öffnen um einige Vektoren zu verändern.

Heißt "verändern", dass du in die Datei zurückschreiben willst? Dann müsstest du mit Permission 'w' oder 'a' öffnen. Wie willst du die "Vektoren" verändern?

Zitat:
Leider enthält FID nach dem Aufruf nicht die Datei, sondern lediglich eine Zahl, die sich mit jedem Aufruf um eins erhöht.

Das ist nicht ungewöhnlich, sondern auch bei "normalen" Textdateien so.

Zitat:
Vielleicht hat ja jemand einen Tipp wie ich das öffnen und einlesen könnte.

Du musst die Kopfzeilen überspringen, z.B. mit der Option 'HeaderLines'. Du müsstest auch sagen, wie das Ergebnis aussehen soll. Sollen z.B. die SPEED, POWER und LAYER - Informationen mit importiert werden und wenn ja: in welcher Form?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
L

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2021, 11:39     Titel:
  Antworten mit Zitat      
Hallo,
Zitat:

Heißt "verändern", dass du in die Datei zurückschreiben willst? Dann müsstest du mit Permission 'w' oder 'a' öffnen. Wie willst du die "Vektoren" verändern?


Ja das stimmt, Danke dafür.

Die Speed und Power Informationen sollen nicht importiert werden. Lediglich die Zahlen in dem zweiten der großen Zahlenblöcke.
Die Zahlen in den großen Blöcken sind nach folgendem Schema aufgebaut:
x-Koordinate vom Fußpunkt, y-Koordinate vom Fußpunkt , x des Vektors , y des Vektors, (...repeat...).
Am besten wäre es, wenn diese Informationen einfach der Reihe nach in einem eindimensionalen Array gespeichert werden könnten.

Das verändern der Vektoren besteht darin, dass ich bei manchen dieser Datenpaare die Koordinaten des Fußpunktes mit denen des dazugehörigen Vektors tauschen muss.

Vielen Dank für die Hilfe,
LG Lukas
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.05.2021, 12:32     Titel:
  Antworten mit Zitat      
Hallo,

wenn du nur Zahlen aus einem Block brauchst: die Anzahl der Kopfzeilen abzählen und als 'HeaderLines' angeben.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.