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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
遇到一个很奇怪的问题,下边这个公式使用Matlab和EXCEL计算结果相同且正确
7 \  x1 j' m* v. D3 ~, P0 L3 H* ]# S( Z4 {( e5 F9 \2 {- f: t- W
使用单片机和csharp测试又是另一个结果" ~1 S9 J4 \# P/ D* ]) m

0 g% u$ U# s: w0 g- D -(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))
  [! G3 c9 k* j- I, b& @! t! ]5 E$ Q+ h
单片机和csharp计算a=-9.58444976;1 S% d" k+ }  `& u+ r9 i  p5 q6 j7 O
! v+ ]7 I) a5 d: r
double L =    270;
+ E/ q" g! u$ c+ ^0 k! jdouble b =    14.33;4 r1 V. f& `% j5 p; ?$ x
double c =    20.25;7 v9 z( r+ X5 b) Y
double h =    120.21;+ c0 M8 h  R' ^0 k8 c$ j

* V: y4 s0 ?. X% X0 I5 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)))* ~& N! d0 j0 V1 N5 A( n
;
% A, M: j! _3 f" E4 g* b- D. E* N  D' C: _' A5 e! r" j) g; y  X) u
1 y! p- m7 W7 a. }4 m
EXCEL和Matlab计算a=126.3747;
: X( h" O$ _  {0 t% |$ z! j# N* d; f9 i  |1 n( f
270    L
9 z) r% R& L# i" U9 M14.33    b
. G8 }( j5 e# s! \, I3 A5 r3 ^20.25    c) O0 S! \8 ]! f, }0 m
120.21    h0 B' n! S- E# m6 S5 [

) u9 _1 K. K- k4 x. ^9 ?- D% s= -(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))
7 @7 ^! c1 K+ F- a! m. b8 h
- t+ {# s7 o5 c" X, P1 o5 Y/ G$ G8 F: Z0 Y

  a8 P+ X. S( I- U% B: _2 h不知道这个问题是怎么产生的,正在找原因。
, l5 o  l0 O4 I) Y% B4 t- }; s. g! B% a/ c" t2 x! k
/ N' j& x) _! j) X9 j' x

+ u. ^, f4 ?' E% A/ g' r4 q" V

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-9 14:37 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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