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

Problem mit mclose und mgetl

 

dibade

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2015, 12:06     Titel: Problem mit mclose und mgetl
  Antworten mit Zitat      
Hallo,

für meine Arbeit schreibe ich per Scilab eine Spice-Netlist, die anschließend durch eine Batch simuliert wird. Die Auswertung wird wieder in Scilab vorgenommen. Der Programmablauf sieht etwa wie folgt aus:

1. Lade die Rohdaten
2. Baue aus den Rohdaten die Spice-Netlist zusammen
3. Rufe die Batch auf, die die Spice-Simulation ausführt
4. Lade die Simulationsergebnisse
5. Plotte die Ergebnisse


Das alles mache ich bisher mit einem großen Scilab-Skript. Das klappt bis zu der Stelle gut, an der ich die Simulationsergebnisse einladen möchte. Der entsprechende Code sieht so aus:

Code:

//Datei öffnen
[spicesim]=mopen('spice/spice_testtest.log','r');

//Zeilen lesen und in ein string-array schreiben
spicesim_lines_raw = mgetl(spicesim,300)

//nicht benötigte Zeilen löschen
for i=1:60
spicesim_lines(i)= spicesim_lines_raw(i+67) ;
end

//die relevanten Zeichen (Stelle 7 bis 18) auslesen und in eine Zahl umwandeln
for i=1:60
spicesim_lines_1(i)=part(spicesim_lines(i),7:18)
spicesim_data(i)=strtod(spicesim_lines_1(i))
end

//Datei schließen
mclose('spice/spice_testtest.log');
 


Wenn ich diesen Codeschnipsel allein ausführe, tut er genau das was er soll. Wenn ich ihn aber in das große Skript einfüge, ließt die Funktion mgetl nicht mehr alle 150 Zeilen sondern nur noch 30 bis (!) 50 Zeilen!

Desweiteren öffne ich mit mopen insgesamt 2 Dateien, die ich auch, wie oben zu sehen ist, brav wieder mit mclose schließe. Trotzdem bekomme ich bei jeder Ausführung die Fehlermeldung:

Code:
Warnung: Datei 'spice\spice_testtest.log' bereits in Scilab geöffnet.


Wenn ich die Datei in der Konsole schließe, erhalte ich als Ausgabe

Code:


Trotzdem bleibt die Datei geöffnet...


Ich bin mir recht sicher, dass ich irgendetwas im Umgang mit Scilab falsch mache. Ich benutze derzeit etwa 40 Variablen und bisher hauptsächlich die Funktionen linspace, string, rand, mopen, mfprintf, mclose, dos, mgetl, part, strtod, plot.

Kann mir jemand bei dem Problem helfen? Vielen Dank!


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.