雷轩修_uH44D 发表于 2019-7-7 08:12:38

arm_mat_inverse_f32求解不出正确结果

代码如下:
          float Status;
                float32_t t01 = {
                0.0f,   0.0f,   0.0f,0.0f,0.0f,1.0f,
                0.0f,   0.0f,   0.0f,0.0f,1.0f,   0.0f,
                0.0f,   0.0f,   0.0f,2.0f,0.0f,   0.0f,
                100000.0f,   10000.0f,   1000.0f,100.0f,   10.0f,1.0f,
                50000.0f,4000.0f,300.0f, 20.0f,1.0f,   0.0f,
                20000.0f,           1200.0f,    60.0f, 2.0f,       0.0f,   0.0f       
        };
        float32_t _t01;
        arm_matrix_instance_f32 pSrcA;
        pSrcA.numCols = 6;
        pSrcA.numRows = 6;
        pSrcA.pData = t01;
        arm_matrix_instance_f32 pSrcB;
        pSrcB.numCols = 6;
        pSrcB.numRows = 6;
        pSrcB.pData = _t01;

Status =arm_mat_inverse_f32(&pSrcA,&pSrcB);

下图是matlab中计算的两个矩阵

keil中仿真结果

明显结果不对

eric2013 发表于 2019-7-7 09:37:26

有这个bug,暂时无解,你可以升级到最新版CMSIS看看修正没

雷轩修_uH44D 发表于 2019-7-8 10:15:52

源数组元数需要非零,否则返回-5;多次测试,有几个零也能计算,返回状态0(表示转置成功),但结果不对。这个函数真有BUG,不敢用了

终极菜鸟 发表于 2021-6-16 15:12:46

eric2013 发表于 2019-7-7 09:37
有这个bug,暂时无解,你可以升级到最新版CMSIS看看修正没

硬汉大佬,现在有没有新的DSP库,能用的,我快被这玩意儿搞心态了。

eric2013 发表于 2021-6-16 15:18:28

终极菜鸟 发表于 2021-6-16 15:12
硬汉大佬,现在有没有新的DSP库,能用的,我快被这玩意儿搞心态了。

新版的问题一样

终极菜鸟 发表于 2021-6-17 16:42:04

eric2013 发表于 2021-6-16 15:18
新版的问题一样

我专门测试了一下,使用浮点数方面计算好像准确的。这个没有办法反馈到ARM官网吗。

eric2013 发表于 2021-6-17 16:48:26

终极菜鸟 发表于 2021-6-17 16:42
我专门测试了一下,使用浮点数方面计算好像准确的。这个没有办法反馈到ARM官网吗。

上Github提即可
页: [1]
查看完整版本: arm_mat_inverse_f32求解不出正确结果