mam1231 发表于 2006-6-29 22:24

[求助]我编了一个程序,矩阵处理块出了问题,大家帮忙看看!谢谢

<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>

mam1231 发表于 2006-6-30 10:08

高手们帮帮我啊! 急着这个计算

linqus 发表于 2006-7-5 09:59

对频率f作个循环不就可以了么?
用for或将f定义成数组都可以。
不知有没有误解楼主的意思。
页: [1]
查看完整版本: [求助]我编了一个程序,矩阵处理块出了问题,大家帮忙看看!谢谢