qlong79 发表于 2005-10-27 01:25:11

关于曲线相关法分析

<P>我现在想知道任两条曲线:曲线LineA 和曲线LineB的相似程度,即他们有多大可能形状是一样的
有人提议用相关法进行分析,例程中使用函数
Correlate(LineA,LineAnum,LineB,LineBnum,correwave);
我现在的问题是
1.我的每条曲线是由两个数组表示的,比如LineA,在数组LineAy[]中存的是曲线LineA的纵坐标集合,LineAx[]中存的是曲线LineA的对应的横坐标的集合,注意横坐标集合是无规律的离散点。在实际作图时我是用PlotXY这样的函数合成曲线的,但是在相关法计算的时候,我应该把什么数组代入函数呢?
直接代入LineAy[]和LineBy[]肯定不行,因为他们对应点的横坐标都不相同,而且横坐标的起始点,增量都不相同,这样得出的相关度肯定不对。</P>
<P>2.在调用这个相关函数后最终得到数组correwave,我想知道的是这两条曲线的相似程度,如何从这个数组中看出这一点呢?</P>
<P>希望能得到启示!谢谢</P>

Harry 发表于 2005-10-27 06:54:16

<P>没问题,两条线都可以当做信号波形处理,采样率不一样也没什么关系,结果也可以看作波形,以幅值作为判断标准就可以了</P>

qlong79 发表于 2005-10-27 16:45:57

<P>Harry,多谢你的回答</P><P>如果采样率不影响判断结果的话就省事多了</P><P>还有,你说“结果也可以看作波形,以幅值作为判断标准就可以了”,指的是最后得到的correwave波形的幅值么?</P><P>有人说,找correwave最大幅值点,等于1说明两条曲线完全相同,等于0说明完全不同</P><P>可我看例程上correwave的幅值都远远大于1了,这怎么判断呢?</P><P>我希望能得到最终代表两曲线相关度的一个值,通过判断这个值是否大于给定阈值来决定两曲线是否相似。这个想法可行吗?应该取哪个值来判断呢?</P>

Harry 发表于 2005-10-28 04:33:35

<P>correwave得到的是相关函数,而不是相关系数</P>
<P>不好意思,范了一个错误</P>
<P>昨天晚上没看清楚,你的横坐标是随机的,因此不能这样计算</P>
<P>我建议你还是插值,也就是统一横坐标后再利用这个计算</P>

qlong79 发表于 2005-10-28 05:33:09

<P>我现在就是把两条曲线插值了</P><P>我现在想知道的关键问题就是,怎么从correwave这个相关函数判断两条曲线的相似程度呢?它是个数组阿。</P><P>这是我真正迷惑的</P><P>望赐教</P>

game216 发表于 2005-10-31 23:55:12

多看看数字信号处理和数学,就明白怎么转换了,主要是概念不清楚

Harry 发表于 2005-11-1 00:28:20

<P>看看相关系数和相关函数的公式,你就知道怎么转换了.</P>
<P>建议你好好看看他们的定义,清楚他们的意义对你以后很有帮助的</P>
页: [1]
查看完整版本: 关于曲线相关法分析