MATLAB中GUI界面内数据的读取和存储操作

您所在的位置:网站首页 matlabgui读取excel MATLAB中GUI界面内数据的读取和存储操作

MATLAB中GUI界面内数据的读取和存储操作

2024-02-04 20:03| 来源: 网络整理| 查看: 265

要求GUI界面的输入数据为int16中频数据文件,输出数据也为int16中频数据文件。

第一步:

获取数据函数:uigetfile

先自己存储数据用于验证,将仿真数据以int16的格式存于txt文件中,分I/O两路,I路代表实部,O路代表虚部。

Data=[real(x);imag(x)]; fid=fopen('testnew.txt','wt');      %fid为文件句柄。 fprintf(fid,[repmat('%d\t',1,500),'\n'],Data');  %\t代表空格,这里使用data的转置是因为fprintf按列读取数据,500位信号数据的快拍数。

fclose(fid);                 %关闭文件。

第二步:

在GUI的m文件中读取数据。

[Filename, Pathname]=uigetfile('*.txt','Select Input file');

 

 if (Filename==0 & Pathname==0)       msgbox('您没有选择文件,请重新选择!','确认','error');   else      fid = fopen(Filename,'r');    if fid==-1        msgbox('打开文件出错','确认','error');    else        [X,count] = fscanf(fid,'%f');        %此处,采用%d和%f读取数据均可。        msgbox('打开及读取数据完毕!','确认','warn');        fclose(fid);    end end

这一步取出来的数据X还是一列的形式,我们还需要依据阵元数对数据进行重组,使之为我们待处理的矩阵数据。

第三步

保存输出数据函数:uiputfile

输出数据为复数矩阵形式,为保存为int16中频数据文件,数据需将实虚部分开保存,且一个输出矩阵中包含多个输出信号,且还包含其他不需要保存的信号,所以保存第一个信号的时候,文件应具有覆盖以前文件已写数据的能力,保存其他信号时,应以追加的方式写在第一个保存的信号后面。

 

 [Filename, Pathname]=uiputfile('*.txt','Select Output file'); if (Filename==0 & Pathname==0)       msgbox('您没有保存数据!','确认','error');   else   str=[Pathname Filename]; fid=fopen(str,'wt'); data=[real(Se((jam_num+1),:));imag(Se((jam_num+1),:))]; fprintf(fid,[repmat('%d\t',1,datalength),'\n'],data'); fclose(fid); fid=fopen(str,'at'); for nn=2:exp_num     clear data     data=[real(Se((jam_num+nn),:));imag(Se((jam_num+nn),:))];     fprintf(fid,[repmat('%d\t',1,datalength),'\n'],data');    end msgbox('保存数据完毕!','确认','warn'); fclose(fid); end

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3