[求助]我编了一个程序,矩阵处理块出了问题,大家帮忙看看!谢谢
<P>各位高手,这是我的程序的其中一部分,若频率f为单频时,可以求出Ai是个6*6的矩阵,但若频率变化,假设是1E9,1E10,1E11,1E12,该如何求呢?也就是想每一个频率求出一个Ai矩阵。实际中频率是变化区间1E8:1E9:1E11,所以不可能手动改一次频率求一次。请大家给看看,帮帮忙!非常感谢!<BR> clear<BR>Ncond=3; % Number of conductors;<BR>Lc=0.1; % Length of condutors(m);<BR>C=1E-12*; % Capacitance coeffiecient matrix(F);<BR> <BR>L=1.0e-006 *; % Inductance coeffiecient matrix (H);<BR><BR> <BR>f=1E9; % Frequency;<BR> <BR> <BR> % Part 2: Calculate propagation constsnt [Γ]and velocity;<BR><BR>=eig(C*L)<BR>for i=1:Ncond<BR> Lamuda(i)=D(i,i); <BR>end;<BR>w=2*pi*f;<BR>for x=1:2<BR>for k=1:Ncond<BR> Gama(k,k)=j*w*sqrt(Lamuda(k));<BR> end;<BR> end;<BR> for i=1:3<BR> v(i)=w/imag(Gama(i,i)) <BR> end;<BR> <BR> % Part 3: Calculating crosstalk voltage at start and end points of No.1,3 ;<BR><BR>Y=j*w*C;<BR>E1p=exp(Lc*Gama);<BR>E2p=exp(-Lc*Gama);<BR>for k=1:Ncond<BR> E1(k,k)=E1p(k,k);<BR> E2(k,k)=E2p(k,k);<BR>end;<BR><BR>Ai11=0.5*inv(Y)*T*(E1+E2)*inv(T)*Y;<BR>Ai12=-0.5*inv(Y)*T*Gama*(E1-E2)*inv(T);<BR>Ai21=-0.5*T*(E1-E2)*inv(Gama)*inv(T)*Y;<BR>Ai22=0.5*T*(E1+E2)*inv(T);<BR>Ai=</P>高手们帮帮我啊! 急着这个计算 对频率f作个循环不就可以了么?
用for或将f定义成数组都可以。
不知有没有误解楼主的意思。
页:
[1]