搜索
bottom↓
回复: 11

关于直线拟合系数偏差的问题

[复制链接]

出0入0汤圆

发表于 2016-6-28 22:08:33 | 显示全部楼层 |阅读模式
X        0        0.1        0.2        0.5        1        1.5
Y        0.002        0.082        0.162        0.407        0.805        1.185
两组数据  用“二乘法程序运算”和“笔算”得出来的 K=0.785619 ,而用EXCEL算出的K=0.7913 ,想问是算的精度问题还是?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出10入23汤圆

发表于 2016-6-28 22:13:29 | 显示全部楼层
你算错了吧?
excel算出来的很准啊

出0入0汤圆

 楼主| 发表于 2016-6-29 21:31:53 | 显示全部楼层
zouzhichao 发表于 2016-6-28 22:13
你算错了吧?
excel算出来的很准啊

大神要么你帮我拟合一下 ,我算出是Y=0.785619X+0.011409; R=0.9998
还是我EXCEL拟合设置错了
0        0.1        0.2        0.5        1        1.5
0.002        0.082        0.162        0.407        0.805        1.185

出10入23汤圆

发表于 2016-6-29 22:02:39 | 显示全部楼层
xinwu 发表于 2016-6-29 21:31
大神要么你帮我拟合一下 ,我算出是Y=0.785619X+0.011409; R=0.9998
还是我EXCEL拟合设置错了
0        0.1        0.2         ...

手上电脑没装matlab,自己写的,算出来和excel是一样的,应该是你算错了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-6-29 22:10:59 | 显示全部楼层
楼主算错了,我算了一遍跟Excel一样。

出0入0汤圆

 楼主| 发表于 2016-6-30 09:43:24 | 显示全部楼层
zouzhichao 发表于 2016-6-29 22:02
手上电脑没装matlab,自己写的,算出来和excel是一样的,应该是你算错了

这个是网上下的函数,我检测了很多遍好像都是对的,大神帮我看一下
#define nCount 6//点数  6
xdata double X[6]={0,0.1,0.2,0.5,1.0,1.5};
xdata double Y[6]={0.02,0.082,0.162,0.407,0.805,1.185};
xdata double xyTopX,xyTopY,RTop;

void  Min2Method()
/////////////////////////////////////////////////////////////////////////////////////
////////  功能描述:利用最小二乘法求斜率                                   //////////
////////            xyTopX -- 截距                                         //////////
////////            xyTopY -- 斜率
///////                                RTop   -- 拟合优度
{
    unsigned int      i;
    double   SumX, SumY, SumXY, SumX2;
     
    SumX = 0;
    SumX2 = 0;
    for( i=0; i<nCount; i++)
    {
        SumX += X;
        SumX2 += (X*X);
    }
     
    SumY = 0;
    for( i=0; i<nCount; i++)
    {
        SumY += Y;
    }

    SumXY = 0;
    for( i=0; i<nCount; i++)
    {
        SumXY += ( X* Y);
    }

    xyTopX = ( (SumX2*SumY - SumX*SumXY) / (nCount*SumX2 - SumX * SumX));
    xyTopY = ( (nCount*SumXY - SumX*SumY) / (nCount*SumX2 - SumX * SumX));
}

出0入0汤圆

发表于 2016-6-30 09:48:47 来自手机 | 显示全部楼层
程序的浮点误差

出0入0汤圆

 楼主| 发表于 2016-6-30 11:10:20 | 显示全部楼层
bg6agf 发表于 2016-6-30 09:48
程序的浮点误差

请问应该怎么写

出10入23汤圆

发表于 2016-6-30 11:22:31 | 显示全部楼层
浮点运算误差哪有这么大?

出0入0汤圆

 楼主| 发表于 2016-6-30 15:39:10 | 显示全部楼层
zouzhichao 发表于 2016-6-30 11:22
浮点运算误差哪有这么大?

是我的程序哪里写了吗?

出0入0汤圆

 楼主| 发表于 2016-6-30 15:48:27 | 显示全部楼层
本帖最后由 xinwu 于 2016-6-30 17:06 编辑
bg6agf 发表于 2016-6-30 09:48
程序的浮点误差


我程序修改了一下 结果还是一样  应该是浮点误差的问题
0        0.1        0.2        0.5        1        1.5
0.02        0.82        1.62        4.07        8.05        11.85
Y的数值*10后 EXCEL 拟合出来 K=7.9133 程序拟合出来7.913256
那应该怎样减小浮点误差(本人用的是STC单片机 KEIL编译器)

出0入0汤圆

 楼主| 发表于 2016-6-30 20:46:25 | 显示全部楼层
问题解决了,是我算法问题
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-23 17:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表