Основная ошибка звука в Matlab - PullRequest
3 голосов
/ 21 февраля 2012

У меня есть следующая функция Matlab для создания звука:

function [] = makesound( )

    cf = 2000;                  % carrier frequency (Hz)
    sf = 22050;                 % sample frequency (Hz)
    d = 1.0;                    % duration (s)
    n = sf * d;                 % number of samples
    s = (1:n) / sf;             % sound data preparation
    s = sin(2 * pi * cf * s);   % sinusoidal modulation
    sound(s, sf);               % sound presentation
    pause(d + 0.5);             % waiting for sound end

end

Однако, когда я запускаю код, я получаю следующую ошибку:

??? Error using ==> sound
Too many input arguments.

Error in ==> makesound at 14
sound(Beep,rate);

Что не так?

1 Ответ

1 голос
/ 11 марта 2013

Возможно, в вашем пути есть какая-то функция, «скрывающая имя», функция Matlab.Эта функция принимает меньшее количество входных аргументов, чем Matlab, поэтому Too many input arguments. В моем случае проблема была вызвана assert, в вашем случае это могло быть что угодно.Пройдите шаг за шагом с отладчиком (используя F11 для перехода ко всем функциям, которые у вас есть на пути), пока не найдете место, где какая-то функция не работает.Затем убедитесь, что путь, в котором находится проблемная функция, находится внизу списка путей Matlab, поэтому вызов функции по умолчанию выполняется для функции Matlab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...