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

fourier-transformation

 

Stefan Müller
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 08.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2008, 13:33     Titel: fourier-transformation
  Antworten mit Zitat      
tag auch,

als neuling hier und überhaupt in sachen matlab versuche ich folgendes problemchen zu beschreiben.

habe eine reihe von daten aus numerischen rechnungen.
2 spalten; x und y.
1. aus diesen soll ein graph dargestellt werden. wie genau macht man so etwas (*.txt importieren, usw.)
2. diese so entstandene kurve soll dann fourier transformiert werden. geht das überhaupt und wenn ja, wie? hinweis: keine funktion zur verfügung; nur die x und y werte.

allen die eine idee haben und diese auch preis geben wollen, danke ich im voraus.

stefan m.
Private Nachricht senden Benutzer-Profile anzeigen


Ritter_vom_Nie
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 17.02.08
Wohnort: Hamburg
Version: R2007b
     Beitrag Verfasst am: 08.04.2008, 14:53     Titel:
  Antworten mit Zitat      
Hi!

Die Befehle, die du für dein Vorhaben benötigst, sind:

'dlmread' (zum Einlesen von TXT-Dateien)
'plot' (zum Erstellen von Graphen)
'fft' (für die Fourier-Trafo)

Am besten du schaust dir die Hilfe zu den Befehlen an, denn ja nach dem was du genau machen möchtest, gibt es noch verschiedene Parameter für die Funktionen.

Hoffe, das hilft dir
Private Nachricht senden Benutzer-Profile anzeigen
 
Stefan Müller
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 08.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2008, 15:44     Titel:
  Antworten mit Zitat      
danke vielmals für den hinweis. ich konnte schon etwas rausfinden. allerdings bin ich immer noch offen für beispiele zu den genannten befehle. die suche mit help ist etwas mühsam, weshalb ich hoffe hier im forum hilfe zu bekommen.

gruß, stefan
Private Nachricht senden Benutzer-Profile anzeigen
 
steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2008, 13:38     Titel:
  Antworten mit Zitat      
in der Skript-Ecke findest du das Beispiel von Nils zur fft, das ist sehr ausführlich und hilfreich!
_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 10.04.2008, 16:41     Titel: Re: fourier-transformation
  Antworten mit Zitat      
Hallo Stefan,

hier nochmal etwas ausführlicher.

Stefan Müller hat Folgendes geschrieben:
1. aus diesen soll ein graph dargestellt werden. wie genau macht man so etwas (*.txt importieren, usw.)


Wie das Einlesen genau geht, hängt von der Formatierung Deiner *.txt ab. Im einfachsten Fall enthält sie nur die Daten (keinen Header) in zwei Spalten. Wie die Daten getrennt sind (Komma, Leerstellen, Tab,...) spielt dann erstmal keine Rolle. Dann geht es so:

Code:
load filename.txt


Es gibt nun eine Variable filename im Workspace, die zwei Spalten hat und die Daten aus der Datei enthält. In zwei Vektoren trennt man sie so:

Code:
x = filename(:,1);
y = filename(:,2);


Dann kann man sie auch schon graphisch darstellen:

Code:


Zu der Fouriertransformation hilft Dir sicher das genannte Beispiel weiter.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Stefan Müller
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 08.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2008, 15:45     Titel: positiv überrascht
  Antworten mit Zitat      
danke für die nachrichten. viele sachen konnte ich gleich umsetzten.

was mir immer noch unklar ist, warum man mit hilfe von matlab nicht so einfach zahlen (in welche form auch immer) einlesen kann. ich verwende zahlen, die mit punkten dargestellt werden. diese müssen trransformiert werden (str2num), oder? aber wie genau geht das, wenn ich eine datei importieren möchte, die letztendlich auch die zahlen transformiert.

als bsp. habe ich eine datei angeheftet. vielleicht hat jemand eine idee.

Z.txt
 Beschreibung:

Download
 Dateiname:  Z.txt
 Dateigröße:  11.68 KB
 Heruntergeladen:  892 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 11.04.2008, 16:23     Titel:
  Antworten mit Zitat      
