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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
遇到一个很奇怪的问题,下边这个公式使用Matlab和EXCEL计算结果相同且正确; p. C4 q, Z" U. g' x* o

! Y, a5 o; t8 Z2 Z4 ~# x) x, Q使用单片机和csharp测试又是另一个结果  \* V2 J) }. b9 C4 C

' x8 E# f" f, U/ k. [ -(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))6 U9 n$ U' g* j5 J+ d1 t3 l3 T+ z

# Q, u3 m, H+ ^' X9 J/ O% ^$ r7 c, H单片机和csharp计算a=-9.58444976;
1 {7 N* k" e1 a5 p  v( C; K- K. k- B$ k( r: Z+ a; t
double L =    270;: m- h* e9 x7 ~5 M8 B! v# I& s
double b =    14.33;9 b4 Z4 I; W$ e2 L5 P) n8 T
double c =    20.25;! @, ^2 u2 U5 i2 `  V( {" d3 D$ H& J
double h =    120.21;2 `& s9 D& q& s" K5 t

! F  `4 H9 n' |0 ^0 e# k' d, S) i 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)))
$ r# Q+ O4 W' Q; p2 y4 ~;
7 K' `8 K- y  b$ F8 {. u5 M
& C+ e1 ]% V" ^/ x
' R9 ^' v# P% [2 I) ~EXCEL和Matlab计算a=126.3747;% [6 t9 V8 d3 c0 |
5 V, N( {7 N& v" u+ X  E$ L4 Y  `* w
270    L
" K4 M# y2 M  ~1 f4 D8 t! u# R+ N! v14.33    b
8 K; {6 l$ `. T% q20.25    c+ W( c/ o1 Q: X! K: K  J: f7 A
120.21    h
8 C# K% f. T7 y- O5 c
# _& B$ U2 j2 Q' y& Y= -(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))
% W- k* X5 r8 ?; H3 b: Y, v1 y$ p3 m( `  Z& s

, u! u# n" V" `9 m9 R# w3 ^* v9 i! K+ @( O
不知道这个问题是怎么产生的,正在找原因。! R, T0 q6 P5 D& P

7 U. m& H9 `2 x. y
2 |4 w5 m! y7 n( t; N& A4 e* e- U5 }2 L  \) A2 J

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 02:28 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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