| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:[求助][求助]我编了一个程序,矩阵匹配有问题!谢谢
只看楼主 加入收藏
mam1231
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-6-30
收藏
 问题点数:0 回复次数:2 
[求助][求助]我编了一个程序,矩阵匹配有问题!谢谢

这是我的程序的其中一部分,若频率f为单频时,可以求出Ai是个6*6的矩阵,但若频率变化,假设是1E9,1E10,1E11,1E12,该如何求呢?也就是想每一个频率求出一个Ai矩阵。实际中频率是变化区间1E8:1E9:1E11,所以不可能手动改一次频率求一次。请大家给看看,帮帮忙!非常感谢!
clear
Ncond=3; % Number of conductors;
Lc=0.1; % Length of condutors(m);
C=1E-12*[53.232 -3.6051 -23.423;
-3.6051 45.246 -10.996;
-23.423 -10.996 55.679]; % Capacitance coeffiecient matrix(F);

L=1.0e-006 *[0.7808 0.2049 0.4120;
0.2049 0.7862 0.2735;
0.4120 0.2735 0.7800]; % Inductance coeffiecient matrix (H);


f=1E9; % Frequency;


% Part 2: Calculate propagation constsnt [Γ]and velocity;

[T,D]=eig(C*L)
for i=1:Ncond
Lamuda(i)=D(i,i);
end;
w=2*pi*f;
for x=1:2
for k=1:Ncond
Gama(k,k)=j*w*sqrt(Lamuda(k));
end;
end;
for i=1:3
v(i)=w/imag(Gama(i,i))
end;

% Part 3: Calculating crosstalk voltage at start and end points of No.1,3 ;

Y=j*w*C;
E1p=exp(Lc*Gama);
E2p=exp(-Lc*Gama);
for k=1:Ncond
E1(k,k)=E1p(k,k);
E2(k,k)=E2p(k,k);
end;

Ai11=0.5*inv(Y)*T*(E1+E2)*inv(T)*Y;
Ai12=-0.5*inv(Y)*T*Gama*(E1-E2)*inv(T);
Ai21=-0.5*T*(E1-E2)*inv(Gama)*inv(T)*Y;
Ai22=0.5*T*(E1+E2)*inv(T);
Ai=[Ai11 Ai12;
Ai21 Ai22]

搜索更多相关主题的帖子: 矩阵 频率 Length 
2006-06-30 12:34
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 

没有错误提示啊


此人已消失
2006-07-04 11:46
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 
看了好几遍楼主的意思,实在没看明白楼主是要什么要求。只好猜测一下
clear
Ncond=3; % Number of conductors;
Lc=0.1; % Length of condutors(m);
C=1E-12*[53.232 -3.6051 -23.423;
-3.6051 45.246 -10.996;
-23.423 -10.996 55.679]; % Capacitance coeffiecient matrix(F);

L=1.0e-006 *[0.7808 0.2049 0.4120;
0.2049 0.7862 0.2735;
0.4120 0.2735 0.7800]; % Inductance coeffiecient matrix (H);


f=[1E8 1E9 1e10 1e11]; % Frequency;


% Part 2: Calculate propagation constsnt [Γ]and velocity;
for s=1:4
[T,D]=eig(C*L);
for i=1:Ncond
Lamuda(i)=D(i,i);
end;
w=2*pi*f(s);
for x=1:2
for k=1:Ncond
Gama(k,k)=j*w*sqrt(Lamuda(k));
end;
end;
for i=1:3
v(i)=w/imag(Gama(i,i));
end;

% Part 3: Calculating crosstalk voltage at start and end points of No.1,3 ;

Y=j*w*C;
E1p=exp(Lc*Gama);
E2p=exp(-Lc*Gama);
for k=1:Ncond
E1(k,k)=E1p(k,k);
E2(k,k)=E2p(k,k);
end;

Ai11=0.5*inv(Y)*T*(E1+E2)*inv(T)*Y;
Ai12=-0.5*inv(Y)*T*Gama*(E1-E2)*inv(T);
Ai21=-0.5*T*(E1-E2)*inv(Gama)*inv(T)*Y;
Ai22=0.5*T*(E1+E2)*inv(T);
Ai=[Ai11 Ai12;
Ai21 Ai22];
B(:,:,s)=Ai;
end
B

OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2006-07-04 14:17
快速回复:[求助][求助]我编了一个程序,矩阵匹配有问题!谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013269 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved