LTspice zu Matlab

OP #6520240
Lesenswert?

Hallo Leute,

Ich habe einige etwas ausführlichere Simulationen mit LTspice 
durchgeführt und versuche diese nun weiter zu bearbeiten mit Hilfe von 
Matlab. Gewöhnlich ist das kein Problem. Da kann Ich meine Tabelle mit

A= dlmread(Dateiname.txt); laden

und mit

x1=A(:,1);
x2=B(:,1);
y1=A(:,2);
y2=B(:,2);

meine Vektoren bestimmen und meine Messwerte weiter bearbeiten und 
plotten.

Allerdings haben Ich dieses mal mit einem Parameter sleep gearbeitet und 
meine .txt Datei fällt dementsprechend etwas k
omplizierter aus, so das meine vorherige Methode nicht funktioniert. Ich 
hab mal eine der Simulationen angehängt. Jeder der Simulation Runs wird 
dabei untereinander dargestellt. Somit habe Ich nicht eine reine Tabelle 
von der ich die Vektoren erzeugen kann.

1
2
...
100
Step Information: N=2  (Run: 2/10)
1
2
...

Mir ist schon in den Sinn gekommen die .txt Dateien händisch bzw. mit 
Excel vorzubereiten um sie dann in Matlab wie gewohnt weiter zubereiten, 
allerdings ist das jedes Mal sehr zeitaufwendig und Ich habe vor diese 
Simulation noch weitere Male zunutzen.

Daher meine Frage: Wie kann ich meine .txt Datei mit Hilfe von einem 
Matlab Script bearbeiten um sie anschließend wie gewohnt zu plotten.

Mit freundlichen Grüßen und vielen Dank im Voraus
Emil
Angehängte Dateien:
#6520257
Lesenswert?

Du kannst unter Matlab die Datei mit fopen(), fgetl(), fscanf(), feof() 
genauso durchgehen, wie in jeder anderen Programmiersprache.

Wenn man das naiv macht (zeilenweise durchgehen und Vektoren füllen), 
ist das sehr langsam. Da ist dlmread() deutlich schneller. Der Trick 
besteht also darin, mit den file-Kommandos jeweils die Zeilen zu finden, 
an denen der Datensatz zuende ist, und dann die Bereiche zu kennen, die 
mit dlmread eingelesen werden.
OP #6520615
Lesenswert?

Walter T. schrieb:
> Du kannst unter Matlab die Datei mit fopen(), fgetl(), fscanf(), feof()
> genauso durchgehen, wie in jeder anderen Programmiersprache.
>
> Wenn man das naiv macht (zeilenweise durchgehen und Vektoren füllen),
> ist das sehr langsam. Da ist dlmread() deutlich schneller. Der Trick
> besteht also darin, mit den file-Kommandos jeweils die Zeilen zu finden,
> an denen der Datensatz zuende ist, und dann die Bereiche zu kennen, die
> mit dlmread eingelesen werden.

Programmieren gehört leider nicht zu meinen Stärken, hast du vielleicht 
schon mal ein ähnliches Script geschrieben an dem Ich mich orientieren 
kann ?
LG
OP #6521067
Lesenswert?

MrMatlab schrieb:
> Habe ich was überlesen? Warum nicht einfach die LTspice-RAW-Daten
> importieren?
> 
https://de.mathworks.com/matlabcentral/fileexchange/23394-fast-import-of-compressed-binary-raw-files-created-with-ltspice-circuit-simulator

Das Script hatte ich mir auch schon angesehen, bin allerdings immer 
wieder an einer Fehlermeldung gescheitert. Hast du mit dem Script schon 
mal gearbeitet ?
LG

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren