gpt4 book ai didi

c - MEX 文件中 Matlab 矩阵的线性索引

转载 作者:太空宇宙 更新时间:2023-11-04 02:38:07 25 4
gpt4 key购买 nike

我有一个如下形式的 NxN 对称矩阵 F

F_11 F_12 F_13 ... F_1N 

F_21 ...

F_31

.
.
.

F_N1 F_N2 F_N3 ... F_NN

每个子矩阵 F_IJ 的大小为 m x m。

此矩阵是在 MatLab 中创建的,将在 C 程序中使用。因此,这些值按列存储在 vector 中。 (例如, vector 的形式为:(F_11_11,F_11_21,F_11_31,...F_11_m1,F_21_11,...F_NN_(m-1)m,F_NN_mm)。

我的问题如下:为了可读性,我想在 C 中定义一种访问 F 值的方法,给定第一个子矩阵位置的索引 (I,J) 和索引 (i,j ) 值在子矩阵中的位置。如何将矩阵的线性索引链接到 (I,J,i,j) 索引?

最佳答案

我假设所有索引都是从零开始的,就像在 C/C++ 中一样。如果您想使用 Matlab 样式的基于 1 的索引,请从每个索引中减去 1。

我没查,不过我猜你的索引应该是...

int idx = I*m+J*N*m*m+i+j*N*m;

关于c - MEX 文件中 Matlab 矩阵的线性索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34897382/

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