讲解视频:可以在bilibili搜索“MATLAB教程新手入门篇——数学建模清风主讲”。
MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili
统计字符向量中元音字母(aeiouAEIOU)出现的频率。
c = 'I wish you and your family good health, and all the best.';
ind = ismember(c,'aeiouAEIOU');
num = sum(ind) % 元音字母出现的次数
pl = num / numel(c) % 计算频率
上述代码的思路如下(配套的讲解视频中还给出了另外两种计算的思路):
首先,定义了一个字符向量c;
接着使用ismember函数来创建一个逻辑向量ind,ismember函数检查c中的每个字符是否为元音字母(即'aeiouAEIOU'中的任何一个字符)。如果是,在对应的位置为逻辑值1,否则为逻辑值0,因此这里的ind 等于[1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0] (注意:空格、标点符号等都要被判断哦!);
使用sum(ind)计算逻辑向量ind中逻辑值1的总数,也就是元音字母在字符向量c中出现的次数,将这个值存储在变量num中,得到num等于17;
最后,将元音字母出现的次数num除以字符向量c的总长度numel(c),这样就能计算c中元音字母出现的频率pl。