请教一个问题-主分量分析
运行以下程序,老是提示??? Error using ==> mtimesInner matrix dimensions must agree.
求救哪里出错了?
X=xlsread('zxn.xls'); %读取表格数据
disp(X);
=size(X);
for j=1:n
mju(j)=mean(X(:,j));
sigma(j)=std(X(:,j),1);
end
for i=1:p
for j=1:n
Y(i,j)=(X(i,j)-mju(j))/sigma(j);
end
end
C=1/p*(y*y);%求协方差矩阵
%求X标准化的协方差矩阵的特征值与特征向量
=eig(c);
disp('特征根(由小到大):');
disp(lambda);
disp('特征向量:');
disp(T);
%方差贡献率;累计方差贡献率
Xsum=sum(sum(lambda,2),1);
fori=i:n
fai(i)=lambda(i,i)/Xsum;
end
for i=1:n
psai(i)=sum(sum(lambda(1:i,1:i),2),1)/Xsum;
end
disp('方差贡献率:');
disp(fai);
disp('累计方差贡献率:');
disp(psai);
=size(T);
Ft=T(:,b-1:b)%提取后2个特征向量
V1=Ft(:,2)/sqrt(Ft(:,2)'*Ft(:,2))
V2=Ft(:,1)/sqrt(Ft(:,1)'*Ft(:,1))
Z1=V1'*X'
Z2=V2'*X'
plot(Z1(1:8),Z2(1:8),'r+',Z1(9:16),Z2(9:16),'ks',Z1(17:24),Z2(17:24),'py',Z1(25:32),Z2(25:32),'gd')
tile('轴承故障的时域主分量分析')
xlabel('第一阶主分量')
ylabel('第二阶主分量')
legend('正常轴承','外圈剥落','内圈剥落','滚动体剥落')
grid on
LZ所给的数据与程序好像并不一致!
页:
[1]