马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
f=linspace(0,8000,100); w=2.*pi.*f; %define the frequency and the angular frequency
c0=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=[0.01 -0.0046 -0.0046 0 0 0;-0.0046 0.01 -0.0046 0 0 0; -0.0046 -0.0046 0.01 0 0 0;0 0 0 26.7 0 0;0 0 0 0 26.7 0;0 0 0 0 0 26.7];
C=inv(S);
D1=[1 0 0 0 0 0;0 0 0 0 0 1;0 0 0 0 1 0];
D2=[0 0 0 0 0 1;0 1 0 0 0 0;0 0 0 1 0 0];
D3=[0 0 0 0 1 0;0 0 0 1 0 0;0 0 1 0 0 0];
%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=[A11 A12; A21(:,:,j) A22(:,:,j)]
end
矩阵A 结构是一个6*6的矩阵,共有100个该矩阵,
A11 A12;A21 A22都是3x3的子矩阵,各为A的分块矩阵
我需要用A11 A12 ;A21 A22 放入A的各自位置,构成A矩阵
如上语句就是做不出来,不能成功得到全部A的全部元素!
请高手帮我看看,哪里有问题!急啊
[ 本帖最后由 ChaChing 于 2009-5-30 20:31 编辑 ] |