一种基于MATLAB的数据一致性的分析方法与流程

文档序号:18884952发布日期:2019-10-15 20:45阅读:421来源:国知局
一种基于MATLAB的数据一致性的分析方法与流程

本发明属于电机性能数据的处理和分析技术领域,尤其涉及一种基于matlab的数据一致性的分析方法。



背景技术:

matlab是一种基于算法开发、数据可视化、数据分析以及数值计算的计算机高级编程语言和交互式环境。开发环境直接简洁,其语法与c/c++类似。它支持包括逻辑、数值、文本、函数柄和异质数据容器在内的15种数据类型,每一种类型都定义为矩阵或阵列的形式。在线性代数、数理统计、自动控制、数字信号处理、动态系统仿真等方面,matlab已表现了其不可替代的一面。同时,matlab具有gui的功能,支持界面设计,设计完成的工程可以打包成可执行文件,可在xp,win7等系统中运行。

在电机生产过程中,需要对电机的各个性能数据进行测试分析,而常规的对于电机性能的数据进行测试时,将实验数据统计并且生成excel表格,然后人工对实验数据的excel表格进行分析,耗时长,工作效率低,且准确率低。



技术实现要素:

本发明的目的在于:针对上述存在的问题,本发明提供了一种针对电机性能的实验数据一致性分析效率高、分析结果准确、操作简单的基于matlab的数据一致性的分析方法。

为了实现上述目的,本发明采用如下技术方案:

一种基于matlab的数据一致性的分析方法,包括以下步骤:

1)准备好需要分析处理的原始数据;

2)在matlab软件中利用guide提供的空间设计生成gui界面,并生成文件框架m;

3)文件框架m将gui界面初始化并设置回调函数,所述回调函数用于控制gui界面的各种特征和响应;

4)用户通过gui界面对步骤1)中的原始数据进行选择文件,然后根据用户在gui界面选择需要分析的参数进行分析,然后保存,以获得产品的数据组并绘制分析图表,显示在gui界面上,同时将获取的产品的数据组和分析图表存入到数据库中;

5)根据gui界面显示的分析图表判断电机实验数据的一致性。

进一步的,所述步骤1)中的原始数据中的属性包括:产品编号、旋向、额定电压、空载电流、空载转速、正反转速差,空载起动电压、额定转矩、额定而定电流、额定转速、11000r/min下输出电压、转矩常数、堵转转矩、电枢直流电阻、摩擦力矩、超速等参数。

进一步的,所述原始数据为同一批次产品相同试验数据报告或同一产品多个检验报告,所述同一批次产品相同试验数据报告或同一产品多个检验报告均为excel格式文件。

进一步的,所述步骤4)中用户通过gui界面选择同一批次产品相同试验数据报告文件进行分析,包括以下步骤:

a.选择同一批次产品相同试验数据报告文件;

b.在gui界面选择需要分析的参数,然后读入数据,选择旋向;

c.通过算法查找是否存在异常产品,如存在异常产品,则显示异常产品编号及异常值,做出分析图表,否则直接做出分析图表,将分析图表显示在gui界面上,并生成产品数据组;

d.如果用户没有将数据组和分析图表存入数据库,则继续返回执行步骤c直到生成产品数据组和分析图表,并存入数据库为止。

进一步的,所述步骤a中的选择同一批次产品相同试验数据报告文件,包括以下步骤:

(1)在gui界面选择同一批次产品相同试验数据文件,获取excel文件存取目录,判断文件是否为空;

(2)获取步骤(1)中的excel文件名;

(3)新建缓冲文件;

(4)将数据写入缓冲文件指定区域;

(5)对话框提示缓冲文件的路径,最后确定即可。

当需要进行数据分析时,只需从缓冲区获取数据即可,这样做解决了只能在可执行文件目录下读取文件的问题,实现了用户可将需要分析的文件存放于任意位置。

进一步的,所述步骤4)中用户通过gui界面选择同一产品多个检验报告文件进行分析,包括以下步骤:

