打印

关于找曲线规律的方**

[复制链接]
3415|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mcu520|  楼主 | 2008-9-8 10:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个温度电压的非线性关系曲线,请问是找方程关系式,还是找规律,温度是0-45℃

相关帖子

沙发
原野之狼| | 2008-9-8 10:59 | 只看该作者

多项式拟合

使用特权

评论回复
板凳
t.jm| | 2008-9-8 12:47 | 只看该作者

分段线性就好了.

拟合公式的计算量太大.

使用特权

评论回复
地板
huangqi412| | 2008-9-8 13:59 | 只看该作者

1 多阶捏合 2分段计算 3查表

使用特权

评论回复
5
HWM| | 2008-9-8 14:10 | 只看该作者

数据拟合是从一次实验数据中“拟合”出一个连续的函数关

不要求与每个实验数据点重和,只要满足最小方差就行(参考数理统计)。

LZ所说的是属于“插值”范畴,可以是一次线性的或两次甚至两次以上的插值。

使用特权

评论回复
6
emailli| | 2008-9-8 15:09 | 只看该作者

曲线拟合最好

也就是多项式拟合

哪个和我说计算量太大,我和他急

楼主去找一个 曲线拟合 的软件,可以帮你很好的计算出一个 拟合公式

我以前的帖子中有提到过 该曲线拟合软件的名字,现在一下子忘记了。你可以搜索一下。

我以前公司做温度变送器,所有常见GB类型的热电偶热电阻的曲线都是用曲线拟合来做的,并且利用该拟合软件可以使用一个通用的公式(只是系数不同),这样下来,实现代码部分也不大。

烧录代码才8K以下,并且还包括了自动校准等通信功能在内。

使用特权

评论回复
7
t.jm| | 2008-9-8 18:24 | 只看该作者

6楼没明白我指哪里计算量大。

非线性回归我用Mathematica计算量再大也很简单,问题是如果结果公式中带个指数,2次方,3次方,单片机的计算量不大吗?

使用特权

评论回复
8
HWM| | 2008-9-8 20:10 | 只看该作者

真苯,如此规整的数据还用“拟和”

制成表格用插值,一次线性即可。

使用特权

评论回复
9
awey| | 2008-9-8 22:43 | 只看该作者

查表插值法是最简单的

曲线拟合Microsoft office Excel里就有。

使用特权

评论回复
10
Swd21ic| | 2008-9-8 22:45 | 只看该作者

..

拟合用matlab就可以了..
还用个鸟其他软件..
计算量大.. 浮点乘法很耗时的.单片机甚至有可能跑死

使用特权

评论回复
11
byk2005| | 2008-9-9 21:07 | 只看该作者

origin7中做一下多项式拟合

origin7中做一下多项式拟合,然后差值生成数组,用查表法对应起数据来

使用特权

评论回复
12
emailli| | 2008-9-16 09:03 | 只看该作者

拟合公式只需要用2次方就可以了。

压根就用不上三次方。

使用的拟合公式如下格式:

f(x) = (a+c*x+e*x^2)/(1+b*x+d*x^2)

你仅仅需要利用曲线拟合软件将系数 a,b,c,d,e计算出来。

如果有N根曲线,你难道查N个表?

而我这里只需要做一个函数,传递参数就是各个系数和x的值。

还没有哪个单片机计算二次方会出问题的。

再次声明: 该方法已经在 我之前的做工控仪表的公司得到了大量的使用。

一个8K容量(速度8M)的单片机实现了 常见的所有的热电偶热电阻的转换。

另外,不同的曲线,你用matlab拟合的时候,可以用同一个函数计算出系数吗?

你计算出来的系数拟合度有多高,你心里有底吗?

反正我知道,使用辅助软件计算出来的拟合公式,他会给出一个拟合度。

我一般只选择99.999%以上拟合度的系数使用。

使用特权

评论回复
13
HWM| | 2008-9-16 09:42 | 只看该作者

“我一般只选择99.999%以上拟合度的系数使用”?!!

LS:你知道数据拟合是用在什么地方的吗?完全是乱弹琴。

对于已经消除“噪声”因素(用统计方法)的离散数据点,插值是求其连续值的最好方法。

使用特权

评论回复
14
emailli| | 2008-9-16 14:00 | 只看该作者

我不知道你的最好方法是从哪里来的

反正 对于N个曲线需要同时兼容的时候,用曲线拟合方式是最好的。

如果用查表插值的方式,你要存储N个表,每个表有N个点。

并且运行速度也不见得比我快很多。

对于 你说的数据拟合 ,我也并不是很清楚是否和我所说的 曲线拟合 说的是同一个事情。



另外,对于电压和温度表,也一般用的是反查表的方式。

对于一个温度测量系统,他得到的通常是电压,然后利用电压来判断当前温度。

所以,你用查表的话,必须先确定区间,然后分段线性计算比例,从而得到温度值。计算比例的时候,也是需要用到浮点除法的。

这里需要消耗的资源是 存储表+浮点除法计算。




我也反复说了,在一条曲线的时候,你用分段线性或者是查表插值都可以做的比较好。

N条曲线的时候,不见得查表和插值做法是最佳了。

不知道你是否看到,我反复在说  一条曲线和N条曲线。

使用特权

评论回复
15
HWM| | 2008-9-16 14:06 | 只看该作者

LS:“N个曲线需要同时兼容”是什么意识?能否说清楚些?

使用特权

评论回复
16
patrick007| | 2008-9-16 14:27 | 只看该作者

re

14楼,不得不说,你只适合搞纯技术。。。。。。。。。。。

使用特权

评论回复
17
emailli| | 2008-9-16 22:42 | 只看该作者

N条不同的曲线

比如说现在有5种不同的热电偶,你需要根据实际情况来选择哪种热电偶作为你的输入信号源。

那么,你针对5中热电偶就要做5个表来查表?5个表会需要多少空间来保存?

还是对5种热电偶均使用同一种函数来拟合?

如果都使用同一种函数来拟合,那么就仅仅需要更改系数就可以达到目的了。




16楼:很难猜测你是褒奖我还是贬低我!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

191

帖子

0

粉丝