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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
遇到一个很奇怪的问题,下边这个公式使用Matlab和EXCEL计算结果相同且正确: _5 L8 s4 o' G2 n; B

- I7 m  h4 \) w使用单片机和csharp测试又是另一个结果
0 [" `+ Q3 L' l' y; Q% ^% Y7 Y3 H
-(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))
% q+ V! |0 {0 g% D8 v$ \; x
# i8 h- L: O) d  Q单片机和csharp计算a=-9.58444976;5 l* d% N4 c- O2 H; z6 V, F# C% U

* P1 Q9 u; P# X- w3 v/ Ldouble L =    270;7 o% C6 R0 m6 `0 c9 K4 [( |; R
double b =    14.33;
% C, x, y1 _% M) V2 d5 ?3 cdouble c =    20.25;* ^: s0 S5 T. |
double h =    120.21;4 Z3 e7 w7 G7 s2 S1 W7 b

( e( c1 j, I8 Y$ j* U0 { 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)))
4 s! L6 E1 D6 S( ~8 t, _;
* W" \4 C% S4 [. ]
: u/ j. Z) j5 @7 \, P6 X/ i6 J' a. }
EXCEL和Matlab计算a=126.3747;( N1 f5 Z, ?% }/ `5 ^7 B+ n8 v
6 u) ~- o; N" O7 u( K% w: M* ^) J
270    L% q# J6 U& E- L+ r% e3 s
14.33    b
8 E6 i9 J# O# D+ S8 \) o8 s20.25    c0 [$ x' J- o) L4 ?2 h
120.21    h
# c! L: N+ I7 r' d/ ]  E7 I2 d: k; t3 x4 v8 v: m" I
= -(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))- I/ z: l9 `: r  {3 G' D

- r6 i6 Y2 D# f. W6 s- m* Z5 _0 S& b) H5 ^

( Z6 }3 Y, `& `" q( J; {9 [$ o不知道这个问题是怎么产生的,正在找原因。
) _# B9 M9 Y4 C2 @& n/ y
* E" I/ E7 Q3 v
/ Z( D+ I, l0 _/ W" R' W0 i- ~% [5 |; E) u2 j; v

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-24 14:08 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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