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

TXT.Dateien und anschließend Bearbeiten

 

sawyer_ma
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 75
Anmeldedatum: 14.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2016, 13:33     Titel: TXT.Dateien und anschließend Bearbeiten
  Antworten mit Zitat      
Hallo,

ich stehe für mich vor einem umfassbaren Problem und habe keine Ahnung wie ich das machen soll.

Also was ist gewollt.

Ich habe wie im Anhang angehangen 31 txt Files die Messergebnisse widerspiegeln welche im s2p Format angeordnet sind. Das heist.

1. Zeile
1.450000000000000E9 -1.378815439892719E1 -1.398580144069250E1
-2.374888270287687 1.730248290172491E2 -2.438510372274786
1.717659098696045E2 -1.416139426776584E1 -1.683125281489606E1

Die Werte sind so angeordet:

1.450000000000000E9 ->Frequenz
-1.378815439892719E1 -> S11
-2.374888270287687 -> S21
-1.398580144069250E1 -> S12
1.730248290172491E2 -> S22

-2.438510372274786 -> Phase S11
1.717659098696045E2 -> PhaseS21
-1.416139426776584E1 -> Phase S12
-1.683125281489606E1 -> Phase S22

Nun habe ich Frequenzen von 1.45 - 3Ghz aufgenommen. Dies 31 x bei 0; 0,5 ;1 ;1,5 ..15Volt.

Mein Ziel ist nun das ich alle Dateien in Matlab Lade.
Anschließend eine bestimmte Frequenz wähle. Matlab dann in die txt-Dateien springt mit genau bei dieser Frequenz aus der Liste den Wert für Phase S21 herausnimmt in neuer TXT Speichert und Plotet. Das Problem ist dabei noch das die Information der Spannung (Volt) nicht in der txt drin steht sondern dies nur im Namen der der Dateinamen. Also Datei

0.txt => 0Volt
0_5.txt => 0.5Volt
1.txt => 1Volt
...

Anschließend soll sich ein Bild wie im Anhang ergeben das Phase über Volt bei einer Frequenz plottet .
Das Ergebnis der neuen TXT Datei sieht dann so aus:

freq V Phase
2.4500000000000000E9 0.00000000000000000E0 8.32652660336566260E1
2.4500000000000000E9 1.00000000000000000E-1 8.54076035571150700E1
2.4500000000000000E9 2.00000000000000000E-1 8.75898023712521120E1
2.4500000000000000E9 3.00000000000000040E-1 8.98112303715735830E1

Wenn ich zum Beispiel 2.45 GHz gewählt hätte.


Wie kann ich das machen? Question Question Question Question


Ansatz:
clc;
clear all;


Code:
f = uigetdir('')                                                     %Dateien einlesen


for i = 1:length(f)                                                         %durch alle Files Sweepen
f = strcat({i.name});                  
data = textscan(f,'%n %n %n %n %n %n %n %n %n'); %Textauslesen der jeweiligen Datei

                                                                                    %Textstelle
                                                                                    %herausschreiben und neu
                                                                                    %abspeichern in File                                                
...
   

end


fid = fopen('Test_ads.txt');                                   %Ploten der Daten
matrix = fscanf(fid,'%e %e',[3 800]);
matrix = matrix';

    b = matrix(:,1); % 2
    c = matrix(:,3); % 3 usw
    close
 
figure(1)
hold on;

plot(b,c,'b');


 


Bildschirmfoto 2016-09-24 um 13.18.46.png
 Beschreibung:

Download
 Dateiname:  Bildschirmfoto 2016-09-24 um 13.18.46.png
 Dateigröße:  70.27 KB
 Heruntergeladen:  289 mal
3.txt
 Beschreibung:

Download
 Dateiname:  3.txt
 Dateigröße:  762.84 KB
 Heruntergeladen:  272 mal
2.txt
 Beschreibung:

Download
 Dateiname:  2.txt
 Dateigröße:  762.77 KB
 Heruntergeladen:  267 mal
1.txt
 Beschreibung:

Download
 Dateiname:  1.txt
 Dateigröße:  762.99 KB
 Heruntergeladen:  259 mal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.09.2016, 22:42     Titel: Re: TXT.Dateien und anschließend Bearbeiten
  Antworten mit Zitat      
Hallo sawyer_ma,

Zitat:
Die Werte sind so angeordet:

1.450000000000000E9 ->Frequenz
-1.378815439892719E1 -> S11
...

Darunter kann ich mir nichts vorstellen. Was bedeuten die "->"? Sind die im File enthalten?

Zitat:
Wie kann ich das machen?

Teile das Problem in überschaubare Abschnitte. Versuche zunächst mal ein File einzulesen. Danach kommt der nächste Schritt.

Der gepostete Code läuft nicht. Hast Du Fragen dazu?
Code:
f = uigetdir('');  % Das gibt nur den Pfadnamen zurück, keine Filenamen
% Du benötigst den DIR Befehl.

for i = 1:length(f)
  f = strcat({i.name});  % Wozu STRCAT?
  % "i" ist der Schleifenzähler. Da gibt es kein Feld ".name"
 


Gruß, Jan
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 - 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.