音频信号eval()错误(傅里叶级数近似)

3视图(30天)
大家好,我要计算我的声音的傅里叶级数,但我不能这样做。我的代码适用于方波,正弦波一切但对音频文件给错误。什么是我的错,我怎么能通过不同的方法收敛。谢谢。
我的代码是:
录音机= audiorecorder(1) 16000年,8日;
disp (请记录你的声音的);
drawnow ();
暂停(1);
recordblocking(录音机,2);
玩(录音机);
data = getaudiodata(录音机);
次要情节(4,1,1);
情节(数据);
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
信谊n aSym (n) bSym (n) x (t) t (t)
= 2;
f = 1 /;
我们= 2 *π* f;
一个= trapz(数据);
a0 = 4.08 *;
aSym (n) =简化(int(数据* cos (n。*我们。* t), t, 0) / (/ 2))
bSym (n) =简化(int(数据*罪(n。*我们。* t), t, 0) / (/ 2))
nMax = 9;
n = 1: nMax;
一个= eval (aSym (n));
bn = eval (bSym (n));
收敛= a0;
m = 1: nMax
收敛= +一个(m) * cos (m *我们* t) + bn (m) *罪(m *我们* t);
结束
t = 0:0.0001:2;
次要情节(1、2);
去年= eval(融合);
情节(t,最后,“线宽”,2)
错误使用eval
参数必须包含一个特征向量。
错误Untitled2(25)行
一个= eval (aSym (n));
8的评论

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2020年11月10日
信谊数据
假设(n,“整数”);
aSym (n) =潜艇(简化(int(数据* cos (n。*我们。* t), t, 0) /(/ 2)),数据,数据);
bSym (n) =潜艇(简化(int(数据*罪(n。*我们。* t), t, 0) /(/ 2)),数据,数据);
n = 1: nMax;
一个=双(aSym (n));
bn =双(bSym (n));
然而,你会发现,你所有的特殊 一个 和你所有的条目 b 条目是0。
7评论
Stephen23
Stephen23 2020年11月16日
编辑:Stephen23 2020年11月16日
“代码应该是私有的
通过提交你的问题在这个论坛你同意的条款和条件
写明你释放你的代码在Creative Commons归因份额都3.0许可协议。所以你已经允许整个地球上的每个人都复制、分发和重用代码(当然,用适当的归因执照)的要求。
“我不能理解为什么你分享我所有的代码再先生。”
因为这个答案没有它没有意义。
因为所有的志愿者在公共网络论坛志愿者帮助他们的时间,他们的时间 一个 感兴趣的人也可以使用。这是这样的公共论坛的性质。
通过删除的内容你的问题你自己对待这些志愿者无偿私人顾问。你单方面决定拒绝的原因之一参与公共论坛,这是公开的。
如果你想要私人帮助你可以找到大量的私人顾问会乐意签署一份保密协议。

登录置评。

更多的答案(0)

类别

找到更多的在只是为了好玩帮助中心文件交换

社区寻宝

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

开始狩猎!