鱼C论坛

 找回密码
 立即注册
查看: 2598|回复: 2

大佬们,怎么让C语言实现信息熵计算

[复制链接]
发表于 2022-12-27 14:39:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
可以输入任意的信源数量,以及对应数量的空间概率,从而求得任意的信息熵。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-27 14:40:27 | 显示全部楼层
不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-4 22:23:26 | 显示全部楼层
#include <math.h>
#include <stdio.h>
#define        LOG_N 2

float self_info2(float p[],int *r);
int main(){
    int                input_number=0;
    int                output_number;
    int                *r;
        float        p[input_number]; 
        float        H=0;
        
        printf("input X number:\n");
    scanf("%d",&input_number);
           
    for(int i=0;i<(input_number);i++)
    {        
            printf("input P(x):\n");
            scanf("%f",&p[i]);
            *r=i;
                H+=self_info2(p,r);
                printf("return %f\n",self_info2(p,r));
    }
        
    printf("H(x) result is:%f",H);
    return 0;
}
//求以N为底的,单个概率P的自信息 
float self_info2(float p[],int *r){
                int i;
                i=*r;
                return -p[i]*(log(p[i])/log(LOG_N));
}
这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 00:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表