a.选择同一产品多个检验报告文件;

b.在gui界面选择需要分析的参数,然后读入数据;

c.步骤b中读入的数据经过后台数据分析处理,做出描述同一批产品不同状态下的参数对比结果的分析图表;

d.如果用户没有将数据组和分析图表存入数据库,则继续返回执行步骤c直到生成产品数据,并存入数据库为止。

进一步的,所述步骤a中的选择同一产品多个检验报告文件,包括以下步骤:

(1)在gui界面选择同一产品多个检验报告文件,获取excel文件存取目录,判断文件是否为空;

(2)获取步骤(1)中excel文件名;

(3)新建多个缓冲文件;

(4)循环读取多个缓冲文件中的数据分别存放到缓冲区中;

(5)将步骤(4)中读取的数据按照读取顺序分别存放到缓冲区中;

(6)对话框显示缓冲文件路径,最后确定即可。

在选择文件后,程序将所选择目录下的所有excel表格数据进行读取并按照读取的先后顺序分块存放到数据缓冲区内,这样可以提高当用户有数据分析需求时软件的响应速度。同时也使后期的开发过程中数据处理更加方便快捷。

进一步的,所述同一产品多个检验报告包括军方检验报告、a组检验报告、复检报告。

,所述步骤4)中的保存功能实现过程包括以下步骤:

(i)按下gui界面的保存按钮;

(ii)将数据一致性分析结图表复制到剪贴板;

(iii)打开excel进程,并设置excel可见;

(iv)以用户选择参数名命名文件;

(v)获取工作表句柄;

(vi)判断当前工作表格是否有图像存在,假如不存在图像,则循环删除,否则将图像复制到剪贴板中;

(vi)获取步骤(vi)中图像放置位置,然后将图像从剪贴板粘贴到表格中保存;

(vii)复制最大值、最小值、平均值、方差值、中位数、标准差到剪贴板;

(viii)将最大值、最小值、平均值、方差值、中位数、标准差从剪贴板粘贴到表格中保存。

进一步的,所述分析图表包括产品参数散点图和产品参数条形统计图;

所述产品参数散点图其横坐标表示的是产品的标编号,程序会先从缓冲区读出每一台产品的编号备用;图的纵坐标是产品参数,保证了纵坐标的正常显示,当用户对散点图中的点进行点击时,程序会自动标出当前点击产品的产品编号及对应的产品参数;所述产品参数散点图可显示异常产品的异常编号,形成异常产品标记图,用于查找异常产品参数;

所述产品参数条形统计图,其横坐标表示的用户所选择的产品参数,在数据处理过程中,程序会确定一个以产品参数最大值和最小值作为端点的区间,然后再将这个区间平均分为10个小区间,这样便保证了不同的产品参数都能够均匀的分为十个区间;纵坐标表示在每一个区间内产品的数量,在计算过程中,程序会依次寻找每个横坐标区间内产品的台数,最终将这个数量显示在条形统计图中,使得产品参数的区间分布一目连然。

本发明的有益效果为:

本发明中,能够将存放在excel中的实验数据按规定格式读入,最终以图表的方式呈现实验数据的一致性分析结果,大大缩短了数据一致性分析所需的时间;也提高了数据一致性分析的准确性,为企业把控产品的一致性提供了一定的保障。

附图说明

图1为本发明工作流程图。

图2是本发明中gui界面示意图。

图3为本发明中对同一批次产品相同试验数据报告文件进行数据分析工作流程图。

图4为本发明中对同一产品多个检验报告文件进行数据分析工作流程图。

图5为本发明中对选择获取同一批次产品相同试验数据报告数据文件工作流程图。

图6为本发明中对选择获取同一产品多个检验报告文件工作流程图。

图7为本发明中所有原始数据文件分析处理后保存的工作流程图。

图8、9为本发明中在gui界面中显示的产品参数条形统计图。

图10为本发明中在gui界面中显示的产品参数散点图。

