Springen naar inhoud

Foutmelding Matlab


  • Log in om te kunnen reageren

#1

Patries2

    Patries2


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 30 november 2012 - 12:40

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.JPG

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Xenion

    Xenion


  • >1k berichten
  • 2606 berichten
  • Moderator

Geplaatst op 30 november 2012 - 12:48

Om een of andere reden is je data van het type 'char'. Probeer de vector eens om te zetten naar een numeriek type.

#3

Patries2

    Patries2


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 30 november 2012 - 13:03

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.

#4

kingtim

    kingtim


  • >25 berichten
  • 68 berichten
  • Ervaren gebruiker

Geplaatst op 30 november 2012 - 14:42

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.

#5

Patries2

    Patries2


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 30 november 2012 - 15:41

oké, dankje, ik heb het geprobeerd, maar kreeg weer een foutmelding, hier een printscreen:Naamloos.jpg

#6

Xenion

    Xenion


  • >1k berichten
  • 2606 berichten
  • Moderator

Geplaatst op 30 november 2012 - 17:08

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.

#7

Patries2

    Patries2


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 11 december 2012 - 12:27

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?

Bijgevoegde miniaturen

  • note_reader.JPG

#8

Xenion

    Xenion


  • >1k berichten
  • 2606 berichten
  • Moderator

Geplaatst op 11 december 2012 - 22:32

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.
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));

#9

Patries2

    Patries2


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 22 april 2013 - 22:32

Sorry voor mijn late reactie! maar het heeft erg geholpen! bedankt!





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures