实验二互信息的计算


    
    实验二 互信息计算
    信科

    1实验目
    进步熟悉互信息计算
    熟练掌握编程语言字符处理程序设计调试技术


    2实验求
    已知:信源符号英文字母(区分写)空格
    输入:篇英文信源文档
    输出:列出两字母间互信息计算均互信息



    基思想
    读入英文字符分两次读入
    第次读入计算字符信息熵第二次读入计算信道疑义度
    计算均互信息时读入英文字符转化应ASCII码存入数组中
    定义矩阵存放前两字母出现次数数组做循环p[i]指前字符p[i+1]指字符移动位矩阵元素加1直数组循环完复制矩阵分求出联合概率条件概率两矩阵应元素相矩阵元素累加信道疑义度熵减信道疑义度均互信息



    英文字符
    Each of us has such a bankIt's name is TIMEEvery morningTIME creditsyou with 86400 secondsEvery night it writes over no balances It allows no overdraftEach day it opens a new account for youEach night it burns the remains of the dayIf you fail to use the day's depositstge loss is yoursThere is no going backThere is no drawing against the tomorrowYou must live in the present on today's depositsInvest it so as to get from it the utmost in healthhappiness and successThe clock is runningMake the most of today

    #include stdioh
    #include stdlibh
    #include

    void main()
    {
    FILE *fp
    fpfopen(filetxtr)
    int di0j0
    int p[1000]存放字母
    int bcadd0
    float num[26]{0}space0
    float t
    double shang
    float f[26]{0}
    float M[27][27]{0}N[27][27]{0}
    if(fpNULL)
    {
    printf(开文件\n) exit(0)
    }


    while((dfgetc(fp))EOF)字符ASC码存入数组中
    {

    p[i++]d

    }


    for(i0p[i]>0i++)写字母转化成写字母
    {
    if(p[i]>97)
    p[i]p[i]32
    }
    printf(字符ASC码\n)
    for(int a0p[a]>0a++)
    {

    printf(d p[a])

    }

    printf(\n)

    p填入矩阵M中


    for(i0p[i]>0i++)填满矩阵M第行
    {
    if(p[i]32)
    {
    int gp[i+1]

    if(g32)
    {
    M[0][0]M[0][0]+1
    }

    else
    {
    gg64
    M[0][g]++
    }
    }
    }

    for(i0p[i]>0i++)填满矩阵行
    {

    if(p[i]32)
    {
    int hk
    hp[i]64
    kp[i+1]

    if(k>0)
    {
    if(k32)
    {k0}
    else
    {kk64}
    M[h][k]M[h][k]+1
    }
    }

    }


    求出连续两字母出现总数
    float total0
    for(i0i<27i++)
    for(j0j<27j++)
    {
    totaltotal+M[i][j]
    }

    矩阵复制
    for(i0i<27i++)
    {
    for(j0j<27j++)
    {
    N[i][j]M[i][j]
    }
    }
    求条件
    float s[27]{0}
    for(j0j<27j++)
    for(i0i<27i++)
    {
    s[j]s[j]+M[i][j]
    }
    求p(xy)存储M[27][27]中
    for(i0i<27i++)
    for(j0j<27j++)
    {
    M[i][j]M[i][j]total
    }


    求p(xy)存储N[27][27]中
    for(j0j<27j++)
    for(i0i<27i++)
    {
    N[i][j]N[i][j]s[j]
    }

    * for(i0i<4i++)矩阵输出
    {
    for(j0j<4j++)
    {
    printf(f N[i][j])
    }
    printf(\n)

    }*

    求信道疑义度

    for(i0i<27i++)
    for(j0j<27j++)
    {


    if(N[i][j]0)
    {
    M[i][j]M[i][j]*log(1N[i][j])
    }
    }


    信道疑义度
    float Hxy0
    for(i0i<27i++)
    for(j0j<27j++)
    {
    HxyHxy+M[i][j]
    }
    printf(信道疑义度\n)
    printf(fHxy)
    printf(\n)
    printf(\n)




    计算熵
    fpfopen(filetxtr)

    if(fpNULL)
    {
    printf(开文件\n) exit(0)
    }

    while((cfgetc(fp))EOF)
    {
    if(c>'a'&&c<'z')
    num[c97]++
    else if(c>'A'&&c<'Z')
    num[c'A']++
    if(c32)
    {
    space++
    }
    }

    t0shang0
    for(i0i<25i++)
    tt+num[i]
    t+space
    printf(字母概率\n)
    for(i0i<25i++)
    {
    f[i]num[i]t
    if(f[i]0)
    printf(cf 97+if[i])
    }

    float ps
    printf(space f\npsspacet)

    for(i0i<25i++)
    {
    if(f[i]0)shangshangf[i]*log(f[i])
    }
    if(ps0)
    shangps*log(ps)
    printf(\n信息熵fshang)
    fclose(fp)
    printf(\n)
    float I
    IshangHxy
    printf(\n)
    printf(均互信息I(XY)\n)
    printf(f\nI)
    printf(\n)
    }



    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    材料计算实验报告

    通过本课程设计,了解当代计算材料学之材料设计和计算及模拟的理论基础、发展历程。初步掌握LINUX系统的基本操作、脚本编写。熟悉常用的材料计算软件的使用,并能够通过模拟计算,获得常见的简单晶体结构...

    4年前   
    1300    0

    计算机实验报告

    计算机实验报告  课程:大学计算机基础         班级 : *****          学号:**       姓名:***  组别:        同组者姓名:           ...

    10年前   
    615    0

    计算机基本组成实验

    一、 实验原理 在计算机中,CPU是运算中心和控制中心,系统中的所有设备都是通过三条总线(DB数据总线、AB地址总线、CB控制总线)以及相应的输入/输出接口与CPU相连的,本实验就是在熟悉计...

    15年前   
    17840    0

    数值计算方法实验报告

    学 生 实 验 报 告实验课程名称 数值计算方法I 开课实验室 数学实验室 学 院 理学院 年...

    1年前   
    430    0

    信息论第二次实验报告——信道容量的计算

     《信息论与编码》 实 验 报 告指导老师:____ ...

    1年前   
    1009    0

    化学计算与测量实验5紫外吸收光谱的计算

    实验5 紫外吸收光谱的计算一、实验目的:(1)掌握紫外吸收的基本原理(2)熟悉溶液中的计算(3)学会如何看MO二、实验原理1、溶剂效应的理论方法1)超分子方法 解决构象问题,、计算量问题,和外...

    1年前   
    496    0

    计算机上机实验内容及实验报告要求

    计算机上机实验内容及实验报告要求  一、《软件技术基础》上机实验内容  1.顺序表的建立、插入、删除。  2.带头结点的单链表的建立(用尾插法)、插入、删除。  二、提交到个人10m硬盘空间的...

    12年前   
    776    0

    化学计算与测量实验之实验4分子振动

    实验4 分子振动实验目的(1) 完成H2O分子、CO2分子、氯代环丙烷分子、正丁酸分子的计算,掌握红外光谱的吸收图的绘制和每个振动的模式的分子图;找出实验的数据进行对比(2) 从理论上剖析振...

    1年前   
    679    0

    计算机图形学实验报告

    计算机图形学实验报告 一、 实验题目:利用计算机编程语言绘制图形,主要实现以下内容:(1)、中点算法生成任意斜率直线,并设置线型线宽。(2)、中点算法生...

    2年前   
    439    0

    计算机基本组成实验报告

    电 子 科 技 大 学 实验报告   学生姓名:                           学 号:   一、     实验室名称:  计算机学院硬件实验室   二、 ...

    12年前   
    12520    0

    计算机组成原理实验指导书

     计算机组成原理 实验指导书 目 录 实验一 8位算术逻...

    5年前   
    1511    0

    计算机应用基础实验报告

    目的:理解微型计算机的结构和工作原理,掌握组装一台微型计算机所需的硬件由几分钟组成,并学会配置微机硬件配置。

    6年前   
    3385    0

    计算机图形学实验报告(例文)

    计算机图形学实验报告(例文)  计算机图形学实验报告   0900213 38 8 郭佩佩  实验一  建立计图实验环境 1. 实验目的 为了体现面向对象的程序设计思想,本实验采...

    2年前   
    673    0

    计算机组成原理实验报告

    计算机组织与体系结构实 验 报 告评 语:成绩教 师: 年 月 日班 级: ________学 号: __________...

    1年前   
    441    0

    计算机组成原理实验报告 (2)

    计 算 机 组 成 原 理 实 验 报 告Computer Organization Lab Reports__________________________________________...

    1年前   
    488    0

    计算机网络实验报告

    1.理解电子邮件的工作原理;2.掌握电子邮件的申请方法;3.掌握电子邮件的使用方法。

    3年前   
    656    0

    计算机图形学实验报告

    《计算机图形学》实验报告姓 名: 学 号: 班 级: 计算机班 ...

    6个月前   
    207    0

    计算机网络实验报告

    1、观察教学机房,了解计算机网络结构,并画出计算机网络拓扑结构图。 2、了解计算机网络中的网络设备,并了解每台计算机上使用的网络标识、网络协议。 3、制作2根直通双绞线和2根交叉线,并测试。 4...

    4年前   
    1635    0

    计算机组成原理实验报告 (1)

    郑州航空工业管理学院计算机科学与应用系实验报告课 程 名: 计算机组成原理 学 号: 姓 名: ...

    1年前   
    401    0

    DSP设计科学计算器实验报告

    基于DSP的科学型计算器设计一、题目要求:基于DSP F2812利用实验箱及软件编程设计一款科学型计算器使其满足如下功能:(1) 能够实现按键数值的识别,并在数码管上显示(2) 能够进行简单的...

    3年前   
    554    0

    文档贡献者

    文***品

    贡献于2020-08-04

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档