未知的错误

3视图(30天)
乔纳森
乔纳森 2012年5月31日
这段代码给了我一个向量和Fs标量. wav声音样本和情节波形和功率谱:
函数(声音,Fs) =分析仪(文件)
(声音,Fs) = wavread(文件)% y是声音数据,Fs是采样频率。
t =(1:长度(声音))/ Fs;%的时间
印第安纳州=找到(t > 0.1 & t < 0.12);%设置时间波形图
图;次要情节(1、2、1);
情节(t(印第安纳州)、声音(印第安纳州));
标题([的波形的文件);
包含(,年代);
N = 2 ^ 12;%的数量分分析
c = fft(声音(1:N)) / N;%计算fft的声音数据
p = 2 * abs (c (2: N / 2));在每个频率%计算能力
f = (1: N / 2 - 1) * Fs / N;%频率对应于p
次要情节(1、2、2);
semilogy (f p);
轴([0 4000 10 ^ 4 1]);
标题([的功率谱的文件);
包含(的频率,赫兹);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
这段代码应该编写和扮演一个wav文件从上面的“声音”数据与指定的基本频率和持续时间:
函数guitarSynth(文件、f d、声音、Fs)
nbits = 8;%频率和wav文件的比特率
t = linspace (1 / Fs, d, d * Fs);%的时间
y = 0 (1, Fs * d);%初始化声音数据
n = 1:长度(声音);
y = y +声音(n)。* cos(2 *π* n * f * t);% sythesize波形
结束
y = 5 * y / max (y);%正常化。系数控制体积。
wavwrite (y, Fs, nbits文件)
wavplay (y, Fs)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
“太多的输出参数”的错误已经解决。问题是,MATLAB是永远忙,我不得不杀了这个项目。当我点击Ctrl + C杀程序,用MATLAB说有一个错误在“y = y +声音(n) * cos(2 *π* n * f * t);“。我不明白什么是错误的。请帮助。
2的评论
乔纳森
乔纳森 2012年5月31日
埃罗的“n = 1:长度(声音);“。是的,synth3是第二个函数。[y, Fs] = synth3(文件、f d)调用这个函数。我只要求2输出:y和Fs

登录置评。

答案(2)

沃尔特·罗伯森
沃尔特·罗伯森 2012年5月31日
除非你的第二个功能是嵌套在第一,它没有进入“声音”数组定义里面第一个函数(因为你不将数组传递给第二个函数)。所以第二个函数内部访问数组的并不知道,它四周看了看,发现声音() 函数 和建立的过程中,注意到声音()不返回任何输出但是上下文要求,声音返回值……
我们警告人们关于命名变量一样的MATLAB函数…
15个评论
沃尔特·罗伯森
沃尔特·罗伯森 2012年6月1日
MATLAB响应control - c通过打印线时,执行中断。“错误”这个报告的目的是control - c中断本身,而不是一个错误在它打印出来。
是什么值d * Fs *长度(声音)?

登录置评。


斯蒂芬。
斯蒂芬。 2012年5月31日
如果函数通常输出1件你要求更多,它会给你的错误。例如,
函数ans = myfunc (x, y)
ans = x + y;
结束
将错误当我写:
[ans1, ans2] = myfunc (1,1);
5个评论
乔纳森
乔纳森 2012年6月1日
见下文。这个问题是解决了沃尔特·罗伯森。然而,现在我得到一个错误“y = y +声音(n) * cos(2 *π* n * f * t);“

登录置评。

类别

找到更多的在启动和关闭帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!