如何使用多部分函数来找到傅里叶级数系数与这个项目吗?

3视图(30天)
你好,我写一个脚本找到傅里叶级数系数。代码如下所示。在代码中,我已经间隔上定义的函数f = x * x - l l .但是如果我有一些函数的定义,说
f (x) = 1 - l < = x < 0
= 1 0 < = x < = L
然后,我如何可以使用这些函数来找到傅里叶级数系数?什么好主意吗?
关闭所有;
clc;
信谊x k L n
evalin (symengine“假设(k,类型::整数));% k被当作整数
f = x *;% f函数傅里叶级数
一个= int (f * cos (k *π* x / L) / L, x - L, L);%傅里叶级数系数an
b = int (f * sin (k *π* x / L) / L, x - L, L);%傅里叶级数系数b_n
afun = @ (f, x, k, L) int (f * cos (k *π* x / L) / L, x - L, L);
bfun = @ (f, x, k, L) int (f *罪(k *π* x / L) / L, x - L, L);
fs = vpa (afun (f, x 0 L) / 2 + symsum (afun (f, x, k, L) * cos (k *π* x / L) +bfun (f, x, k, L) *罪(k *π* x / L), k, 1, 3), 5);%傅里叶级数的部分和系数
fs =潜艇(fs, L, 1);% L = 1
fs1 = symfun (fs, x);%定义符号函数fs1策划
% disp(一个);
% disp (b);
% disp (fs);
图();
ezplot (fs1、[5 *π,5 *π]);

答案(1)

明星黾
明星黾 2014年7月13日
编辑:明星黾 2014年7月13日
你没有正确定义积分限制。
例如:
信谊b k L w0 x
krnl = symfun (a * cos (x - j * k * w0 *) + j * b *罪(k - j * * w0 * x) x)%将内核
F1 = int (1 * krnl x - l, 0);% - l - > 0
F2 = int (+ 1 * krnl x 0 L);% 0 - > + L
英国《金融时报》= F1 + F2;%增加积分
英国《金融时报》=潜艇(英国《金融时报》,L, 1)% L = 1
英尺=简化(收集(英尺))
生产(在 R2014a ):
英国《金融时报》=
(4 * b * sinh ((k * w0) / 2) ^ 2) / (k * w0)
MATLAB(正确地)取代 sinh 一个假想的论点,这是相当于:
英国《金融时报》=
(4 * b * sin ((j * k * w0) / 2) ^ 2) / (k * w0)
个人 “b” 系数的函数 k 。的 “一个” 系数等于零。
频率参数, w0 采样信号的基频。我参考你的维基百科文章 傅里叶级数 的细节。
1评论
克里斯托弗Creutzig
克里斯托弗Creutzig 2014年9月1日
如果你想摆脱 sinh (获得更多的标准表示),试一试 重写(英国《金融时报》,“罪”)

登录置评。

标签

s manbetx 845

社区寻宝

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

开始狩猎!