0%

MATLAB中通过命令将数据游标的数据存到数组

背景

需要测量一批阻尼材料的损失因子和阻尼,采用GB/T 16406-1996《声学 声学材料阻尼性能的弯曲共振测试方法》进行测量。实验做完后,需要对曲线进行处理,挑选出一、二、三阶的固有频率,并要算出各阶共振峰的宽度( 宽度是按照幅值下降到原数值的计算得到的带宽,换成dB就是峰值下降3dB对应的带宽 )。因为数据量比较大,一个个观察输入不太友好,所以需要通过命令将数据游标点击的数据存到数组进行计算处理( 利用数据游标功能时,按住shift键可以选择多个点的数据,如此可以将多个峰值存放到同一结构体中 )。

计算方法

不想敲公式了,上图,详情参见GB/T 16406-1996《声学 声学材料阻尼性能的弯曲共振测试方法》



代码

代码比较简单,可以参照MATLAB帮助中datacursormode的介绍,这里给出示例,以便参考

1
2
3
4
dcm=datacursormode;
dcm,Enable='on'; %打开数据游标功能
pause; %等待数据点击完毕,回车键结束
info=getCursorInfo(dcm); %得到存放峰值、频率及数据index的结构体