ich möchte gerne eine txt Datei in Matlab laden und bestimmte Spalten als Grafik darstellen!
Die txt Datei enthält auch Text, also muss ich irgendwie nur bestimmte Spaltenabschnitte aufrufen und als Grafik darstellen!
Ist sowas möglich? Über Hilfe würde ich mich sehr freuen!
ich möchte gerne eine txt Datei in Matlab laden und bestimmte Spalten als Grafik darstellen!
Die txt Datei enthält auch Text, also muss ich irgendwie nur bestimmte Spaltenabschnitte aufrufen und als Grafik darstellen!
Ist sowas möglich? Über Hilfe würde ich mich sehr freuen!
MFG detlef
hallo,
ich hab erfahrung gemacht Matlab kann alles, ich befürchte er weiss sogar wann ich sterben werde ;)
es wäre hilfreich wenn du genauer erklärst wie deine datei aussieht , oder am besten ein beispiel hochladen. und wie dus darstellen möchtest.
also ich frage mich halt, ob ich die komplette Datei laden sollte oder nur Spalten importieren??
Im Anhang habe ich solch eine Datei, wobei noch viel mehr Zahlen in die Spalten kommt und als Grafik möchte ich auf der x-Achse die erste Spalte (oder Zweite, weiss ich noch nicht genau) und auf der y-Achse die dritte Spalte.
mit dem Load Befehl kannst du alles als Matrix speichern, und dann ist es einfacher darzustellen, da du jede spalte mit ihrem index adressieren kannst.
sind immer die ersten 3 zeilen Text oder ist es unterschiedlich?
vielen dank, ich habe auch gerade in der Hilfe die Funktion textscan gefunden! Geht die fopen-Funktion auch für Dateien außer txt?
SO und nun möchte ich die Daten in der ersten Spalte als x-Wert darstellen und dritte Spalte als y-Wert.
Die Spalten kann ich doch mit Inhalt (1) und Inhalt (3) die Spalten "ansprechen" oder?
Kann man dann einfach plot (Inhalt(1),Inhalt(3)) machen? Ich möchte das ja gerne so speichern, dass ich das plotten kann und dann weiter für die FFT verwenden kann.
hmmm da habe ich trozdem das gleiche problem, das leere feld an der ersten spalte wird durch den wert der 2.spalte ersetzt usw, am ende steht die 0 an der letzten spalte...ich guck weiter
also ich hab immer noch nicht verstanden, wie ich jetzt z.b. von den Werten der dritten Spalte aus der Textdatei eine FFT machen kann und dann das Frequnzspektrum ausgeben kann?
Y = fft(X) steht in der Hilfe, aber was ist X bei mir und reicht dann plot(Y)
Ich kann doch eigentlich das Beispiel nehmen und dann die Werte für t und y ersetzen oder? Die Werte bekomme ich ja aus der txt-Datei würde ich jetzt sagen und L muss ich einlesen!
Code:
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector % Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
y = x + 2*randn(size(t)); % Sinusoids plus noise plot(Fs*t(1:50),y(1:50)) title('Signal Corrupted with Zero-MeanRandom Noise') xlabel('time (milliseconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
fid = fopen('test.txt','r');
Inhalt=textscan(fid,'%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','delimiter','\b','Headerlines',3);
fclose(fid);
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = length(Inhalt); ?? % Length of signal
t = (0:L-1)*T ?? % Time vector
Ich kann doch eigentlich das Beispiel nehmen und dann die Werte für t und y ersetzen oder? Die Werte bekomme ich ja aus der txt-Datei würde ich jetzt sagen und L muss ich einlesen!
Code:
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector % Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
y = x + 2*randn(size(t)); % Sinusoids plus noise plot(Fs*t(1:50),y(1:50)) title('Signal Corrupted with Zero-MeanRandom Noise') xlabel('time (milliseconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
fid = fopen('test.txt','r');
Inhalt=textscan(fid,'%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','delimiter','\b','Headerlines',3);
fclose(fid);
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = length(Inhalt); ?? % Length of signal
t = (0:L-1)*T ?? % Time vector
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L=length(Inhalt{1}) ; % Length of signal
t = (0:L-1)*T; % Time vector % Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
%x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
%y = x + 2*randn(size(t)); % Sinusoids plus noise
y = Inhalt{3};
plot(Fs*t(1:50),y(1:50)) title('Signal Corrupted with Zero-MeanRandom Noise') xlabel('time (milliseconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L=length(Inhalt{1}) ; % Length of signal
t = (0:L-1)*T; % Time vector % Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
%x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
%y = x + 2*randn(size(t)); % Sinusoids plus noise
y = Inhalt{3};
plot(Fs*t(1:50),y(1:50)) title('Signal Corrupted with Zero-MeanRandom Noise') xlabel('time (milliseconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
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
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.