|
|
Autokorrelationsfunktion - nur ein Syntaxfehler? |
|
Jimpanse |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.08.2009, 23:21
Titel: Autokorrelationsfunktion - nur ein Syntaxfehler?
|
|
|
|
|
Hallo Leute,
ich führe derzeit ein Uni-Projekt durch, bei dem ich mit Matlab arbeite. Leider habe ich vorher noch nie mit diesem oder ähnlichen Projekten zutun gehabt und bin auch auf dem Programmiersektor nicht sonderlich bewandert. Nur Grundkenntnisse in Java und die üblichen Office-Kenntnisse. Dennoch bin ich soweit gekommen einen spezifischen Quellcode zu entwickeln, welchen ich jetzt gern soweit entwickeln würde, dass er allgemein gültig wird. Der spezifische funktioniert einwandfrei!
ich poste einfach mal den (bisherigen) allgemeinen Quellcode:
[FileName,PathName] = uigetfile('*.txt','Select .txt File');
load (FileName);
cd(PathName);
cxx = xcorr(FileName,'coeff');
cxx_mod = cxx(((length(cxx)+1)/2),end);
t = 2.56E-4:2.56E-4(length(cxx)+1)/2)*2.56E-4;
t = t';
figure;plot(t,cxx_mod);
set(gca,'XScale','log');
es geht also darum: die erhobenen Messdaten werden als .txt gespeichert und sollen unbedingt auch wieder so in Matlab aufgerufen werden. Diese .txt Dateien enthalten jeweils eine Matrix, die zwei Spalten und n Zeilen hat (je nach Messdauer zwischen 7000 und 100000 Zeilen). Wenn ich das Programm nun ausführen will, dann gibts eine Reihe von Fehlermeldungen:
??? Undefined function or method 'fft' for input arguments of type 'char'.
Error in ==> xcorr>vectorXcorr at 107
X = fft(x,2^nextpow2(2*M-1));
Error in ==> xcorr at 54
[c,M,N] = vectorXcorr(x,autoFlag,varargin{:});
Error in ==> DLSallg at 4
cxx = xcorr(FileName,'coeff');
Diese drei an der Zahl! Leider werde auch aus der umfassenden Help nicht schlau, deshalb hoffe ich, dass mir hier jemand weiterhelfen kann.
Liebe Grüße!
|
|
|
|
|
Jimpanse |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.08.2009, 23:24
Titel:
|
|
ich habe gerade gesehen, dass in dem Post im Quellcode ein Smily ist, das ist natürlich so nicht der Fall , im Original steht das ein "Doppelpunkt Klammer auf" : (
Super !
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.09.2009, 10:27
Titel:
|
|
Hallo,
damit Dein Code besser lesbar ist, gibt es die Code Umgebung hier im Forum. [ code ] Deine Code [ /code ]. Damit gibt es dann auch kein Problem mehr mit Smilies Die Leerzeichen nach und vor den Klammern müssen weg, damit es funktioniert.
Zu Deinem eigentlichen Problem:
uigetfile gibt Dir in FileName ein char-array mit dem Dateinamen zurück (also z.B. 'myfile.txt'). Nun versuchst Du also die Korrelation von diesem Wort zu berechnen (daher die Fehler-Meldung, dass fft nicht für char definiert ist). Du musst anstelle von FileName die eigentlichen Daten übergeben.
Der Befehl load ist zum laden von gespeicherten Workspace Variablen.
Zum lesen von Textdateien solltest Du Dir einmal die Befehle importdata, csvread, dlmread ansehen.
Viele Grüße,
LittleX
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|