江山美人 发表于 2014-7-14 10:11

请教矩阵下标转换程序

编了个程序如下:
M=2;N=3; fori=1:(M+1)*(N+1)    forj=1:(M+1)*(N+1)              n(j)=mod(j,N+1)-1;      %取模(余)       ifn(j)==-1         n(j)=N;       end          l(i)=mod(i,N+1)-1;       if   l(i)==-1         l(i)=N;       end           m(j)=floor((j-n(j))/(N+1));    %取整                   k(i)=floor((i-l(i))/(N+1));endend klmn 如图,K是四个下标的矩阵,元素为Kklmn,此时M=2,N=3,K矩阵行、列数为(M+1)*(N+1),此时为12×12阶矩阵,转换为两个下标的矩阵,元素为Kij,i,j=0,1,2…(M+1)*(N+1);    k=0,1,2…M;    l=0,1,2…N;      m=0,1,2…M;      n=0,1,2…N。主要就是得到四个下标k、l、m、n同两个下标i、j的关系大家帮我看看,程序有没有问题,谢谢

江山美人 发表于 2014-7-14 10:14

刚才忘了传矩阵图片

ChaChing 发表于 2014-7-14 10:58

水平有限,直觉很复杂容易出错
建议说明清楚原始问题, 或许有不同途径可达成

江山美人 发表于 2014-7-14 12:41

ChaChing 发表于 2014-7-14 10:58
水平有限,直觉很复杂容易出错
建议说明清楚原始问题, 或许有不同途径可达成

http://forum.vibunion.com/forum.php?mod=viewthread&tid=132704&page=1#pid767822就是这个帖子,中间一段程序就是这个矩阵下标转换的,因为主要是要得到四个下标同两个下标的关系,因为在下面的调用函数里面就要用到每个k、l、m、n,(每循环一次就要用到一次k、l、m、n),f-1...f-10函数都是k、l、m、n的函数,不太确定这个程序编的有没有问题

江山美人 发表于 2014-7-14 12:41

ChaChing 发表于 2014-7-14 10:58
水平有限,直觉很复杂容易出错
建议说明清楚原始问题, 或许有不同途径可达成

http://forum.vibunion.com/forum.php?mod=viewthread&tid=132704&page=1#pid767822就是这个帖子,中间一段程序就是这个矩阵下标转换的,因为主要是要得到四个下标同两个下标的关系,因为在下面的调用函数里面就要用到每个k、l、m、n,(每循环一次就要用到一次k、l、m、n),f-1...f-10函数都是k、l、m、n的函数,不太确定这个程序编的有没有问题

chybeyond 发表于 2014-7-14 15:22

klmn所有下标索引改为(i, j)

江山美人 发表于 2014-7-14 16:04

chybeyond 发表于 2014-7-14 15:22
klmn所有下标索引改为(i, j)

OK..............

zhoupan734 发表于 2014-7-15 10:18

我没看太懂你的意思。你的程序里面没有写你的Kklmn这个是怎么形成的。我没太整明白。

chybeyond 发表于 2014-7-15 10:24

zhoupan734 发表于 2014-7-15 10:18
我没看太懂你的意思。你的程序里面没有写你的Kklmn这个是怎么形成的。我没太整明白。

   2L附图

江山美人 发表于 2014-7-15 10:30

zhoupan734 发表于 2014-7-15 10:18
我没看太懂你的意思。你的程序里面没有写你的Kklmn这个是怎么形成的。我没太整明白。

主要想得到k、l、m 、n 四个下标与i 、j两个下标的关系,因为后面程序分别要用到k l m n的数值,每循环一次就要用到一次,这个程序是我的整个程序的一部分,http://forum.vibunion.com/forum.php?mod=viewthread&tid=132704&page=1#pid767822 这个是整个主程序及调用程序,不知道四个下标与两个下标的转换关系有没有问题,请帮我看一下,谢谢
页: [1]
查看完整版本: 请教矩阵下标转换程序