CMSIS-DSP的arm_mat_init_f32矩阵求逆函数结果不对问题解决方法

CMSIS-DSP库是ARM提供的一个用于STM32工程实现矩阵计算的C语言函数库。

arm_mat_init_f32函数求矩阵的逆会出现问题的原因与库函数中生成矩阵的方式有关。矩阵的生成并不会申请新的内存空间,arm_mat_init_f32函数只是将已经存在的一个矩阵内存通过库中定义的一个struct结构体连接起来,结构体中有一个指向矩阵内存空间的指针,只是一个指针而已。

所以调用arm_mat_init_f32的结果就是对源矩阵进行运算,运算的结果存储在另一个目的矩阵的内存空间中。因为这样,所以需要传入的矩阵必须都已经是提前申请内存的矩阵。

一句话,该矩阵库函数只负责矩阵运算,不负责内存的申请和释放。

参考官方的讨论过程:https://community.arm.com/developer/tools-software/tools/f/keil-forum/32946/cmsis-dsp-matrix-inverse-problem#:~:text=The%20function%20arm_mat_inverse_f32%20%28%29%20overwrites%20the%20matrix%20data,inversion.%20This%20test%20uses%20the%20data%20mentioned%20above.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值