许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB海洋数据处理:读取SWAN波谱函数

MATLAB海洋数据处理:读取SWAN波谱函数

阅读数 2707
点赞 52
article_banner

最近需要读取swan的波谱数据,文件挺多的,写了一个稍有规则的matlab函数。贴出来,方便及时找到,以及希望不足之处能到大佬们的指点。

%% ntime表示数据的时间长度,

function S1=read_swan_S1(file,ntime)

fid=fopen(file,'r');

%跳过头文件信息

for i=1:6;

temp=fgetl(fid);

end

% 读取站点数量

location_number=fscanf(fid,'%d\n',1);  

% 读取站点的坐标

location=fscanf(fid,'%f%f\n',[2,location_number]);

location=location';

% 读取  absolute frequencies in Hz (AFREQ)

temp=fgetl(fid);  % 跳过AFREQ

AFREQ_number=fscanf(fid,'%d',4);

temp=fscanf(fid,'%s\n',3);  % 读文字

AFREQ=fscanf(fid,'%f\n',AFREQ_number);

temp=fgetl(fid); % 跳过文字

QUANT=fscanf(fid,'%d\n',1); % number of quantities in table

for i=1:10

temp=fgetl(fid);  % 读文字以及一些异常值(58-66)

end

%%  

for t=1:ntime;

   time=fscanf(fid,'%s\n',1);

   temp=fscanf(fid,'%s\n',3);

   for s=1:location_number;

        temp=fscanf(fid,'%s\n',2);

        data=fscanf(fid,'%f%f%f\n',[3,AFREQ_number]);

        vadens=data(1,:);

        ndir=data(2,:);

        dsprdegr=data(3,:);

        vadens(vadens==-99)=nan;

        ndir(ndir==-999.0)=nan;

        dsprdegr(dsprdegr==-9)=nan;  

        Vadens(s,:,t)=vadens;

        Ndir(s,:,t)=ndir;

        Dsprdegr(s,:,t)=dsprdegr;

        Time(t,:)=time;

        

   end

end

   S1.Vadens=Vadens;

   S1.Ndir=Ndir;

   S1.Dsprdegr=Dsprdegr;

   S1.Time=Time;

   S1.QUANT=QUANT;

   S1.AFREQ=AFREQ;

   S1.AFREQ_number=AFREQ_number;

   S1.location=location;

   S1.location_number=location_number;

   S1.AFREQ_unit='Hz';

   S1.vadens_unit='m^2/Hz';

   S1.Dir_unit='degr';

   S1.Dsprdegr_unit='degr';

end

%%  主程序,调用上述函数

file='...............';

ntime=217;

S1=read_swan_S1(file,ntime);

for s=1:S1.location_number;

    for t=1:ntime

        figure('position',[50 50 800 200]);

        plot(S1.AFREQ,S1.Vadens(s,:,t));

        xlabel('Frequence(Hz)','fontsize',10);

        ylabel('variance density(m^2/Hz)')

        print(gcf,'./...............png');

        close

    end

end


武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空