Markov-ization 北京大学《音乐与数学》大作业之中所写的马尔科夫转移概率矩阵自动生成器 如题,支持生成1阶与2阶的转移概率矩阵。 使用方法: 将乐音体系数字化后的谱子用空格分隔写在input.txt之中(备注:每个音用三位数表示,百位表示时值,剩下的两位数对应乐音体系中的1-97(当然,恁要是想用0-96也无所谓,毫无影响)的数字,特别地,休止符用98表示) 运行Markov-ize.cpp。 在output.txt中查看结果。 此外,还更新了Random-Note-Generator.cpp,可以基于生成的转移概率矩阵生成随机音乐的数字化。 为了方便测试,我在此提供了样例input.txt(即音乐与数学课中的《鸿雁》节选)。 原理 以一阶的为例: 首先读入乐谱的第一、二个数字化音符,记作音符对(note_pre, note_suf),将该音符对出现的次数记录,并将以note_
2023-03-08 22:57:25 82KB C++
1
(2)二步转移概率矩阵 *
2022-05-28 11:09:13 2.41MB 马尔科夫链
1
确定一步转移概率矩阵的步骤 * *
2022-02-11 09:58:35 1.37MB Markov过程
1
研究电动汽车空间负荷预测的初始数据,电动汽车到住宅区、工业区、商业区在每个时刻的概率
1
基于转移概率矩阵的概率布尔控制网络的可控制性
2021-03-02 16:06:17 518KB 研究论文
1
[例3.6]某对称离散信道的信道转移概率矩阵P为: 1/3 1/3 1/6 1/6 1/6 1/6 1/3 1/3 计算其最佳信源概率和信道容量C。 附:程序代码如下: #include #include #define MAX 50 double Calculate_a(int k,double pa[]); double Calculate_C1(double pa[],double a[]); double Calculate_C2(double a[]); int r,s; double pba[MAX][MAX]; void main() { int i,j; double C1,C2,E; double a[MAX],pa[MAX]; E=0.000001; printf("请输入信源符号个数r:\n"); scanf("%d",&r); printf("请输入信宿符号个数s:\n"); scanf("%d",&s); printf("请输入精确度E:\n"); scanf("%lf",&E); printf("请输入信源P[ai]:\n"); for(i=0;i转移概率矩阵P[bj][ai]:\n"); for(i=0;i
1