包括两个函数:Fseries.m 和 Fseriesval.m [a,b] = Fseries(X,Y,n) 拟合形式的 n 阶傅立叶展开y = a_0/2 + Sum_k[ a_k cos(kx) + b_k sin(kx) ] 使用最小二乘法拟合向量 X 和 Y 中的数据。
Y = Fseriesval(a,b,X) 计算由系数 a 和 b 在向量 X 中的值定义的傅立叶级数。
额外的参数允许重新缩放 X 数据和仅正弦或仅余弦的扩展。
例子: % 生成数据x = linspace(0,2,41)'; y = mod(2*x,1); % 使用 FSERIES 来拟合[a,b,yfit] = Fseries(x,y,10); % 在更精细的网格上进行评估xfine = linspace(0,2)'; yfine = Fseriesval(a,b,xfine); %可视化结果情节(x
2021-09-07 09:58:29
4KB
matlab
1