gpt4 book ai didi

algorithm - 单片机中15位浮点变量计算

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:36 25 4
gpt4 key购买 nike

我想在 Controller (Arduino)中计算一个方程

y = -0.0000000104529251928664x^3 + 0.0000928316793270531x^2 - 0.282333029643959x + 297.661280719026

现在系数的十进制值很重要,因为“x”以千为单位变化,所以不能忽略立方项。我曾尝试在 excel 中操纵方程式来减少系数,但 R^2 在此过程中丢失了,我想避免这种情况。

enter image description here

Arduino 中可用的最大变量大小为 4 字节。在谷歌搜索中,我找不到合适的解决方案。

感谢您的宝贵时间。

最佳答案

-0.0000000104529251928664 ^ (1/3) = - 0.0021864822
0.0000928316793270531 ^ (1/2) = 0.00963491978

公式

y = -0.0000000104529251928664x^3 + 0.0000928316793270531x^2 - 0.282333029643959x + 297.661280719026

可以重写:

y = -(0.0021864822 * x)^3 + (0.00963491978 * x)^2 - 0.282333029643959 * x + 297.661280719026

将所有系数四舍五入到小数点后 10 位,我们得到:

y = -(0.0021864822 * x)^3 + (0.00963491978 * x)^2 - 0.2823330296 * x + 297.6612807

但我不了解 Arduino,我不确定正确的小数位数是多少,也不知道编译器会接受或拒绝什么。

关于algorithm - 单片机中15位浮点变量计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46635183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com