作业帮 > 综合 > 作业

matlab傅里叶曲线拟合

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 04:46:03
matlab傅里叶曲线拟合
我对matlab不太熟悉,现想编个函数,该函数的输入为x,y,n,其中x为原始点的x坐标的一维数组,y为原始点的y坐标的一维数组,n为傅里叶函数的阶数,输出为拟合后的点的y坐标
不要傅里变换,直接对坐标进行拟合
以下代码在7.1版以上均可运行.
将以下代码保存为M文件:
function yy = zzz700createFit(x, y, n)
xData = x(:);
yData = y(:);
% Set up fittype and options.
ft = fittype( ['fourier',num2str(n)'] );
opts = fitoptions( ft );
opts.Display = 'Off';
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );
% 拟合后的点的y坐标
yy = fitresult(xData);
在命令窗口输入:
% 输入x,y,n
x = 0:0.1:2*pi;
y = rand(length(x),1);
n = 6;
% 输出为拟合后的点的y坐标
yy = zzz700createFit(x, y, n)