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
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
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!