wusemm 发表于 2009-5-28 16:51

关于复矩阵求逆的问题

clear;
f=linspace(0,8000,100);w=2.*pi.*f; c0=340;p=2700;   h=0.0025;                                          
theta=linspace(0,pi/2,100); k0=w./c0;                                          
kx=k0.*sin(theta);   ky=k0.*cos(theta);
%define the compliance matrix s
S=;

% define the stiffness matrix C
C=inv(S);

D1=;
D2=;
D3=;

%Define the zero matrix and
A11=zeros(3); A12=eye(3); A=zeros(6,6,100);

%Define the I matrix
I0=zeros(3); I1=eye(3);

G=;
%calulate matrix A
B2=D3*C*(D3'); IVB2=inv(B2);

%Define the I matrix,the subscript in identical to the papers.
I11=; I21=; I12=; I22=;

Itol=; IVI=inv(Itol);

   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(:,:,j)=;
      H(:,:,j)=;
      J(:,:,j)=expm(A(:,:,j));
      K(:,:,j)=inv(G)*H(:,:,j)*J(:,:,j);
      L(:,:,j)=inv(G*I21- H(:,:,j)*I21)
   end

请问下高手,我这个程序在计算L矩阵的时候,没办法运行了,在计算复矩阵 G*I21- H(:,:,j)*I21出错,是什么原因,该如何解决
在我计算机上Matlab的错误代码
??? Function 'inv' is not defined for values of class 'double' and attributes 'full 3d complex'.

[ 本帖最后由 ChaChing 于 2010-3-30 21:30 编辑 ]

friendchj 发表于 2009-5-28 18:06

能运行,但不可求逆:

L =

   Inf   Inf   Inf   Inf   Inf   Inf
   Inf   Inf   Inf   Inf   Inf   Inf
   Inf   Inf   Inf   Inf   Inf   Inf
   Inf   Inf   Inf   Inf   Inf   Inf
   Inf   Inf   Inf   Inf   Inf   Inf
   Inf   Inf   Inf   Inf   Inf   Inf

K>> G*I21- H(:,:,j)*I21

ans =

    1.0000         0 -393.8356         0         0         0
         0    1.0000 -393.8356         0         0         0
         0         0 -462.3288         0         0         0
         0   -0.0375         0         0         0         0
   -0.0375         0         0         0         0         0
         0         0    1.0000         0         0         0
此时:
K>> det(ans)
ans =
   0

wusemm 发表于 2009-5-29 12:10

matlab可以直接求复矩阵行列式不?

friendchj 发表于 2009-5-29 15:49

回复 板凳 wusemm 的帖子

试一下不就知道了吗
页: [1]
查看完整版本: 关于复矩阵求逆的问题