下载后可任意编辑准对称 DMC 信道容量的 C++实现程序说明书山东**大学 ***科学与技术学院**工程 0704一、程序功能概述本程序使用 C++程序语言编写, 实现已知准对称 DMC 信道的转移矩阵求信道容量
下载后可任意编辑已知: 求: 准对称 DMC 的信道容量 bit/符号二、程序结构概述本程序共分三部分: 主函数、 类外函数、 类
各部分功能: 主函数: 负责程序的启动, 接收用户数据, 创立对象, 函数调用
下载后可任意编辑类外函数: 负责程序的初始化, 接收用户输入的数据
类: 完成数据计算, 输出计算结果
三、程序功能分析1
主函数创立一个二维数组 y[][], 用来存放转移矩阵
采纳数组的传址方式调用函数: input( ) , 以实现对数组的初始化
创立 dmc 类对象, 并以转移矩阵的元素个数和数组地址作为实参
依次调用 dmc 类的各成员函数, 完成数值计算
均不返回计算结果, 由成员函数直接输出到屏幕
类外函数用于接收用户输入的 input 函数: 用 for 循环完成对主函数下载后可任意编辑y[][]数组的赋值, 因为采纳传址方式, 能够直接完成对主函数数组的修改, 无须返回值
用于初始化屏幕的 Start 函数
类: dmc 类内的成员函数有: 构造函数 dmc(),析构函数~dmc(),对矩阵进行列排序的函数 paixu();条件熵计算函数 H();子阵列计算分块、 计算函数 HDMC()
(1)dmc():用主函数传递的参数对类的数据成员进行初始化, 用数组 atob[ ][ ]代表集合 P(Y|X)
提取矩阵的第一行用 Y[]存放
for (int r1 = 0; r1 < r; r1++) {for (int n1 = 0; n1 < n; n1++)atob[r1][n1] = y[r1][n1];下载后可任意编辑}for