找回密码
 注册
关于网站域名变更的通知
查看: 332|回复: 3
打印 上一主题 下一主题

为什么Matlab计算结果和单片机相差非常大?

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-8-16 13:59 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x

    遇到一个很奇怪的问题,下边这个公式使用Matlab和EXCEL计算结果相同且正确

    使用单片机和csharp测试又是另一个结果

    -(2*L^4*b - L^4*c + 8*L^2*b^3 + 2*L^2*c^3 + 8*c^3*h^2 - 4*L^2*b*c^2 - 4*L^2*b^2*c - 8*L^2*b*h^2 - 4*L^2*c*h^2 + 2*L*h*((L + c)*(L - c)*(L^2 - 4*b^2 + 4*h^2)*(L^2 - 4*b^2 + 8*b*c - 4*c^2 + 4*h^2))^(1/2))/(4*(4*L^2*b^2 - 4*L^2*b*c + L^2*c^2 - 4*L^2*h^2 + 4*c^2*h^2))

    单片机和csharp计算a=-9.58444976;

    double L =    270;
    ( m- Y2 r7 w' R7 z: hdouble b =    14.33;- ?, {( |2 o2 T: A1 K+ J" h
    double c =    20.25;. J; V1 X6 j* j- ?; e3 V7 u  W
    double h =    120.21;

    a =  -(2*pow(L,4.00)*b - pow(L,4.00)*c + 8.00*pow(L,2)*pow(b,3.00) + 2*pow(L,2.00)*pow(c,3.00) + 8*pow(c,3)*pow(h,2) - 4*pow(L,2)*b*pow(c,2) - 4*pow(L,2)*pow(b,2)*c - 8*pow(L,2)*b*pow(h,2) - 4*pow(L,2)*c*pow(h,2) + 2*L*h*pow(((L + c)*(L - c)*(pow(L,2) - 4*pow(b,2) + 4*pow(h,2))*(pow(L,2) - 4*pow(b,2) + 8*b*c - 4*pow(c,2) + 4*pow(h,2))),(1/2)))/(4*(4*pow(L,2)*pow(b,2) - 4*pow(L,2)*b*c + pow(L,2)*pow(c,2) - 4*pow(L,2)*pow(h,2) + 4*pow(c,2)*pow(h,2)))
    ! w3 M: W5 J- u) P1 X2 ];4 K. h* ~- ?- R, {$ C2 _& V3 i

    EXCEL和Matlab计算a=126.3747;

    270    L
    2 z: y; a1 L+ O+ x+ Y14.33    b8 W! ?" O, Z( `) J
    20.25    c
    ! l" B: j  f5 t7 }) X- i  N$ T8 f120.21    h

    = -(2*A1^4*A2 - A1^4*A3 + 8*A1^2*A2^3 + 2*A1^2*A3^3 + 8*A3^3*A4^2 - 4*A1^2*A2*A3^2 - 4*A1^2*A2^2*A3 - 8*A1^2*A2*A4^2 - 4*A1^2*A3*A4^2 + 2*A1*A4*((A1 + A3)*(A1 - A3)*(A1^2 - 4*A2^2 + 4*A4^2)*(A1^2 - 4*A2^2 + 8*A2*A3 - 4*A3^2 + 4*A4^2))^(1/2))/(4*(4*A1^2*A2^2 - 4*A1^2*A2*A3 + A1^2*A3^2 - 4*A1^2*A4^2 + 4*A3^2*A4^2))


    9 V) n5 N! S; n' M

    不知道这个问题是怎么产生的,正在找原因。

    5 I* X2 e* l5 L; G9 i: T8 j, l
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    4#
     楼主| 发表于 2022-8-16 14:57 | 只看该作者
    duhe3hfu 发表于 2022-8-16 14:49$ I9 {, f* s- e# v: p/ F) M2 }2 p- Y
    会不会溢出了
    5 `" d0 \9 ^8 D8 ?1 B( w
    问题找到,是2个整数相除结果的小数部分被舍掉了. B6 E2 H7 n& R3 R$ w$ d
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-8-16 14:49 | 只看该作者
    会不会溢出了

    点评

    问题找到,是2个整数相除结果的小数部分被舍掉了  详情 回复 发表于 2022-8-16 14:57

    该用户从未签到

    2#
    发表于 2022-8-16 14:43 | 只看该作者
    问题找到, 里边有一个(1/2)改成(1.00/2.00)后解决. _; ~6 p3 O# m; j4 z: E
    解决方法是把公式分解,一段一段对比" y) ~5 B1 [  N% g1 z$ p8 o
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-23 15:16 , Processed in 0.171875 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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