当前位置:文档之家› 迭代求信道容量

迭代求信道容量

迭代求信道容量
迭代求信道容量

迭代法求(非对称)信道容量

前言:对于给定的信道,除了对称信道之外,信道容量的计算是比较复杂的,但可以用迭代算法实现近似的信道容量。

具体细节:1..设输入变量为A (ai ),输出为B(bi),对于给定的信道,信道转移矩阵一般都为定值,设为已知,用矩阵Pa2b 表示。

2.为了提高计算效率,将累加求和等运算尽量用矩阵运算而不是循环运算。

实验数据分析:实验发现,当输入的信道转移矩阵为对称信道时,输入分布很快收敛于等概分布,然后很快的退出迭代运算而输出结果,当然这时候的结果是经检验不正确的。具体分析原因如下:

当迭代至输入分布赋值为等概(或接近等概)时,事实上我们一开始就初始化输入分布P (ai )为等概分布,由

])|()()|(ln

)|(exp[∑∑=j i i j i

i j i j i a b P a P a b P a b P α

其中)(j b P =)|()(i j i i

a b P a P ∑,当)(i a P 等概分布且信道为准对称时易得)(j b P 等概记为P

(b0)。所以])()|(log )|(exp[0b P a b P a b P i j i j j i ∑=α,由对称矩阵性质易得每行求和后数值相等。故得到i α是相等的(记为0α)。所以:

C(n ,n)=)ln())(ln())(ln())(ln(

000αααα===∑∑∑i

i i i i i i a P a P a P 而另一变量: C '(n+1,n)=)ln()max ln(0αα=i i

可见C=C ',则C-C '<ε恒成立,故退出整个迭代过程,而得不到正确的结果。 具体实现代码(matlab )如下:

%通过迭代算法求某信道的信道容量%

%设输入变量为A (ai ),输出为B(bi),对于给定的信道,信道转移矩阵一般都为定值,设为已知,用矩阵Pa2b 表示%

%为了提高计算效率,讲累加求和等运算尽量用矩阵运算而不是循环运算%

%最后为了方便调用,将其封装成一个函数。

%输入参数:信道转移矩阵:Pa2b (r*s 矩阵);误差容限:Error_Tor ,误差容限缺省值为1*10^(-2)%

%输出参数:为信道误差容限下的信道容量:Channel_Cap_Extreme ;

%和对应的最佳输入分布:Pa_opti%

%BY :独孤败%

%AT:NUPT 2010-11-18%

function

[Channel_Cap_Extreme,Pa_opti]=CapChannel_DieDai(Pa2b,Error_Tor)

%常量申明及参数检测

if(min(size(Pa2b))<=1)

error('输入的信道转移矩阵太小或出错,请检查');

end

if(nargin<2)

Error_Tor=1*10^(-2); %r如果误差容限没有给定,则缺省值为1*10^(-2)

end

%变量定义和初始化,在matlab里面变量时可以不定义和初始化的,但是为了可视性,这里定义

[NumOfIn,NumOfOut]=size(Pa2b); %根据转移矩阵获得信道输入变量和输出变量的维数(r,s)

Pa_Temper=ones(1,NumOfIn)*(1/NumOfIn); %输入概率变量,每迭代一次改变一次,初始化为等概

Channel_Cap_Temper=1+Error_Tor; %信道容量初始化为正无穷大,以便使其失效Channel_Cap_AUX=0; %辅助信道容量变量,初始化为0

Num_OF_Cyc=0; %循环迭代次数,用于测试;

while abs(Channel_Cap_Temper-Channel_Cap_AUX)>=Error_Tor

Pb_Temper=Pa_Temper*Pa2b; %获得输出概率分布(1*s=1*r * r*s)for i=1:NumOfIn

Alaph(i)=exp(sum(Pa2b(i,:).*log(Pa2b(i,:)./Pb_Temper))); %计算获取中间变量

end

PA_Temper=Pa_Temper.*Alaph; %由于下面三次用到这一累积,故单独计算,提高效率

Channel_Cap_Temper=log(sum(PA_Temper)); %获取此次循环信道容量

Channel_Cap_AUX=log(max(Alaph)); %获取此次辅助循环信道容量

Pa_Temper=PA_Temper/sum(PA_Temper); %输入概率重新赋值

Num_OF_Cyc=Num_OF_Cyc+1;

End

%循环结束获得容限误差内的最大信道容量

Channel_Cap_Extreme=Channel_Cap_Temper;

Pa_opti=Pa_Temper; %循环结束获得容限误差内的最有输入分布

信道容量的计算

§4.2信道容量的计算 这里,我们介绍一般离散信道的信道容量计算方法,根据信道容量的定义,就是在固定信道的条件下,对所有可能的输入概率分布)(x P 求平均互信息的极大值。前面已知()Y X I ;是输入概率分布的上凸函数,所以极大值一定存在。而);(Y X I 是r 个变量 )}(),(),({21r x p x p x p 的多元函数。并且满足1)(1 =∑=r i i x p 。所以可用拉格朗日乘子法来 计算这个条件极值。引入一个函数:∑-=i i x p Y X I )();(λ φ解方程组 0) (] )();([) (=∑?-???i i i i x p x p Y X I x p λ φ 1)(=∑i i x p (4.2.1) 可以先解出达到极值的概率分布和拉格朗日乘子λ的值,然后在解出信道容量C 。因为 ) () (log )()();(11 i i i i i r i s j i y p x y Q x y Q x p Y X I ∑∑=== 而)()()(1 i i r i i i x y Q x p y p ∑== ,所以 e e y p y p i i i i i y p x y Q i x p i x p l o g l o g ))(ln ()(log ) ()()() (==????。 解(4.2.1)式有 0log )()()()()()(log )(111=--∑∑∑===λe y p x y Q x y Q x p y p x y Q x y Q i i i i i r i s j i i i i s j i i (对r i ,,2,1 =都成立) 又因为 )()()(1j k k r k k y p x y Q x p =∑= r i x y Q s j i j ,,2,1,1)(1 ==∑= 所以(4.2.1)式方程组可以转化为 ),,2,1(log ) ()(log )(1r i e y p x y Q x y Q j i j s j i j =+=∑=λ 1)(1 =∑=r i i x p

实验二 离散信道及其容量

实验二离散信道及其容量 一、[实验目的] 1、理解离散信道容量的内涵; 2、掌握求二元对称信道(BSC)互信息量和容量的设计方法; 3、掌握二元扩展信道的设计方法并会求其平均互信息量。 二、[实验环境] windows XP,MATLAB 7 三、[实验原理] 若某信道输入的是N 维序列x ,其概率分布为q(x ),输出是N 维序列y ,则平均互信息量记为I(X ;Y ),该信道的信道容量C 定义为() max (X;Y)q x C I =。四、[实验内容] 1、给定BSC 信道,信源概率空间为 信道矩阵0.990.010.010.99P ??=???? 求该信道的I(X;Y)和容量,画出I(X;Y)和ω、C 和p 的关系曲线。 2、编写一M 脚本文件t03.m,实现如下功能: 在任意输入一信道矩阵P 后,能够判断是否离散输出对称信道。 3、对题1求其二次扩展信道的平均互信息I(X;Y)。 五、[实验过程] 每个实验项目包括: 1)设计思路 1、信道容量 ()max (X;Y)q x C I =,因此要求给定信道的信道容量,只要知道该信道的最大互信息量,即求信道容量就是求信道互信息量的过程。 程序代码: clear all,clc; w=0.6; w1=1-w; p=0.01;X P 0 10.60.4 =

p1=1-p; save data1p p1; I_XY=(w*p1+w1*p)*log2(1/(w*p1+w1*p))+(w*p+w1*p1)*log2(1/(w*p+w1*p1))-... (p*log2(1/p)+p1*log2(1/p1)); C=1-(p*log2(1/p)+p1*log2(1/p1)); fprintf('互信息量:%6.3f\n信道容量:%6.3f',I_XY,C); p=eps:0.001:1-eps; p1=1-p; C=1-(p.*log2(1./p)+p1.*log2(1./p1)); subplot(1,2,1),plot(p,C),xlabel('p'),ylabel('C'); load data1; w=eps:0.001:1-eps; w1=1-w; I_XY=(w.*p1+w1.*p).*log2(1./(w.*p1+w1.*p))+(w.*p+w1.*p1).*log2(1./(w.*p+w1.*p1))-.. .(p.*log2(1./p)+p1.*log2(1./p1)); subplot(1,2,2),plot(w,I_XY) xlabel('w'),ylabel('I_XY'); 实验结果: 互信息量:0.891 信道容量:0.919 I(X;Y)和ω、C和p的关系曲线图: C X 2、离散对称信道:当离散准对称信道划分的子集只有一个时,信道关于输入和输出对称。 离散准对称信道:若一个离散无记忆信道的信道矩阵中,按照信道的输出集Y 可以将信道划分成n个子集,每个子矩阵中的每一行都是其他行同一组元素的不同排列。

DMC信道容量迭代计算的matlab实现

DMC 信道容量迭代计算的matlab 实现--通信与信息系统 一、用了matlab 实现DMC 容量迭代的算法如下: 1. 初始化信源分布:.0det a 10,1,0,1)(>>=?==,选置,,k r i r P k i 一般我选deta=0.000001。 2. }{,)()()()(k ij i ji k i ji k i k ij t p p p p t 得反向转移概率矩阵由式∑=。 3. ()()()()(){}111]log exp[] log exp[+++==∑∑∑k i k i j ij k ji j ij k ji k i p P t p t p p 计算由式。 4. ()()()()()()。C t p t P I C k r i s j k ij ji k k k 10011log exp log ,+==++????????????????==∑∑计算由式 5. 若a C C C k k k det )1() ()1(>-++,则k=k+1,转第2步 6.输出迭代次数k 和()1+k C 和1+k P ,终止。 二、了解了信道容量的定义和DMC 信道容量迭代计算方法,我用了matlab 来进行编程进行迭代计算得出信道容量。不足之处在于每迭代一次就输出一次迭代次数直到最后一次迭代。 1)输入:输入信源个数、信宿个数和信道容量的精度,程序能任意生成随机的 信道转移概率矩阵,也可以自己输入信道转移矩阵。 2)输出:输出最佳信源分布和信道容量。将附件里的dmc.m 文件直接run 运行 可以自主输入信道转移概率矩阵,按照程序中提示将那两句代替判 断输入矩阵是否正确的那部分,dmc1.m 运行可以随机生成信道转移 概率矩阵。 三、检验程序 之一: 输入信源个数:2 输入信宿个数:3 输入信道容量的精度: 0.000001 输入信道转移矩阵P :[0.5000 0.3000 0.2000;0.3000 0.5000 0.2000] 之二:P :[0.4000 0.3000 0.2000;0.3000 0.5000 0.2000] 之三:P :[1.1000 -0.3000 0.2000;0.3000 0.5000 0.2000] 之四:P:[0.6 0.4;0.01 0.99] 之五:自动生成信道转移矩阵

