我有以下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);
有什么问题?
答案 0 :(得分:1)
你的路径中可能有一些功能,'名称隐藏'一个Matlab函数。此函数接受Matlab的输入参数数量较少,因此Too many input arguments
。
In my case导致问题的是assert
,在您的情况下,它可能是任何问题。一步一步地使用调试器(使用F11跳转到您沿途的所有功能),直到找到某个功能失败的地方。然后确保有问题的函数所在的路径位于Matlab路径列表的底部,因此默认调用Matlab的函数。