1 van 1
Foutmelding Matlab
Geplaatst: vr 30 nov 2012, 12:40
door Patries2
In Matlab heb ik een functie gemaakt, maar krijg continu een foutmelding, in de bijlage zit een printscreen. Heeft iemand dit eerder gehad, of tips? fft hoort wel standaard in Matlab te zitten. Alvast bedankt!
- Matlab 661 keer bekeken
Re: Foutmelding Matlab
Geplaatst: vr 30 nov 2012, 12:48
door Xenion
Om een of andere reden is je data van het type 'char'. Probeer de vector eens om te zetten naar een numeriek type.
Re: Foutmelding Matlab
Geplaatst: vr 30 nov 2012, 13:03
door Patries2
okee, bedankt! Het gaat hier om een .wav bestand. Weet jij misschien ook hoe we het naar numeriek om kunnen zetten?
We kunnen het geluid trouwens wel gewoon plotten.
Re: Foutmelding Matlab
Geplaatst: vr 30 nov 2012, 14:42
door kingtim
Volgens mij heb je je geluids bestand verkeerd geladen. Je vult direct 'A.wav' in je programma. Volgens mij moet je eerst A.wav laden (A=wavread('A.wav') ). En daarna kan je er fft op uitvoeren.
Re: Foutmelding Matlab
Geplaatst: vr 30 nov 2012, 15:41
door Patries2
oké, dankje, ik heb het geprobeerd, maar kreeg weer een foutmelding, hier een printscreen:
- Naamloos 641 keer bekeken
Re: Foutmelding Matlab
Geplaatst: vr 30 nov 2012, 17:08
door Xenion
Nu ik er beter naar kijk klopt je eerste poging inderdaad al helemaal niet. Je probeer daar fft('A.wav') te doen.
Ik heb de indruk dat je de neiging hebt van teveel ineens te willen doen.
Probeer meer stap voor stap te werken:
x = wavread(...)
notereader(x)
Op die manier zal je veel makkelijker fouten kunnen opsporen.
Re: Foutmelding Matlab
Geplaatst: di 11 dec 2012, 12:27
door Patries2
Als we een frequentie willen meten, geeft hij de verkeerde aan (bijvoorbeeld voor a geeft hij 15.6025), waarschijnlijk klopt er iets niet in onze functie, ziet iemand van jullie misschien de fout?
Re: Foutmelding Matlab
Geplaatst: di 11 dec 2012, 22:32
door Xenion
Kloppen je vectoren wel? Als je het spectrum plot (met de frequentie-as in Hz), zijn die waarden dan correct?
PS: post in de toekomst gewoon je code hier als tekst, op die manier kunnen mensen ze eventueel snel copy/pasten om eens uit te testen
Kijk eens of je onderstaand script begrijpt.
Code: Selecteer alles
close all; clear all; clc;
fs = 200; % sampling frequentie
f0 = 50; % signaal frequentie
t = 0:1/fs:1; % tijdsas
x = sin(2*pi*f0*t); % signaal
figure; plot(t,x);
X = fft(x)/(length(x)/2); % neem FFT en herschaal
X = X(1:floor(length(X)/2)); % gooi de 2de helft van het spectrum weg
f = linspace(0,1,length(X))*fs/2; % stel de frequentie as in Hz op
figure; plot(f,abs(X));
Re: Foutmelding Matlab
Geplaatst: ma 22 apr 2013, 23:32
door Patries2
Sorry voor mijn late reactie! maar het heeft erg geholpen! bedankt!