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

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-3-1 09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
遇到一个很奇怪的问题,下边这个公式使用Matlab和EXCEL计算结果相同且正确0 J% A9 h% N8 v( I) ?
1 _* P3 o9 d% _( }: C1 x" F) O
使用单片机和csharp测试又是另一个结果
" h0 Z, M9 x! F' ]3 h
2 v& a, g4 g9 o4 E -(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))$ k1 }7 f. V6 h0 n
' N' x0 [5 ^* |6 E$ x- R
单片机和csharp计算a=-9.58444976;$ g  i3 s9 r, |5 b1 Y, H
* I5 [3 C: m2 d" w2 X
double L =    270;0 L, H1 K. Z& X. c2 Q3 W8 v! U" [
double b =    14.33;
- Y# \  J# G% `2 N1 _double c =    20.25;( E1 J# T) p* ^0 I6 P
double h =    120.21;
  \! T8 s1 c! \% D$ C# E4 ]! {  {) M
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)))
3 J! _6 F0 n5 V8 j! y) m: @& K;
' v  c! [% p* U6 P
) z- \1 |5 z% O( h8 c; @& r0 c( b! u; i* h4 b  ]
EXCEL和Matlab计算a=126.3747;
, j$ b5 m- ~/ g% n7 |2 L2 J) S* W
& X5 L4 q5 X# X270    L5 {5 k) ^' Q- J4 s1 M8 {
14.33    b
' z6 @) a2 h! |( F& b' M6 E! b/ l4 |20.25    c7 u( s& s# _7 `& G0 @$ r
120.21    h/ L* `. q, l: j: G
) [+ P- p$ `8 a2 p* L6 S/ e+ M
= -(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))2 D0 v1 n  \$ d

# M" U# ^1 z8 y; q- M9 z+ X" ]$ _; I1 r/ A! @" V/ x) M: |

" U  v- R  P/ c( {" M2 V不知道这个问题是怎么产生的,正在找原因。
8 v$ ~# @/ Y4 ?2 z
) ?2 J( J% z* [7 o) G% j9 N% C  D. X8 ^; ^1 V1 M) U
: S! @' b7 O) W7 W9 \) R

该用户从未签到

2#
发表于 2022-3-1 09:56 | 只看该作者
会不会溢出了

该用户从未签到

3#
发表于 2022-3-1 10:06 | 只看该作者
问题应该是2个整数相除结果的小数部分被舍掉了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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