K阵你是通过写块矩阵实现的。写出k11、k12这些块阵。这些块阵分别随iii、jjj变化。我目前只能理解到这步。
是的,K矩阵的里面的K11 K12....K33都是一个子矩阵;K11(iii,jjj),K12(iii,jjj).....K33(iii,jjj)分别都是子矩阵的一个元素 那你不是已经写成了K关于两个变量iii、jjj的形式了吗?
zhoupan734 发表于 2014-7-15 10:48
那你不是已经写成了K关于两个变量iii、jjj的形式了吗?
就是想让大家帮我看看 对照我发的矩阵图片四个下标同两个下标的转换关系对不对 http://forum.vibunion.com/forum.php?mod=viewthread&tid=132872&page=1#pid768268 matlab程序为:
clc
clear all
I=3;
J=7;
ii=zeros((I+1)*(J+1),(I+1)*(J+1));
jj=zeros((I+1)*(J+1),(I+1)*(J+1));
i=zeros((I+1)*(J+1),(I+1)*(J+1));
j=zeros((I+1)*(J+1),(I+1)*(J+1));
foriii=1:(I+1)*(J+1)
forjjj=1:(I+1)*(J+1)
jj(iii,jjj)=mod(jjj,J+1)-1; %取模(余)
ifjj(iii,jjj)==-1
jj(iii,jjj)=J;
end
j(iii,jjj)=mod(iii,J+1)-1;
ifj(iii,jjj)==-1
j(iii,jjj)=J;
end
ii(iii,jjj)=floor((jjj-jj(iii,jjj))/(J+1)); %取整
i(iii,jjj)=floor((iii-j(iii,jjj))/(J+1));
end
end
计算结果分别为(以i为例):
i =
Columns 1 through 13
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
Columns 14 through 26
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
Columns 27 through 32
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
2 2 2 2 2 2
2 2 2 2 2 2
2 2 2 2 2 2
2 2 2 2 2 2
2 2 2 2 2 2
2 2 2 2 2 2
2 2 2 2 2 2
2 2 2 2 2 2
3 3 3 3 3 3
3 3 3 3 3 3
3 3 3 3 3 3
3 3 3 3 3 3
3 3 3 3 3 3
3 3 3 3 3 3
3 3 3 3 3 3
3 3 3 3 3 3
按照上面给出的matlab程序,粘贴到matlab命令窗口中运行,即可得到当I=3,J=7时,矩阵i、j、ii、jj的各个元素,四个矩阵都是32*32的矩阵。举例说明,当iii、jjj都取1时,你所说的四个下标的值就分别存储在矩阵i、j、ii、jj的第一行第一列中;当iii取1,jjj为2都时,你所说的四个下标的值就分别存储在矩阵i、j、ii、jj的第一行第二列中;以此类推。计算出来的四个矩阵分别代表四个下标。上面程序计算得到的四个矩阵的结果,可以跟你发的图片结果进行对比,如果一样的话,说明你的程序没有问题。 zhoupan734 发表于 2014-7-15 21:25
matlab程序为:
clc
clear all
谢谢我看看啊 你也可以试试其他的离散方法,里兹-伽辽金法,最近看这方面的内容。 dollfish000 发表于 2014-10-14 11:08
你也可以试试其他的离散方法,里兹-伽辽金法,最近看这方面的内容。
好的,谢谢
页:
1
[2]