请教一个矩阵问题 奇怪
f=linspace(0,8000,100); w=2.*pi.*f; %define the frequency and the angular frequencyc0=340; p=2700; %define the sound speed in air and the density of steel plate
h=0.0025; theta=linspace(0,pi/2,100);
k0=w./c0; kx=k0.*sin(theta); ky=k0.*cos(theta);
S=;
C=inv(S);
D1=;
D2=;
D3=;
%Define the zero matrix and I
A11=zeros(3); A12=eye(3); A=zeros(6,6,100);
%calulate matrix A
B2=D3*C*(D3'); IVB2=inv(B2);
for j = 1:length(w)
B1(:,:,j)= (i*kx(j)*D1*C*D3')+(i*kx(j)*D3*C*D1')+(i*ky(j)*D2*C*D3')+(i*ky(j)*D3*C*D2');
B0(:,:,j)=(i*kx(j)*i*kx(j)*D1*C*D1')+(i*ky(j)*i*ky(j)*D2*C*D2')+(i*kx(j)*i*ky(j)*D1*C*D2')+(i*ky(j)*i*kx(j)*D2*C*D1');
A21(:,:,j)=-p*w(j)*w(j)*IVB2-IVB2*B0(:,:,j);
A22(:,:,j)=-IVB2*B0(:,:,j);
A=
end
矩阵A 结构是一个6*6的矩阵,共有100个该矩阵,
A11 A12;A21 A22都是3x3的子矩阵,各为A的分块矩阵
我需要用A11 A12 ;A21 A22 放入A的各自位置,构成A矩阵
如上语句就是做不出来,不能成功得到全部A的全部元素!
请高手帮我看看,哪里有问题!急啊
[ 本帖最后由 ChaChing 于 2009-5-30 20:31 编辑 ] 可以正确运行,不知你说的问题是什么,部分运行结果:
A =
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
A =
1.0e+010 *
0 0 0 0.0000 0 0
0 0 0 0 0.0000 0
0 0 0 0 0 0.0000
-1.8584 0.0000 0 0.0000 0.0000 0
0.0000 -1.8584 0 0.0000 0.0000 0
0 0 -0.0002 0 0 0.0000
……
我的问题
请楼主看运行出来的最终矩阵当中 右部分A(1:3,4:6),显示的是零元素阿,该子阵应该是一个单位阵才对啊?
A(4:6,4:6)应该附上A22子阵的内容,也显示的是零阿?
该阵实际上只把 A11 和A13部分体现出来了,为什么呢? 建议楼主设断点,看看此时的A21,A22的值,我的运行结果:
K>> A21
A21 =
0 0 0
0 0 0
0 0 0
K>> A22
A22 =
0 0 0
0 0 0
0 0 0
页:
[1]