野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8351|回复: 3

STM32关于浮点数的运算和数据长度问题,不懂求教

[复制链接]
发表于 2016-4-23 11:46:43 | 显示全部楼层 |阅读模式
本帖最后由 望着你发槑 于 2016-4-23 13:51 编辑

如图,相同的式子,相同的数据,做最小二乘法拟合直线的时候matlab结果正确,stm32算出来都是0.000000;
系数计算都是正确的,已经验证了。
就是在最后乘除法那里出错,不懂stm32关于浮点数运算和数据长度这些东西
我的猜测是运算过程中某个量溢出了,然后导致出错
怎么回事啊,求教相同的程序我原来运行了更小的数据量也没有问题,这一次数据量大一些

居然没人回答。。。
发现问题了,但是不知道怎么解决
float表示的数的范围太小了,中间运算过程中有丢失
怎么解决
应该只是一个定义的问题了
不过我不知道浮点数怎么变大
试过double,不行
VKZCRWKUFRL]O9S@_{5)AN2.png
)QWOM8O@8C@A}TU[GNS{QE0.png
回复

使用道具 举报

 楼主| 发表于 2016-4-23 14:40:07 | 显示全部楼层
问题已经解决了,我把减数和被都强转成了float,就行了
第二张图片有点问题,我之前的程序是把第一个数强转了的
回复 支持 反对

使用道具 举报

发表于 2016-4-25 18:49:41 | 显示全部楼层

回帖奖励 +1 火花

可以的话定义的时候就设置成浮点型
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-25 21:00:02 | 显示全部楼层
flyleaf 发表于 2016-4-25 18:49
可以的话定义的时候就设置成浮点型

浮点数的计算太慢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-15 17:27 , Processed in 0.030406 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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