如何用matlab统计文本中每个汉字的出现频率。
时间: 2024-02-19 22:57:27 浏览: 28
可以按照以下步骤使用 Matlab 统计文本中每个汉字的出现频率:
1. 读取文本文件,可以使用`textread`函数或`fopen`函数。
2. 将读取的文本文件转换为 Unicode 编码,可以使用`unicode2native`函数。
3. 对文本进行分析,统计每个汉字出现的次数。
4. 将统计结果进行排序,可以使用`sort`函数。
5. 将统计结果输出,可以使用`disp`函数。
下面是示例代码:
```matlab
% 读取文本文件
filename = 'example.txt';
fid = fopen(filename);
text = fread(fid, '*char')';
fclose(fid);
% 将文本转换为 Unicode 编码
unicode = unicode2native(text, 'UTF-8');
% 统计每个汉字出现的次数
freq = zeros(65536, 1);
for i = 1:length(unicode)
if unicode(i) >= hex2dec('4E00') && unicode(i) <= hex2dec('9FA5')
freq(unicode(i)) = freq(unicode(i)) + 1;
end
end
% 排序并输出结果
[~, index] = sort(freq, 'descend');
for i = 1:length(index)
if freq(index(i)) > 0
disp([native2unicode(index(i), 'UTF-8'), ': ', num2str(freq(index(i)))]);
end
end
```
这段代码可以统计文本文件中每个汉字出现的次数,并按照出现频率由高到低进行排序输出。注意,需要将文本文件保存为 UTF-8 编码格式。