Stm32Motor 发表于 2024-1-30 10:03:32

请教TI iqmath上如何开三次方?

大佬,我在使用STM32F103计算7段式S型加速曲线,F103没有FPU,整个计算耗时6ms左右,想使用iQmath计算看能否快一些,里面有个开三次方的运算,在iqmath的头文件没有找到相关申明。如有知道大佬,烦请指点,感激不尽!

Himem 发表于 2024-1-30 10:51:39

本帖最后由 Himem 于 2024-1-30 11:02 编辑

拆成ln和exp?
Y = exp(ln(X) / 3)

或者查表拿近似值+牛顿迭代法

Stm32Motor 发表于 2024-1-30 11:08:24

Himem 发表于 2024-1-30 10:51
拆成ln和exp?
Y = exp(ln(X) / 3)

(引用自2楼)

F103没浮点,不支持ln与exp。

Stm32Motor 发表于 2024-1-30 11:09:45

Himem 发表于 2024-1-30 10:51
拆成ln和exp?
Y = exp(ln(X) / 3)

(引用自2楼)

仔细看了下,有exp,没找到ln

Himem 发表于 2024-1-30 11:15:44

本帖最后由 Himem 于 2024-1-30 11:19 编辑

Stm32Motor 发表于 2024-1-30 11:09
仔细看了下,有exp,没找到ln
(引用自4楼)

就是logₑ

Stm32Motor 发表于 2024-1-30 11:19:44

Iqmath.h里面没有搜索到log,ln相关的字符

Himem 发表于 2024-1-30 11:29:29

Stm32Motor 发表于 2024-1-30 11:19
Iqmath.h里面没有搜索到log,ln相关的字符
(引用自6楼)

库来源? 我看430/432的iqmath (2015)里有log

Stm32Motor 发表于 2024-1-30 12:24:28

我同事发给我的。我的是stm32的

Himem 发表于 2024-1-30 13:41:46

Stm32Motor 发表于 2024-1-30 12:24
我同事发给我的。我的是stm32的
(引用自8楼)

MSPM0-SDK移植最新的去,有教程

Stm32Motor 发表于 2024-1-30 13:42:05

刚去官网下了下430的,里面确实有log,M3在官网看到下载地方

Stm32Motor 发表于 2024-1-30 16:49:57

Himem 发表于 2024-1-30 13:41
MSPM0-SDK移植最新的去,有教程
(引用自9楼)

下载下来了,这个只是支持M0的吧?

Himem 发表于 2024-1-30 16:55:39

本帖最后由 Himem 于 2024-1-30 17:02 编辑

Stm32Motor 发表于 2024-1-30 16:49
下载下来了,这个只是支持M0的吧?
(引用自11楼)

有源码

Stm32Motor 发表于 2024-1-30 17:12:01

https://www.armbbs.cn/forum.php?mod=viewthread&tid=119296&highlight=dsp

Stm32Motor 发表于 2024-1-30 17:57:00

Himem 发表于 2024-1-30 16:55
有源码
(引用自12楼)

多谢,我移植看看

Stm32Motor 发表于 2024-1-30 20:31:36

Himem 发表于 2024-1-30 16:55
有源码
(引用自12楼)

非常感谢你的热心指导.在MDK下stm32f103编译成功,明天到公司测试开三次方的函数.
附件为移植成功的代码.有须要的可以参考下.

Stm32Motor 发表于 2024-1-30 20:46:12

本帖最后由 Stm32Motor 于 2024-1-30 20:50 编辑

Himem 发表于 2024-1-30 10:51
拆成ln和exp?
Y = exp(ln(X) / 3)

(引用自2楼)

我在pthon里面这个写,计算结果不对哈.
import math
a= math.exp(math.log(math.e,8)/3)
print(a)
a=1.1738623302535736

晕,我搞错math.log传参了,改正后结果就对了.
以下是正确的python代码:

import math
a= math.exp(math.log(8,math.e)/3)
print(a)
a=2
页: [1]
查看完整版本: 请教TI iqmath上如何开三次方?