Hallo Stefan,

ich hab mir die Deatei mal angeschaut. Ich konnte sie mit folgender Zeile einlesen, nachdem ich sie als ANSI (statt Unicode) gespeichert hatte:

Code:
data=dlmread('Z.txt',';',2,0);


';' nennt das Zeichen, dass die Werte trennt, die 2 bedeutet, dass die ersten zwei Zeilen keine Werte enthalten. Ein num2str ist hierbei nicht nötig.

Vielleicht ist für Dich auch der Import Wizard interessant. (Im Menü "File" den Punkt "Import data" auswählen.)

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2008, 16:28     Titel:
  Antworten mit Zitat      
Hallo Bijick, ich habe heute auch versucht den von dir genannten Code zu verwenden (siehe mein Post), aber ich bekomme so nur eine Zeile (auf dein Bsp. bezogen wäre es die dritte) meines .txt files, hast du ne Ahnung woran das liegen kann?
_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 11.04.2008, 16:46     Titel:
  Antworten mit Zitat      
Hallo Steffi,

magst Du Deine Datei mal posten? Dann kann ich es mir mal anschauen. So trocken habe ich erst mal keine Idee.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 08:44     Titel:
  Antworten mit Zitat      
Im Prinzip schaut die txt-Datei so aus:

Code:

Messung 080410

**Constants


**Channels
1 Kraft 1
2 Weg 1
3 Beschleunigung
4 Kraft 2

**START
0  1  2  3
1  2  2  4
0  1  1  0
**STOP
Ed-se
Ed-se
 


wenn ich also

Code:
data=dlmread('Z.txt','\t',13,0);


nutze, bekomme ich nur eine Zeile. Damit könnte ich jetzt arbeiten, indem ich mir eben jede Zeile einzeln einlese und speichere und daraus die Matrix der Daten bastle. Halte ich aber für ineffizient.
Andere Möglichkeit, ich habe ein Programm das mir die Daten zwischen den ** ausliest und in einer neuen Datei speichert. Dann muss ich den Umweg über das zweite Programm machen. Ich hätte es halt gerne einfacher Rolling Eyes

Vielleicht hast du eine Idee? Danke im Voraus!
_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 14.04.2008, 09:53     Titel:
  Antworten mit Zitat      
Hallo steffi,

wenn die Werte richtig durch Tabs getrennt sind, klappt bei mir Folgendes:

Code:
data=dlmread('Untitled.m','\t','A14..D16');


Dies hier gibt eine Fehlermeldung:

Code:
data=dlmread('Untitled.m','\t',13,0);


??? Error using ==> textscan
Mismatch between file and format string.
Trouble reading number from file (row 4, field 1) ==> **STO


Das liegt daran, dass textread auch den Text als Zahlen einzulesen versucht.

Sind die Werte allerdings jeweils durch zwei Leerzeichen getrennt, habe ich auch Schwierigkeiten. Dann werden bei mir die ersten sieben(sic!) Werte in einen Vektor gelesen. Versteh ich nicht.

Kannst Du denn die Größe der Matrix vorhersagen? Sonst musst Du doch bis zu den ** einlesen.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 10:16     Titel:
  Antworten mit Zitat      
Also erst mal sorry, die Variante mit den zwei Leerzeichen hatte ich jetzt in der hier möglichen Codeumgebung gewählt. In meiner Datei mag es nur eins sein...
Die Variante mit 'A14..D16' funktioniert irgendwie gar nicht (Fehlermeldung) und ist auch nicht praktikabel, da ich die Dateilänge vorher nicht weiß. Wenn ich aber jedes File zunächst öffne und die Länge abchecke, kann ich auch gleich meine anderen Möglichkeiten nutzen.

Bei
Code:
data=dlmread('Untitled.m','\t',13,0);


erhalte ich keine Fehlermeldung?! Aber eben immer nur eine Zeile. Komisch alles!
Naja bleibt mir die Variante über das andere Programm....

Danke trotzdem!
_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
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 - 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.