24小时热门版块排行榜    

查看: 615  |  回复: 0

yuefengwang

新虫 (初入文坛)


[交流] 关于下面这个eof程序,数据的输入格式(txt文档)改是如何?求指教

我不懂程序代码,正在认真学习,请帮忙解读下这个程序的过程,谢谢了。
clear; clc
fid=fopen('C:\Users\Administrator\Desktop\test.txt','r');
hgtn=fread(fid,'float');
aay=reshape(hgtn,246,12,58);   
%a=mean(aay,3);
bb=aay(:,6,+aay(:,7,+aay(:,8,;        
ab=squeeze(bb);

%资料的标准化
an=ab';
avn=mean(an);
ssn=std(an,1);
n=58;
jp=an-repmat(avn,n,1);
bn=jp./repmat(ssn,n,1);

a=bn;
%提取主分量!
%先进行时空转换
s=a*a';
[v,d]=eig(s);

j=n;                        %将特征值按从大到小排序
for i=1:n
    dd(i,i)=d(j,j);
   j=j-1;
end

j=n;                        %将特征向量从大到小排序
for i=1:n
    for k=1:n
       vv(k,i)=v(k,j);
   end
   j=j-1;
end

sum=0.;                      %求累计方差
for i=1:n
    sum=sum+dd(i,i);
end

for i=1:n                 %求方差贡献
    c(i)=dd(i,i)/sum;
end

%求得eof的距阵
x1=a'*vv(:,1);  %x1为第一特征向量空间场
tri=vv(:,1);   %tri为时间系数

fid=fopen('f:\ga\pt\wave\eof\1000v.dat','w');
out=fwrite(fid,x1,'float');
fclose(fid);
fid=fopen('f:\ga\pt\wave\eof\ri.dat','w');
out=fwrite(fid,tri,'float');
fclose(fid);
回复此楼

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 yuefengwang 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见