matlab gui怎样将结果保存在excel中_声发射简单使用matlab导入参数波形数据并绘图...

在数据分析的时候,很多人习惯使用matlab做为分析工具,matlab自带有强大的数据分析处理能力,有方便和强大的GUI绘图插件可以方便的绘制波形图、散点图、柱形图等,另外也有FFT、小波分析、神经网络等插件,给声发射的信号分析以很大的方便和提升。

6c3800bff0a6247a5668ff9cb6dc6d0d.png

之前有人问matlab相关的问题,一直没有回复。主要是matlab功能非常的多没有时间专门进行讲解,且这个属于一款专业的分析软件,就软件的使用而言和声发射教学并没有关系,完全可以通过专业的matlab的教学视频进行学习。 这里推荐一个B站上台大郭彦甫老师的视频,在B站搜索matlab播放量最高的就是。在知乎上搜索“MATLAB教程-台大郭彦甫”有对应的教案和课后习题答案,讲的非常的不错

4ee8d4b51cbe48aa561fbfa48d64648b.png

本文主要介绍几个matlab和声发射相关的简单操作。分别是声发射数据的导入、波形数据的显示、基于参数表的关联图和小波分析的功能插件。如果对你有帮助请帮忙转发。

1、数据的导入显示方法1,手动

声发射数据一般的厂家都有专门的格式,基本是二进制的数据保存的,如果不知道其数据格式是不能用matlab解析的。好消息是一般的厂家都提供了导出数据的功能,可以导出波形图和参数表。导出的数据可能是txt格式的、也可能是csv格式的( 可以用txt和excel打开的数据格式)。 1波形图导入导出的波形图可能是如下这样的,每行都是一个数值,每行表示一个电压点,两个点之间的时间间隔就是采集时候使用的采样率的倒数,比如用10Mpps的采样率采集数据,两个点之间的时间间隔就是1/1000000秒,0.1微秒。

43fde975edeb127190f052fa067fc7ca.png

图:txt

操作:在界面主页导入数据->选择对应的文件->修改变量名->点击保存。

4e5644d3d6dc4851510bbb0a063d34ef.png

8eb2b755980b6bb887b30121f2384572.png

在matlab的工作区内就会出现对应的变量,可以选中变量,右键另存为,保存成.mat格式的文件,以后就可以直接用matlab打开了。

75a0fc1a33d64f3eb929dfcae40c7011.png

这里导入的是一个模拟的波形数据( 没有实际采集的声发射数据),选中变量,在菜单->绘图->点击plot图标,波形图就绘制出来了。

a7800deda8a8770208e78a3e29d446f9.png

图形如下,是不超简单

1fe61c393be8192829cae254116c6e3f.png

2、波形数据导入方法2,代码

如果文件非常多,或者要更精确的控制绘图就需要用到程序了。点击主主页新建脚本->编制如下内容
%读取路径下的文件,保存到变量dataFromTxt2中dataFromTxt2 = textread('C:\Users\10580.DESKTOP-FERFBJP\Desktop\data.txt');%设置采样率,根据实际的设置sampleRate=10000000;%两点之间的时间间隔,单位是ust=1*1000000/sampleRate;%设置X轴x=t:t:size(dataFromTxt2)*t;%绘图plot(x,dataFromTxt2);xlabel('Time-us');ylabel('Amp-V');title('AE wave');

我们添加了图片的名字,添加了XY轴的标签,把X轴的坐标换成了时间

ffa5a420b845b73518b7c84866b78af6.png

3、如果文件里面有文件头信息

有些导出数据中包含文件头,里面记录了包括采样率,到达时间,数据长度等基本信息,这些信息也是非常有用的,只需要修改读取文件的代码就可以了。
%从文件读取fid=fopen('C:\Users\10580.DESKTOP-FERFBJP\Desktop\data.txt','r');%文件无法打开或者文件不存在返回if(fid==-1)    return;end%将文件头的消息去掉,也可以解析之后得到有用的消息,本处示例去掉for i=1:5    fgetl(fid);end%读取一行一行的数据,写入变量dataFromTxt3dataFromTxt3=zeros(1024,1);index=1;%循环读取每一行转成数字while ~feof(fid)    dataFromTxt3(index)=str2double(fgetl(fid));    index=index+1;end%后面的操作和之前一样

d6485a96f760fad1218bb7c93fefb426.png

4、如何导入参数表

导入参数表的方式和上面一样,参数表的格式可能如下所示,每个厂家的格式可能不一样。

ea85620ac7529110e7d510883d9b40a4.png

手动导入数据,可以导入成一个矩阵,每行表示一帧数据的参数,每列表示一种参数的数值。当然你也可以用代码的方式读入数据。

4eea7a6bcb5ef7fbd865453144d7f59e.png

5、根据参数表绘制散点图

%散点图% plot(count,'x')% xlabel('frame');% ylabel('count');% title('每帧的振铃计数');

f9700eda59df7a4983ad37540a8d7e02.png

6、根据参数表绘制柱形图

%柱形图% bar(energy)% xlabel('frame');% ylabel('energe');% title('每帧的能量');

f5e1ac057b13c9a1442c8bcb1e5ad3d8.png

7、绘制参数表之间的相关图

如下是计数和能力之间的相关图:
%X计数Y能量,相关图% plot(count,energy,'or')% xlabel('count');% ylabel('energy');% title('X计数Y能量');

d4e05b6b66c9362dfa3036666e73df44.png

8、调用小波分析的功能

小波分析可以通过菜单选择,弹出小波分析的界面,有可以通过代码输入"wavemenu"弹出,这是matlab自带的小波分析工具包,功能非常的强大。

9f0c534f188bd8bf976b65849453dc25.png

165a480459050dc7fa9864c075588731.png

以上。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值