图11为本发明中原始数据中的同一产品多个检验报告(军方检验报告、a组检验报告、复检报告)进行测试后在gui界面显示图。

图12为同一批次产品相同试验原始数据图。

图13、14为通过基于matlab的数据一致性的分析方法进行分析数据分析结果图。

图15为进行了多次重复测试后结果显示图。

图16为“复检报告”原始数据图。

图17为“军方检验报告”图。

图18为“a组检验报告”原始数据图。

具体实施方式

下面进一步描述本发明的技术方案,但要求保护的范围并不局限于所述。

实施例1:

如图1所示,一种基于matlab的数据一致性的分析方法,包括以下步骤:

1)准备好需要分析处理的原始数据;

2)在matlab软件中利用guide提供的空间设计生成gui界面,并生成文件框架m;

3)文件框架m将gui界面初始化并设置回调函数,回调函数用于控制gui界面的各种特征和响应;

4)用户通过gui界面对步骤1)中的原始数据进行选择文件,然后根据用户在gui界面选择需要分析的参数进行分析,然后保存,以获得产品的数据组并绘制分析图表,显示在gui界面上,同时将获取的产品的数据组和分析图表存入到数据库中;

5)根据gui界面显示的分析图表判断电机实验数据的一致性。

步骤1)中的原始数据中的属性包括:产品编号、旋向、额定电压、空载电流、空载转速、正反转速差,空载起动电压、额定转矩、额定而定电流、额定转速、11000r/min下输出电压、转矩常数、堵转转矩、电枢直流电阻、摩擦力矩、超速等参数。

原始数据为同一批次产品相同试验数据报告或同一产品多个检验报告,同一批次产品相同试验数据报告或同一产品多个检验报告均为excel格式文件。

如图3所示,步骤4)中用户通过gui界面选择同一批次产品相同试验数据报告文件进行分析,包括以下步骤:

a.选择同一批次产品相同试验数据报告文件;

b.在gui界面选择需要分析的参数,然后读入数据,选择旋向;

c.通过算法查找是否存在异常产品,如存在异常产品,则显示异常产品编号及异常值,做出分析图表,否则直接做出分析图表,将分析图表显示在gui界面上,并生成产品数据组;

d.如果用户没有将数据组和分析图表存入数据库,则继续返回执行步骤c直到生成产品数据组和分析图表,并存入数据库为止。

如图4所示,步骤a中的选择同一批次产品相同试验数据报告文件,包括以下步骤:

(1)在gui界面选择同一批次产品相同试验数据文件,获取excel文件存取目录,判断文件是否为空;

(2)获取步骤(1)中的excel文件名;

(3)新建缓冲文件;

(4)将数据写入缓冲文件指定区域;

(5)对话框提示缓冲文件的路径,最后确定即可。

当需要进行数据分析时,只需从缓冲区获取数据即可,这样做解决了只能在可执行文件目录下读取文件的问题,实现了用户可将需要分析的文件存放于任意位置。

如图5步骤4)中用户通过gui界面选择同一产品多个检验报告文件进行分析,包括以下步骤:

a.选择同一产品多个检验报告文件;

b.在gui界面选择需要分析的参数,然后读入数据;

c.步骤b中读入的数据经过后台数据分析处理,做出描述同一批产品不同状态下的参数对比结果的分析图表;

d.如果用户没有将数据组和分析图表存入数据库,则继续返回执行步骤c直到生成产品数据,并存入数据库为止。

步骤a中的选择同一产品多个检验报告文件,包括以下步骤:

(1)在gui界面选择同一产品多个检验报告文件,获取excel文件存取目录,判断文件是否为空;

(2)获取步骤(1)中excel文件名;

(3)新建多个缓冲文件;

(4)循环读取多个缓冲文件中的数据分别存放到缓冲区中;

(5)将步骤(4)中读取的数据按照读取顺序分别存放到缓冲区中;

