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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
遇到一个很奇怪的问题,下边这个公式使用Matlab和EXCEL计算结果相同且正确
# {. m# q! z) ]' o
+ t8 O% ]2 E# _  y6 p$ S9 J使用单片机和csharp测试又是另一个结果
+ d$ k2 X  l6 A6 g* G. q2 l$ d) [! ^. Y
-(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)), p! |" g* [1 A9 i8 m: Z6 Z. q

3 V* L& R  e* p0 b单片机和csharp计算a=-9.58444976;
8 T- o/ e* `% I( ]& a7 m. g( O
+ Z9 N) L4 P( m) F, J* D% `double L =    270;
, D' K8 o! b* g' Cdouble b =    14.33;
/ ~( Q. b8 X% H) L# Zdouble c =    20.25;
$ t) r+ K/ h, Y# odouble h =    120.21;, q/ [7 _9 U! X/ }: r) ?

/ P; l5 [: Z' F: X2 u. V7 c& a 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)))* b4 v8 {! a# i5 @/ G
;; b8 }- s: ]& c
& U4 Y, Q: A7 v. Q" _2 q

( d) D4 E7 g# DEXCEL和Matlab计算a=126.3747;# m5 m0 n5 J6 a4 v. v3 K

+ k2 [4 U  k) h9 S3 m270    L5 z# ~& ?2 J8 G
14.33    b
& y! v; }+ M# s" r20.25    c
7 ~$ Z& z1 Z- V120.21    h6 B/ L! g& I' J: W* k; h

" e% \% I+ Y+ g8 G# |1 Q" R* @= -(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 Z9 d/ }/ R9 e0 _
7 ~1 b  \3 ]0 i8 M% s9 p

) c! M% f5 U. g- x+ s; ?
& b2 f' S" C* R; k  O  p/ f7 L不知道这个问题是怎么产生的,正在找原因。0 L% l9 C5 o) O+ G; O
* d, C* A4 m! C2 Q1 Y, k
4 n  F) k( h% p/ F
( J5 o* L6 n* I6 V+ [. F

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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