fid = fopen('my grandpa.txt', 'r','n','UTF-8'); str = fscanf(fid, '%c'); fclose(fid); unique_chars = unique(str); counts = histcounts(double(str), [double(unique_chars) inf]); disp('字符,频数:');% 第一位为空值 for i = 1:length(unique_chars) fprintf('%c %d \n',unique_chars(i),counts(i)); end counts_v = zeros(1, length(counts));%计算频率 for i = 1:length(counts) counts_v(i)=counts(i)/sum(counts); end length(unique_chars) model = struct('Symbol', num2cell(unique_chars), 'Probability', num2cell(counts_v));中1x49 struct array with fields: Symbol Probability
时间: 2024-04-04 09:29:08 浏览: 158
Linux下实现UTF-8和GB2312互相转换的方法
根据你的代码,这段程序的作用是读取一个名为 "my grandpa.txt" 的文件,统计文件中每个字符出现的次数,并计算每个字符出现的频率。最后,将每个字符及其对应的频率存储在一个结构体数组中。其中,结构体包含两个字段:Symbol表示字符,Probability表示对应的频率。结构体数组的长度是unique_chars的长度,即文件中出现的不同字符数。
阅读全文