实验二 离散信道及其容量

实验二 离散信道及其容量 一、[实验目的] 1、理解离散信道容量的内涵; 2、掌握求二元对称信道(BSC )互信息量和容量的设计方法; 3、掌握二元扩展信道的设计方法并会求其平均互信息量。 二、[实验环境] windows XP,MATLAB 7 三、[实验原理] 若某信道输入的是N 维序列x ,其概率分布为q(x ),输出是N 维序列y ,则平均互信息量记为I(X ;Y ),该信道的信道容量C 定义为() max (X;Y)q x C I =。 四、[实验内容] 1、给定BSC 信道,信源概率空间为 信道矩阵 0.990.010.010.99P ??=???? 求该信道的I(X;Y)和容量,画出I(X;Y)和ω、C 和p 的关系曲线。 2 、编写一M 脚本文件t03.m ,实现如下功能: 在任意输入一信道矩阵P 后,能够判断是否离散对称信道,若是,求出信道容量C 。 3、已知X=(0,1,2);Y=(0,1,2,3),信源概率空间和信道矩阵分别为 求: 平均互信息量; 4、 对题(1)求其二次扩展信道的平均互信息I(X;Y)。 五、[实验过程 ] X P 0 1 0.6 0.4 = X Px 0 1 2 0.3 0.5 0.2 = 0.1 0.3 0 0.6 0.3 0.5 0.2 0 0.1 0.7 0.1 0.1 P=

