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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
遇到一个很奇怪的问题,下边这个公式使用Matlab和EXCEL计算结果相同且正确
8 `6 h+ S. Q) t3 C. i
3 Y5 Q% [2 v$ f! ]使用单片机和csharp测试又是另一个结果
8 R" O3 j: _' ?9 Z4 x6 E6 f8 e5 X* m- S& t8 \3 ?- ?3 D8 P1 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)); G/ o0 w# G; \7 G. ^5 R

. C! ?6 \+ R  Z3 C单片机和csharp计算a=-9.58444976;
4 U# n% s, G7 A' C0 a+ M* j8 X+ k6 |; D  g) W2 n4 v; Q. J! L2 A2 P4 a% I- o" d
double L =    270;! h) U* ?# A2 K! P' l. O% d: O
double b =    14.33;) F( G: A1 N5 N# ]% f5 o
double c =    20.25;
# g! f2 q$ |2 ]( ?+ z9 m7 Y# `; ^7 Bdouble h =    120.21;
/ l. X/ b) q3 [
& x: C8 o. W, c! d( K+ ?$ X! b 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)))
% \8 R$ L( |5 ]; n3 i;
- i5 v! G  P- l; P
" U4 ^7 \5 W; Y6 ^8 C  O& e
7 i/ I. }3 A+ ~; L1 {EXCEL和Matlab计算a=126.3747;  M) e* ?" k: a3 q& I

% D% v  Q# z0 v3 M5 X, S7 k3 ?270    L4 t0 w' J* T" Y& l+ i
14.33    b
/ D. h2 U- S* o# J5 Q8 S8 b: r# t7 K20.25    c
! d  M7 U* P& H0 c% _120.21    h
, a5 T. h1 A. A; O4 W& P1 \7 u, G
5 u5 H) {- C9 s9 k6 \5 i. t= -(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))3 ^" b2 V" N/ `9 K- I1 `2 T6 {+ a0 a! Y
6 O( b5 R2 `9 a! L, K

  M! D+ v3 {: h% e) @1 w3 [
; t8 |& j. s2 j. p7 R9 P/ X不知道这个问题是怎么产生的,正在找原因。
* G: P; `+ D9 d. t* X
3 ?3 T6 @" A% c: J7 a/ k. i& p2 M$ y, R( g# j" O
1 T8 l; b3 {2 [2 g3 {

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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