Python:请输入一段信息,并计算这串消息的信源熵

article/2025/5/9 10:15:08

源码:

import string
import math
count=0#用counnt保存不同的符号的个数
print("请输入你想计算信源熵的信息:")
n = input()
sum_num=len(n)#字符的总个数#用list2保存不同的符号数
list1 = []
list2 = []
for i in n:list1.append(i)
for i in list1:if not i in list2:list2.append(i)count=count+1#统计不同符号出现的次数及概率
P=[]#存放概率
for i in range(0,count):c = 0#次数更新为0temp = list2[i]for j in list1:if j==temp:c=c+1px=c/(sum_num)P.append(px)print("经统计,您发送的消息中一共有{}个符号,其中有{}种不重复的符号".format(sum_num,count))
print("接下来向您展示这些符号的概率")
for i in range(0,count):print("P({})=".format(list2[i]),end='')print("%.8f"%(P[i]))
#计算信源熵
sum=0
print("\n根据熵的计算公式H=-∑{p(x)*log[p(x)]}可知,该信息的信源熵H=",end='')
for i in range(0,count):temp = math.log(P[i],2)temp1 = temp*P[i]sum = sum+temp1
output=0-sum
print("%.6f"%(output))##结果保留六位小数   

输出效果图:

 


http://chatgpt.dhexx.cn/article/vQ41eJXb.shtml

相关文章

离散无记忆与有记忆信源的序列熵

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:information-theory】,需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。 文章目录 离散无记忆信源…

连续信源微分熵+AEP

目录 一:连续信源 最大熵定理 二:渐进均分性 1:随机变量收敛性 2:大数定律 3:AEP(渐进均分性) 4:典型集 三:数据压缩 一:连续信源 1)连续随机变量的微分熵 由概率密度…

【信息论】信源与信源熵(三)

接上一节 第二章-信源与信息熵(二) 2.4 连续信源的熵与互信息 1. 实际中,连续信源 a) 幅度连续 b) 时间或频率上也连续 2. 统计特性 a) 概率密度函数 3. 用离散变量来逼近连续变量 连续信源熵 1.…

信息论基础——信源熵及其性质研究

本文仅供学习使用,如有侵权请及时联系,博主会第一时间进行处理 信源熵及其性质研究 一、实验目的二、实验原理及内容三、实验设备与材料四、实验步骤五、实验程序及运行结果六、实验总结 一、实验目的 1.掌握离散信源熵的含义及其计算方法;…

离散信源熵1

目录 一:熵的定义 二:联合熵和条件熵 三:相对熵 四:互信息 五:条件互信息 六:条件相对熵 一:熵的定义 解释:,由于P(x)介于0-1之间,大于等于0.不等式: …

离散信源的熵——信息论实验一(Matlab)

信息论与编码技术实验报告 学院: 信息科学与工程学院 班级: 2020通信工程1班 姓名: 麦兜 实验名称 实验一、离散信源的熵 实验设备 (1)计算机 (2)所用软件:Matlab或C 实…

离散信源熵2

目录 1:熵的凸性 相对熵的下凸性 熵的上凸性 2:信源的分类 3:自信息 四:离散无记忆扩展信源 五:马尔科夫信源 六:马尔可夫信源的信源熵 求解方法 计算例子 1:熵的凸性 凸函数是定义在定义…

【信息论】信源与信源熵(一)

— 主要内容 1. 信源的分类与描述 2. 离散信源的信息熵和互信息 3. 离散序列信源的熵 4. 连续信源的熵与互信息 5. 冗余度 2.1 信源的分类与描述 — 信源的定义 产生消息(符号)、消息序列和连续消息的来源。 信源的基本…

信息论实验一:信源熵的计算

本次实验是基础的计算信源熵,代码很简单。 为了便于计算,将概率和不为1的重新输入以及把概率为0删除!!! format short; %定义输出的格式 p input(p ); %输…

第二章-信源与信息熵(一)

— 主要内容 1. 信源的分类与描述 2. 离散信源的信息熵和互信息 3. 离散序列信源的熵 4. 连续信源的熵与互信息 5. 冗余度 2.1 信源的分类与描述 — 信源的定义 产生消息(符号)、消息序列和连续消息的来源。 信…

[信息论与编码] 03. 离散信源、信源熵、联合熵、条件熵

离散信源 信源即信息发出的源头,在后续的信道模型中,信源发出的信息即视为信道输入的信息。 根据信源发出信息的取值,可将信源分为离散信源和连续信源。 顾名思义,离散信源即发出的信息取值为离散型的信源;连续信源即…

Tomcat目录详解

Tomcat 1.bin:启动和关闭Tomcat2.conf3.lib4. logs5.temp6.webapps7.work Tomcat 1.bin:启动和关闭Tomcat 该目录下存放的是二进制可执行文件, 如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.…

Tomcat介绍及三种启动方式的区别

一、Tomcat的下载 二、Tomcat目录说明 三、Tomcat常用命令 四、Tomcat服务的安装 五、Tomcat启动的三种方式 六、三种启动方式的区别 七、Tomcat端口占用问题 一、Tomcat的下载 官方下载网址:http://tomcat.apache.org/,可自行下载需要的版本。 …

一、Tomcat概述

一、Tomcat概述 Tomcat是Java语言开发的,Tomcat服务器是一个免费的开放源代码的Web应用服务器,是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat属于轻量级应用服务器,在中小型系统…

Tomcat介绍使用+JavaWeb创建+打成war包部署

Tomcat简介 终端访问服务器,通过ip端口号访问,web应用部署在web服务器上,才可以”对接“ ip端口 进程交互 Tomcat、Jboss、Weblogic、Jetty Tomcat下载地址 tomcat地址 http://tomcat.apache.org 解压缩 解压过是一个文件夹 bin: 各个平台…

tomcat介绍-通俗易懂篇

我叫Tomcat:一款web服务器 如何将我们的Java代码,运行在网络上,出学时,首先接触到的一般都是Servlet以及Jsp(或掠过Jsp)而Tomcat就是这两者的容器,帮你处理动态网页部分 (一&#xf…

Tomcat介绍及安装JDK1.8

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成; java程序写的网站用tomcatjdk来运行; tomcat是一个中间件&#xf…

Tomcat介绍和安装,以及tomcat的虚拟主机配置

为什么Tomcat火了 Tomcat介绍Tomcat核心组件简述Tomcat处理请求过程Tomcat目录机构 Tomcat安装虚拟主机配置 Tomcat介绍 ●自从JSP发布之后,推出了各式各样的JSP引擎,Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器…

Tomcat基础详解

一、Tomcat目录介绍 bin: 专门用来存放Tomcat服务器的可执行程序 conf: 专门用来存放Tomcat服务器的配置文件 lib: 专门用来存放Tomcat服务器的jar包 logs: 专门用来存放Tomcat服务器运行时输出的日志信息 temp: 专门…

tomcat目录介绍

这里以apache-tomcat-8.5.69为例,目录结构如下: 一共有bin,conf,lib,logs,temp,webapps,work, 一共7个文件夹,下面来对它们分别进行介绍: &#…