每个实验项目包括:1)设计思路2)实验中出现的问题及解决方法; 1)设计思路 1、信道容量( ) max (X; Y) q x C = I ,因此要求给定信道的信道容量,只要知道该信道 的最大互信息量,即求信道容量就是求信道互信息量的过程。 程序代码: clear all,clc; w=0.6; w1=1-w; p=0.01; X P 01 = 0.6 0.4 p1=1-p; save data1 p p1; I_XY=(w*p1+w1*p)*log2(1/(w*p1+w1*p))+(w*p+w1*p1)*log2(1/(w*p+w1*p1))- ... (p*log2(1/p)+p1*log2(1/p1)); C=1-(p*log2(1/p)+p1*log2(1/p1)); fprintf('互信息量:%6.3f\n信道容量:%6.3f',I_XY,C); p=eps:0.001:1-eps; p1=1-p; C=1-(p.*log2(1./p)+p1.*log2(1./p1)); subplot(1,2,1),plot(p,C),xlabel('p'),ylabel('C'); load data1; w=eps:0.001:1-eps; w1=1-w; I_XY=(w.*p1+w1.*p).*log2(1./(w.*p1+w1.*p))+(w.*p+w1.*p1).*log2(1./(w.*p+w1.*p1))- . . .(p.*log2(1./p)+p1.*log2(1./p1)); subplot(1,2,2),plot(w,I_XY) xlabel('w'),ylabel('I_XY'); 实验结果:

结构最优设计的一种自动高效迭代算法

