|
|
Inhalt von .txt in einen Vektor schreiben in Scilab |
|
grille84 |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 22.07.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.07.2014, 15:35
Titel: Inhalt von .txt in einen Vektor schreiben in Scilab
|
|
|
|
|
Guten Abend,
ich habe eine Frage bezüglich des Einbindens von txt-Datein in Scilab. Ich bin noch neu auf dem Gebiet und bitte daher um Nachsicht.
Wie oben schon beschrieben möchte ich eine .txt Datei einlesen, wobei der Inhalt der Datei nur mit Gleitkommazahlen gefüllt ist. Jeder Wert erhält eine eigene Zahl. Also wie folgt:
Zahl1
Zahl2
Zahl3
Wenn ich nun den Inhalt der .txt in einen Array schreiben möchte, habe ich folgenden Code verwendet:
....
Meine Idee ist folgende. Ich öffne die .txt-Datei. Lasse eine Schleife so lange laufen, bis ich das Dateiende erreicht habe. Nutze den Laufindex für die Arraygröße. Schreibe anschließend die den Inhalt der Datei in en Array.
Anschließend schließe ich die Datei wieder und möchte mir den Array auf dem Monitor ansehen. Soviel zur Theorie:
Wenn ich den Code laufen lasse, ergibt sich lediglich auf der Konsole:
-->exec('C:\Dokumente und Einstellungen\grille\Eigene Dateien\lesen.sce', -1)
Warnung: Datei 'Datentest.txt' bereits in Scilab geöffnet.
Außerdem scheint das Programm sich aufzuhängen, weil er bis in die Ewigkeit lädt. Der Inhalt der Testdatei beinhaltet die Zahlen 1 bis 9.
Bei einem anderen Beispiel habe ich versucht das Problem mit fscanMat() zu lösen. Hier kann ich mit der funktion disp() auch den Inhalt meiner txt Datei sehen. Jedoch kann ich nicht den Inhalt der txt-Datei in einen Array bzw. Vektor schreiben.
Führe ich den Code aus, kommt eine Fehlermeldung, dass er auf das Schließen einer Klammer in der mprintf() Zeile wartet. Ich sehen hier aber keine fehlende Klammer
Vielen Dank im Voraus.
Christian
|
|
|
|
|
MarcoG |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 11.04.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.07.2014, 13:50
Titel:
|
|
Hallo Christian,
ich habe zwar noch nicht mit fscanfMat gearbeitet, was aber immer gut funktioniert ist:
Der Vorteil ist, dass du die Länge nicht kennen musst, außer du deklarierst den Vektor in den gelesen wird vorher. m ist die Anzahl der Spalten, bei dir m=1. Du kannst damit auch einen Header überspringen. Hier werden z.B. 4 Zeilen übersprungen und in A geschrieben, egal was da drin steht.
Alternativ nehme ich auch gerne
. Der Befehl ist kürzer und dennoch sehr flexibel.
Gruß
Marco
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|