虽然这里没人帮我,但是这个论坛的免费资源依然对我起到了不小的帮助,现在我的东西的MATLAB部分基本已经完成,数据需要经过SPSS处理,我不会主成分分析法,SPSS倒是会了基本操作了,如果有人能帮我用SPSS处理数据请联系我吧。以下是我的程序
% function [a0;an;bn;omega]=f_Fourier(fun,T,N)
clear;clc;
syms t;
fun=exp(t);
T=10;
N=50;
omega=2*pi/T;
a0=double(2/T*int(fun,-T/2,T/2));
an=zeros(N,1);
bn=zeros(N,1);
for n=1:N
fun_a=fun*cos(n*omega*t);
fun_b=fun*sin(n*omega*t);
an(n)=double(2/T*int(fun_a,-T/2,T/2));
bn(n)=double(2/T*int(fun_b,-T/2,T/2));
end
y1=a0/2;
for n=1:10
y1=y1+an(n)*cos(n*omega*t)+bn(n)*sin(n*omega*t);
end
y2=0;
for n=11:20
y2=y2+an(n)*cos(n*omega*t)+bn(n)*sin(n*omega*t);
end
y3=0;
for n=21:30
y3=y3+an(n)*cos(n*omega*t)+bn(n)*sin(n*omega*t);
end
y4=0;
for n=31:40
y4=y4+an(n)*cos(n*omega*t)+bn(n)*sin(n*omega*t);
end
y5=0;
for n=41:50
y5=y5+an(n)*cos(n*omega*t)+bn(n)*sin(n*omega*t);
end
spss=zeros(100,7);
u=0;
for t=1:100
u=u+1;
if u > T
u = u - T;
end
spss(t,1)=t;
spss(t,2)=exp(u);
spss(t,3)=eval(y1);
spss(t,4)=eval(y2);
spss(t,5)=eval(y3);
spss(t,6)=eval(y4);
spss(t,7)=eval(y5);
end
t=1:100
subplot(6,1,1);
plot(t,exp(mod(t,T)));
title('原函数');
subplot(6,1,2);
plot(t,eval(y1));
title('第一分段');
subplot(6,1,3);
plot(t,eval(y2));
title('第二分段');
subplot(6,1,4);
plot(t,eval(y3));
title('第三分段');
subplot(6,1,5);
plot(t,eval(y4));
title('第四分段');
subplot(6,1,6);
plot(t,eval(y5));
title('第五分段');
以上主要是进行指数函数谐波分析而得到傅立叶展开式,而后截取自变量数据统计各个频率分段的分量函数值的比较,而后又画成各个分量与原函数的图象进行比较。对于那些统计出来的数据如何进行主成分分析本人现在还不会,如果有人愿意帮助我,我将不胜感激。