看不懂里面实际的含义。
只能解释一下方程的含义:
clear; (释放所有变量)
for i=1:5
D(:,i)=(D(:,i)-mean(D(:,i)))./norm(D(:,i));
end (最外边是一个5次循环,意思是重新生成一个D矩阵,每一列都要相应的改变。mean表示求平均,norm表示求模,./表示点除的意思)
[U,S,V]=svd(D); (将新生成的矩阵D正交分解,其中U(9X5)和V(5X5)代表二个相互正交矩阵,而S代表一对角矩阵)
R=S*V; (不解释。抱歉,这里这个相乘是什么意思,以后好像没有用到R值)
for i=1:5,L(i)=S(i,i)^2,end (是一个5次循环结构,表示:S对角线上的数平方一次给一维行向量L)
figure;hold; (建立图纸,再次没有任何曲线,并且保持一个图纸作图)
plot(U(:,1),U(:,2),'o'); (在刚刚建立的图纸上,画图,用U的第一列作为X和第二列作为Y,显示是用O表示点,一共九个点)
for i=1:9
text(U(i,1)+0.01,U(i,2),int2str(i));
end (9次循环表示在各个点上附标题,分别为1~9 )
plot(V(:,1),V(:,2),'o'); (画出五个点 ,再次用O表示)
S={'Cu';'Mn';'Cl';'Br';'I'}; (表示S是一个字符行向量)
for i=1:5
compass([V(i,1)],[V(i,2)]);
text(V(i,1),V(i,2)-0.05,S{i});
end (表示1. 作向量图:用V矩阵5X5的第一列为X和第二列为Y做向量图,在分别附上S对应的文字) 完了
朋友,请教老师是你唯一的办法,我是学JAVA C++的,对于你能提问题我也在想我读书那块是怎么虚心向人求教的场面, 真是一代新人胜前人啊