(6)对话框显示缓冲文件路径,最后确定即可。

在选择文件后,程序将所选择目录下的所有excel表格数据进行读取并按照读取的先后顺序分块存放到数据缓冲区内,这样可以提高当用户有数据分析需求时软件的响应速度。同时也使后期的开发过程中数据处理更加方便快捷。

同一产品多个检验报告包括军方检验报告、a组检验报告、复检报告。

如图7所示,步骤4)中的保存功能实现过程包括以下步骤:

(i)按下gui界面的保存按钮;

(ii)将数据一致性分析结图表复制到剪贴板;

(iii)打开excel进程,并设置excel可见;

(iv)以用户选择参数名命名文件;

(v)获取工作表句柄;

(vi)判断当前工作表格是否有图像存在,假如不存在图像,则循环删除,否则将图像复制到剪贴板中;

(vi)获取步骤(vi)中图像放置位置,然后将图像从剪贴板粘贴到表格中保存;

(vii)复制最大值、最小值、平均值、方差值、中位数、标准差到剪贴板;

(viii)将最大值、最小值、平均值、方差值、中位数、标准差从剪贴板粘贴到表格中保存。

分析图表包括产品参数散点图和产品参数条形统计图;

产品参数散点图其横坐标表示的是产品的标编号,程序会先从缓冲区读出每一台产品的编号备用;图的纵坐标是产品参数,保证了纵坐标的正常显示,当用户对散点图中的点进行点击时,程序会自动标出当前点击产品的产品编号及对应的产品参数;产品参数散点图可显示异常产品的异常编号,形成异常产品标记图,用于查找异常产品参数;

产品参数条形统计图,其横坐标表示的用户所选择的产品参数,在数据处理过程中,程序会确定一个以产品参数最大值和最小值作为端点的区间,然后再将这个区间平均分为10个小区间,这样便保证了不同的产品参数都能够均匀的分为十个区间;纵坐标表示在每一个区间内产品的数量,在计算过程中,程序会依次寻找每个横坐标区间内产品的台数,最终将这个数量显示在条形统计图中,使得产品参数的区间分布一目连然。

针对本发明一种基于matlab的数据一致性的分析方法,作了如下的实验数据:

表1

表2

从表1和表2中可以看出,采用本发明的基于matlab的数据一致性的分析方法进行分析,大大缩短了数据一致性分析所需的时间(如表1所示);也提高了数据一致性分析的准确性(如表2所示)。

针对本发明,还做了如下实验对本发明做进一步测试:

首先,采用如下原始数据中的同一批次产品相同试验数据(图12所示)表格的原始数据进行测试:

部分同一批次产品相同试验数据的原始数据如图12所示,从图中可以看出,正反转速差存在一个异常数据,产品标号为17001,转向为反转。

通过基于matlab的数据一致性的分析方法进行分析数据分析结果如图13、图14所示,可以看出,转速差分布在6-7这个区间内、转向为逆向的产品有一台,在单击只显示异常产品后,可以看出异常产品编号为17001,数值为6,此数据与同一批次产品相同试验数据原始数据相吻合。后续进行了多次重复测试,结果均与原始数据相吻合,如图15所示。

其次,采用如下原始数据中的同一产品多个检验报告(军方检验报告、a组检验报告、复检报告)进行测试:

如图16为“复检报告”原始数据、图17为“军方检验报告”图18为“a组检验报告”原始数据。

将以上同一产品多个检验报告(军方检验报告、a组检验报告、复检报告)经过本发明基于matlab的数据一致性的分析方法进行分析后,其分析结果在gui界面的显示如图11所示:

从图11中可以看出,“复验报告”、“军方检验报告”、“a组检验报告”三个表格中正向最大、正向最小、正向平均等参数,与原始数据中数据相吻合。

最后,通过以上实验数据可以看出,本发明具有大大缩短了数据一致性分析所需的时间;也提高了数据一致性分析的准确性,为企业把控产品的一致性提供了一定的保障的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1