结构最优设计的一种自动高效迭代算法 t陈树勋喻定新吴朝生 摘要论述结构优化数学规划法与准则法迭代求解的计算效率,讨论准则法遇到的两类困难与解决途径,介绍一种高效结构优化理性准则法)))导重法所使用的步长因子法及其在自动迭代计算中存在的问题,提出一种求解结构优化准则方程组的自动高效迭代算法)))类埃特金法,大量算例表明,该算法具有优化效率高,无需人为干预,适用范围广的优点。 关键词:结构优化导重法步长因子类埃特金法 中图分类号:T H166文献标识码:A文章编号:1671)3133(2004)04)0077)04 An automatic and efficient iteration algorithm of structural optimization t Chen Shuxun,Yu Dingxin,Wu C haosheng Abstract Discusses the efficiency of iteration computation of mathematics program method and criterion method of structur al optimizatio n,discusses two kinds of difficulties that ar e encounter ed w hen criterio n method is used and the approaches of solv ing t hese difficult ies,and introduces the method of step-length factor which is used by a efficient method of structure optimization) G uide-W eigh Method.Finally,an automatic and efficient algor ithm to so lve a g roup of criterion equations of structure opt imiza-tion is pro posed and is call Atken-Analog Algor ithm.It was proved by examples that the algorithm has the advantages of high ef-ficiency,no need of being interfered by peo ple and wide applicable field. Key words:Structure optimization Iteration efficiency Guide-Weigh Method Aitken-Analog Algorithm 一、结构优化迭代算法的困难 11结构优化的迭代格式与优化效率 结构优化方法与迭代算法越来越多,但大多数优化算法不是应用范围窄,就是算法繁杂,编程困难。为此,需寻找一种应用范围广,计算效率高,算法稳定,无需人为干预,编程简单的结构优化方法及其迭代算法。 结构优化方法主要有数学规划法与准则法两大类。数学规划法的本质是根据当前设计点的形态函数及其导数信息,确定寻优方向和步长,一步一步地逼近最优点。其迭代通式为X(k+1)=X(k)+A(k)S(K),其中A是迭代步长,S是迭代方向,其优点是有较强的数学基础,通用性好,可处理不同性质的优化问题。但由于结构优化问题是涉及高次非线性隐函数的非线性规划,随着设计变量与约束条件的增加,求解问题规模的加大,采用数学规划法需要的结构分析次数即迭代计算次数迅速增加,优化效率低,尤其是优化迭代的前几步优化效果不明显,因而影响其在工程结构优化实践中的推广和应用。 结构优化设计准则法的特点是事先给定结构最优的准则,把寻找最优结构问题转化为寻求满足某一准则的结构问题。早期的结构最优准则是根据经验直接给出的,如满应力准则、满约束准则及满应变能准则等,属于感性准则法,感性准则法优化效果较差。后来人们把满足结构优化不等式极值问题最优性必要条件即Kuhn-Tucker条件作为结构最优的准则,这就是理性准则法。与感性准则法相比,理性准则法具有坚实的数学基础,优化效果好,一般可保证解的最优性。结构最优准则可表达为非线性方程组:X=F(X),其优化直接迭代求解的算法格式为:X(k+1)=F(X(k))。由于结构优化准则法以满足最优准则为明确迭代方向,故有较高的优化效率;同时准则法比较直观,程序编制与规划法相比也相对简单,因而在工程实际中得到广泛应用。 21结构优化准则法优化计算的困难与解决途径 结构优化准则法优化计算的第一类困难是由优化准则不准带来的。优化准则不准使优化迭化计算得到的解并不是原结构优化问题的真正的最优解,它严重影响着结构优化准则法的优化效果。且不说感性准则法的满应力准则、满约束准则以及满应变能准则等,由于它们是根据力学经验给出的最优准则,而结构优化的本质是数学上的条件极值问题,力学感性准则不可能保证得到原结构优化数学问题的最优解,即使是利用了不等式极值必要条件)Kuhn-T ucker条件的虚功准则法也存在准则不准优化效果差的问题。 虚功准则法是国内、外流行很广的一种结构优化理性准则法,其特点是结构位移采用虚功表达。1980年,钱令希等提出了一种对多单元、多工况、多约束问题进行优化的虚功准则法。由于这种方法采用线性互补问题解法求解Kuhn-Tucker乘子,从而有效地确定

4.信道及其容量

第4章 离散信道及其容量 4.1节 离散无记忆信道(DMC, Discrete Memoryless Channel ) 什么是 “信道”? 通信的基本目标是将信源发出的消息有效、可靠地通过“信道”传输到目的地,即信宿(sink )。但什么是“信道”? Kelly 称信道是通信系统中“不愿或不能改变的部分”。比如CDMA 通信中,设备商只能针对给定的频谱范围进行设备开发,而运营商可能出于成本的考虑,不愿意进行新的投资,仍旧采用老的设备。通信是对随机信号的通信,因此信源必须具有可选的消息,因此不可能利用一个sin(〃)信号进行通信,而是至少需要两个可供发射机进行选择。一旦选择了信息传输所采用的信号,信道决定了从信源到信宿的过程中信号所受到的各种影响。从数学上理解,信道指定了接收机接收到各种信号的条件概率(conditional probability),但输入信号的先念概念(prior probability )则由使用信道的接收机指定。 如果只考虑离散时间信道,则输入、输出均可用随机变量序列进行描述。输入序列X 1, X 2,……是由发射机进行选择,信道则决定输出序列Y 1, Y 2,……的条件概率。数学上考虑的最 简单的信道是离散无记忆信道。 离散无记忆信道由三部分组成: (1) 输入字符集A ={a 1, a 2, a 3,…}。该字符集既可以是有限,也可以是可数无限。其中每个 符号a i 代表发射机使用信道时可选择的信号。 (2) 输出字符集B={b 1, b 2, b 3,…}。该字符集既可以是有限,也可以是可数无限。其中每个 符号bi 代表接收机使用信道时可选择的信号。 (3) 条件概率分布P Y |X (〃|X ),该条件分布定义在B 上,其中X ∈A 。它描述了信道对输 入信号的影响。 离散无记忆的假设表明,信道在某一时刻的输出只与该时刻的输入有关,而与该时刻之前的输入无关。或者: 1111|(|,...,,,...,)(|)n n n Y X n n P y x x y y P y x --=,n =1,2,3…. Remark: (1) n x 在信道传输时受到的影响与n 时刻以前的输入信号无关。 (2) DMC 是时不变的,即|n n Y X P 与n 无关。因此|(|)n n Y X n n P y x 可简写为|(|)Y X n n P y x 。

实验三 信道容量计算

实验三信道容量计算 一、实验目的: 了解对称信道与非对称信道容量的计算方法。 二、实验原理: 信道容量是信息传输率的极限,当信息传输率小于信道容量时,通过信道编码,能够实现几乎无失真的数据传输;当数据分布满足最佳分布时,实现信源与信道的匹配,使得信息传输率能够达到信道容量。本实验利用信道容量的算法,使用计算机完成信道容量的计算。 实验采用迭代算法计算信道容量,即:设DMC的转移概率pyx(i,j),p(i)是任意给定的一组初始给定输入分布,开始为等概率分布,以后逐次迭代更新p(i)的取值。其所有分量P (i)均不为0。按照如下方法进行操作: 具体方法: 1、计算q(j)=∑ i j i pyx i p) ,( *)(,pyx(i,j)为信道转移概率 2、计算a(i) 先算中间变量d(i)=∑ j j q j i pyx j i pyx) ( /) ,( log( *) ,( 然后,a(i)=exp(d(i)) 3、计算中间变量U=∑ i i p i a)( *)( 4、计算IL=log2(u) 5、计算IU=log2(max(a(i)) 6、当IU-IL>ε(ε为设定的迭代精度)时,进入以下循环,否则输出迭代次数n,信道容量C=IU计算结果,最佳分布p(i)。 ①重新计算p(i)=p(i)*a(i)/U ②计算q(j),方法同1 ③计算a(i),方法同2 ④计算中间变量U=∑ i i p i a)( *)( ⑤计算IL=log2(u) ⑥计算IU=log2(max(a(i)) ⑦计次变量n=n+1

返回6判断循环条件是否满足。 四、实验内容: 假设离散无记忆二元信道如图所示,编程,完成下列信道容量的计算 2e 1. 令120.1e e p p ==和120.01e e p p ==,先计算出信道转移矩阵,分别计算该对称信道的信道容量和最佳分布,将用程序计算的结果与用对称信道容量计算公式的结果进行比较,并贴到实验报告上。 2. 令10.15e p =,20.1e p =和10.075e p =20.01e p =,分别计算该信道的信道容量和最佳分布; 四、实验要求: 在实验报告中给出源代码,写出信道对应的条件转移矩阵,计算出相应结果。并定性讨论信道容量与信道参数之间的关系。

信道容量实验报告

湖南大学 信息科学与工程学院 实验报告 实验名称信道容量的迭代算法课程名称信息论与编码 第1页共9页

1.实验目的 (1)进一步熟悉信道容量的迭代算法; (2)学习如何将复杂的公式转化为程序; (3)掌握C 语言数值计算程序的设计和调试技术。 2、实验方法 硬件:pc 机 开发平台:visual c++软件 编程语言:c 语言 3、实验要求 (1)已知:信源符号个数r 、信宿符号个数s 、信道转移概率矩阵P 。 (2)输入:任意的一个信道转移概率矩阵。信源符号个数、信宿符号个数和每 个具体的转移概率在运行时从键盘输入。 (3)输出:最佳信源分布P*,信道容量C 。 4.算法分析 1:procedure CHANNEL CAPACITY(r,s,(ji p )) 2:initialize:信源分布i p =1/r ,相对误差门限σ,C=—∞ 3:repeat 4: 5: 6: C 221 1 log [exp(log )] r s ji ij r j p φ==∑∑ 7:until C C σ ?≤ 8:output P*= ()i r p ,C 9:end procedure 21 21 1 exp(log ) exp(log ) s ji ij j r s ji ij r j p p φφ===∑∑∑i p 1 i ji r i ji i p p p p =∑ij φ

5.程序调试 1、头文件引入出错 f:\visualc++\channel\cpp1.cpp(4) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory ————#include 纠错://#include f:\visualc++\channel\cpp1.cpp(5) : fatal error C1083: Cannot open include file: 'values.h': No such file or directory ————#include 纠错://#include 2、变量赋值错误 f:\visualc++\channel\cpp1.cpp(17) : error C2065: 'ij' : undeclared identifier f:\visualc++\channel\cpp1.cpp(17) : error C2440: 'initializing' : cannot convert from 'int' to 'float ** ' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast ————float **phi_ij=ij=NULL; 纠错:float **phi_ij=NULL; 3、常量定义错误 f:\visualc++\channel\cpp1.cpp(40) : error C2143: syntax error : missing ';' before 'for' ————for(i=0;iDELTA) f:\visualc++\channel\Cpp1.cpp(84) : error C2021: expected exponent value, not ' ' ————if(fabs(p_j)>=DELTA) f:\visualc++\channel\Cpp1.cpp(100) : error C2021: expected exponent value, not ' ' ————if(fabs(phi_ij[i][j])>=DELTA) f:\visualc++\channel\Cpp1.cpp(116) : error C2021: expected exponent value, not ' ' ————while(fabs(C-C_pre)/C>DELTA); 纠错:#define DELTA 0.000001; F:\visualc++\channel\Cpp1.cpp(68) : error C2065: 'MAXFLOAT' : undeclared identifier F:\visualc++\channel\Cpp1.cpp(68) : warning C4244: '=' : conversion from 'int' to 'float', possible loss of data ————C=-MAXFLOAT; 纠错:#define MAXFLOAT 1000000; 3、引用中文逗号 f:\visualc++\channel\cpp1.cpp(60) : error C2018: unknown character '0xa1' f:\visualc++\channel\cpp1.cpp(60) : error C2018: unknown character '0xb1' f:\visualc++\channel\cpp1.cpp(60) : error C2065: 'Starting' : undeclared identifier f:\visualc++\channel\cpp1.cpp(60) : error C2059: syntax error : '.'

高聚物挤出胀大的迭代稳定分步算法模拟

第46卷第2期2010年1月 机械工程学报 JOURNALOFMECHANICALENGINEERING V01.46NO.2 Jan.201O DoI:10.3901/J1ⅥE.2010.02.047 .___IL Cj 同聚物挤出胀大的迭代稳定分步算法模拟木 王伟1,2李锡夔1韩先洪3 (1.大连理工大学工业装备结构分析国家重点实验室大连116023; 2.青岛科技大学橡塑材料与工程教育部重点实验室青岛266042; 3.上海交通大学塑性成形工程系上海200030) 摘要:重构引入有限增量微积分过程的压力稳定质量守恒方程,以克服因流体不可压缩性引发的压力场空间分布虚假振荡现象。采用离散的弹性一粘性应力分裂技术以在缺失纯粘性项情况下保持动量方程弱形式中的椭圆项贡献。利用迎风流线方法离散粘弹性Phan.Thien.Tanner本构方程中的对流项,基于Crank-Nicolson隐式差分格式的迭代稳定分步算法求解质量、动量守恒方程和本构方程。用流函数法追踪和确定移动自由面,对等温低密度聚乙烯和线型低密度聚乙烯熔体的挤出胀大进j,数值模拟,数值结果与相关文献和试验结果吻合得较好。 关键词:粘弹性流有限元法分步算法挤出胀大 中图分类号:0241.82TQ336.1 SimulationofPolymerExtrusionSwellingbyUsinglterativeStabilized FractionalStepAlgorithm Ⅵ硝NGWdl’2LlXikuilHANXianhong’ (1.StateKeyLaboratoryofStructuralAnalysisofIndustryEquipment,DalianUniversityof Technology,Dalianl16023; 2.KeyLaboratoryofRubber-plastics,MinistryofEducation,QingdaoUniversityofScience& Technology,Qingdao266042; 3.DepartmentofPlasticityFormingEngineering,ShanghaiJiaoTongUniversity,Shanghai200030) Abstract:WiththeintroductiOnofthefiniteincrementalcalculusprocedureapressurestabilizedmassconservationequationiSreconstructedtoovercomespuriousoscillationsofresultingpressurespatialdistributionduetoincompressibilityoffluids.功ediscreteelasticviscousstresssplittingmethodiSusedtoretainanellipticcontributionintheweakformofthemomentumequationintheabsenceofapurelyviscouscontributionorastheviscouscontributionisnegligibleincomparisonwiththeviscoelasticcontribution.InconsistentstreamlineupwindingmethodisemployedtospatiallydiscretizetheconstitutiveequationofthePhan.Thien.Tannerviscoelasticconstitutivemodel.Themass.momentumandconstitutiveequationsarediscretizedandsolvedbytheiterativestabilizedfractionalstepalgorithmbasedonCrank—Nicolsonimplicitdiffereneescheme.ThemovingfreesurfaceiScapturedanddeterminedintermsofthestreamfunction.Theisothermalextrusionswellingsimulationsforlowdensitypolyethyleneandlinearlowdensitypolyethylenemeltsareinvestigated.Numericalresultsdemonstrategoodagreementofnumericalresultsobtainedbytheproposedalgorithmwiththosegivenintheliteratureandexperimentresults. Keywords:ViscoelasticflowFiniteelementmethodFractionalstepalgorithmExtrusionswelling 0前言 挤出工艺是高分子材料重要的加工过程,由于 ?围家自然科学基金资助项U(10590354,10272027)。20090318收到初稿20090919收剑修改稿其生产效率高、成形制品和半成品质量高,而得到广泛的应用。如挤出各种塑料、橡胶管,异形密封条、片状板材和电缆等。近年来又出现了多组分的共挤m工艺,使挤出工艺得到进一步发展,但也给挤f}{过程的研究带来了挑战。对挤出过程的模拟,可以使人们更深入地理解高分子流体的粘弹性行为,为合理设计和优化口型,选择合适的工艺条件 万方数据

正式实验报告二—信道容量的计算

一、实验目的 1.掌握离散信道的信道容量的计算方法; 2.理解不同类型信道的不同特点与不同的计算方法; 二、实验内容 1.进一步熟悉一般离散信道的信道容量计算方法; 2.进一步复习巩信道性质与实际应用; 3.学习如何将复杂的公式转化为程序。 三、实验仪器、设备 1、计算机-系统最低配置256M内存、P4 CPU; 2、MATLAB编程软件。 四、实现原理 信道容量是信息传输率的极限,当信息传输率小于信道容量时,通过信道编码,能够实现几乎无失真的数据传输;当数据分布满足最佳分布时,实现信源与信道的匹配,使得信息传输率能够达到信道容量。本实验利用信道容量的算法,使用计算机完成信道容量的计算。 实验采用迭代算法计算信道容量,即:设DMC的转移概率pyx(i,j),p(i)是任意给定的一组初始给定输入分布,开始为等概率分布,以后逐次迭代更新p(i)的取值。其所有分量P (i)均不为0。按照如下方法进行操作: 具体方法: 1、计算q(j)= i j i pyx i p) ,( *)(,pyx(i,j)为信道转移概率 2、计算a(i)

先算中间变量d(i)=∑ j j q j i pyx j i pyx) ( /) ,( log( *) ,( 然后,a(i)=exp(d(i)) 3、计算中间变量U=∑ i i p i a)( *)( 4、计算IL=log2(u) 5、计算IU=log2(max(a(i)) 6、当IU-IL>ε(ε为设定的迭代精度)时,进入以下循环,否则输出迭代次数n,信道容量C=IU计算结果,最佳分布p(i)。 ①重新计算p(i)=p(i)*a(i)/U ②计算q(j),方法同1 ③计算a(i),方法同2 ④计算中间变量U=∑ i i p i a)( *)( ⑤计算IL=log2(u) ⑥计算IU=log2(max(a(i)) ⑦计次变量n=n+1 返回6判断循环条件是否满足。 五、实验步骤 1、计算非对称信道的信道容量 运行程序

信道容量及其一般计算方法

实验一信道容量及其一般计算方法 1.实验目的 一般离散信道容量的迭代运算 2.实验要求 (1)理解和掌握信道容量的概念和物理意义 (2)理解一般离散信道容量的迭代算法 (3)采用Matlab编程实现迭代算法 (4)认真填写实验报告。 3.源代码 clc;clear all; //清屏 N = input('输入信源符号X的个数N='); //输入行数 M = input('输出信源符号Y的个数M='); //输入列数 p_yx=zeros(N,M); //程序设计需要信道矩阵初始化为零 fprintf('输入信道矩阵概率\n') for i=1:N //从第一行第一列开始输入 for j=1:M p_yx(i,j)=input('p_yx='); //输入信道矩阵概率 if p_yx(i)<0 //若输出概率小于0则不符合概率分布 error('不符合概率分布') end end end for i=1:N //各行概率累加求和 s(i)=0; for j=1:M s(i)=s(i)+p_yx(i,j); end end for i=1:N //判断是否符合概率分布 if (s(i)<=0.999999||s(i)>=1.000001) //若行相加小于等于0.9999999或者大于等于1.000001 Error //('不符合概率分布') end end b=input('输入迭代精度:'); //输入迭代精度 for i=1:N p(i)=1.0/N; //取初始概率为均匀分布(每行值分别为1/N,)end for j=1:M //计算q(j) q(j)=0; for i=1:N q(j)=q(j)+p(i)*p_yx(i,j); //均匀分布的值乘上矩阵值后+q(j),然后赋值给q(j)实现求和

缓和曲线上各种迭代算法及比较

缓和曲线各种迭代算法及比较 半只烟(850570455) 关于缓和曲线的直接计算式都是采用近似计算,因而其计算精度和参数有关,不同的参数得到的计算精度是不一样的,那么很自然的会想到,有没有一种计算方法使计算结果达到一给定的精度后才结束过程而和参数无关,答案是肯定的。通常利用程序使用数值计算的迭代方法。下面给出常用的使用迭代原理进行计算的变步长辛普森积分法和高斯-勒让德求积法,至于别的方法,此处不再详述,有兴趣的可参阅数值计算方法方面的资料。 变步长辛普森迭代求积法 变步长辛普森积分法是计算定积分∫)(b a dx x f S =的经典方法,其计算步骤如下: (1) 用梯形公式计算[] 2/)()(b f a f h T n +=,其中n=1,h=b-a,且令S n =T n 。 (2) 用变步长梯形法则计算 ∑1 2)2/(221n k k n n h x f h T T =++= 用辛普森求积公式计算 3 422n n n T T S = 若ε≥2n n S S ,则令h h n n ?2 ,?2转到步骤(2)继续计算;否则结束,S 2n 即为所求的积 分近似值。其中 为事先给定的求积精度。 由于需要对被积函数求值,先给出求解回旋线的函数值的子程序FX ,用于求解回旋线上距起点x 处的X 坐标,求解Y 坐标只需把cos(余弦函数)改成Sin(正弦函数),此处不在给出。

高斯-勒让德迭代求积法 对定积分∫)(b a dx x f S =的积分变量x 作变换2 2 a b t a b x ++ = ,将原积分转化为区间[-1,1]上的积分,即 dt t a b dt a b t a b f a b dx x f S b a )(2)22(2)(∫∫∫1 1 1 1=++== 由差值求积公式有 ∑∫ 1 1 1 )(λ)(n k k k t dt t == 其中,k t (k=0,1,2,……,n-1),为区间[-1,1]上的n 个求积结点,且, dt t A k k )(λ∫1 1 = ∏ 1 ≠,0)(n k j j j k j k t t t t t A == 如果n 个结点k t (k=0,1,2,……,n-1)取勒让德多项式

迭代求信道容量

迭代法求(非对称)信道容量 前言:对于给定的信道,除了对称信道之外,信道容量的计算是比较复杂的,但可以用迭代算法实现近似的信道容量。 具体细节:1..设输入变量为A (ai ),输出为B(bi),对于给定的信道,信道转移矩阵一般都为定值,设为已知,用矩阵Pa2b 表示。 2.为了提高计算效率,将累加求和等运算尽量用矩阵运算而不是循环运算。 实验数据分析:实验发现,当输入的信道转移矩阵为对称信道时,输入分布很快收敛于等概分布,然后很快的退出迭代运算而输出结果,当然这时候的结果是经检验不正确的。具体分析原因如下: 当迭代至输入分布赋值为等概(或接近等概)时,事实上我们一开始就初始化输入分布P (ai )为等概分布,由 ])|()()|(ln )|(exp[∑∑=j i i j i i j i j i a b P a P a b P a b P α 其中)(j b P =)|()(i j i i a b P a P ∑,当)(i a P 等概分布且信道为准对称时易得)(j b P 等概记为P (b0)。所以])()|(log )|(exp[0b P a b P a b P i j i j j i ∑=α,由对称矩阵性质易得每行求和后数值相等。故得到i α是相等的(记为0α)。所以: C(n ,n)=)ln())(ln())(ln())(ln( 000αααα===∑∑∑i i i i i i i a P a P a P 而另一变量: C '(n+1,n)=)ln()max ln(0αα=i i 可见C=C ',则C-C '<ε恒成立,故退出整个迭代过程,而得不到正确的结果。 具体实现代码(matlab )如下: %通过迭代算法求某信道的信道容量% %设输入变量为A (ai ),输出为B(bi),对于给定的信道,信道转移矩阵一般都为定值,设为已知,用矩阵Pa2b 表示% %为了提高计算效率,讲累加求和等运算尽量用矩阵运算而不是循环运算% %最后为了方便调用,将其封装成一个函数。 %输入参数:信道转移矩阵:Pa2b (r*s 矩阵);误差容限:Error_Tor ,误差容限缺省值为1*10^(-2)% %输出参数:为信道误差容限下的信道容量:Channel_Cap_Extreme ; %和对应的最佳输入分布:Pa_opti% %BY :独孤败% %AT:NUPT 2010-11-18% function [Channel_Cap_Extreme,Pa_opti]=CapChannel_DieDai(Pa2b,Error_Tor)

离散信道容量迭代实现

中文摘要 信道是信息传递的通道,承担信息的传输和储存的任务,是构成通信系统的重要组成部分。信道容量是指信道能够传输信息量的大小。信道容量的研究在现实中有着非常重要的理论意义。而信道容量的计算是一个比较复杂的问题,所以我们要借助于数学软件Matlab来解决这个难题。 本文的第一部分从信道容量的基本概念、基本原理、信道模型及分类等方面系统的介绍了信道容量。并在此基础上,介绍了一般信道容量的计算步骤。 本文的第二部分开始介绍信道容量的迭代算法及迭代算法在Matlab中的实现,举例检验迭代算法在Matlab中实现的程序的可行性 关键词信道容量 Matlab 迭代算法

Abstract Channel is a channel of information transmission. And it take on the task of information transmission and storage. Channel is an important part of communication system. Channel capacity is the size of the amount of information can be transmitted. It has important significances in reality. However, calculating the channel capacity is a complex issue. So we must use the mathematical software Matlab to solve this problem. The first part of the article, it introduces channel capacity by the basic concepts, principles and the classification of channel models. On this basis, introduce and discuss the calculation steps of the general channel capacity. The second part of the article, it introduces the Iterative algorithm of the channel capacity and implementes the iterative algorithm in Matlab. After that, by realizing the feasibility of the procedure, we make some examples. And also analyze the procedure. Key word :channel capacity、matlab

相关主题
文本预览
相关文档 最新文档