讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。
MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili
案例1:下表左侧给出了四名同学在三次测试中的成绩数据,请对所有同学的测试成绩进行排名,并生成一份详细的排名通知。排名通知是一个带有换行符的字符串标量,每一行包括学生的姓名、第几次测试、具体成绩以及在所有成绩中的排名,具体可参考下表右侧。
下面给出本题的代码:
案例2 : 本题选自数学建模国赛2021年B题《乙醇偶合制备 C4 烯烃》,题目中给了两个附件,其中附件1中给了一些催化剂组合,它以文本形式给出:
我们的任务就是从提供的催化剂组合中提取关键的数值指标。
以“100mg 0.5wt%Co/SiO2- 50mg HAP-乙醇浓度2.1ml/min”这个组合为例,我们可以提取以下四个指标(括号中的是单位):
- Co和SiO2的质量:100(mg)
- Co负载量:0.5(wt%Co/SiO2)
- HAP的质量:50(mg)
- 乙醇的注入速率:2.1(ml/min)
本题的数据我已经提前为大家准备好了,大家可以使用下面的代码加载数据(不会的同学可以参考本章5.3.3节或者观看讲解视频):load data_5_4_5.mat
导入成功后,工作区会出现下面的字符串数组s2(限于篇幅只准备了八行数据):
现在我们需要从s2的每一行中提取上述介绍的四个指标,并将提取的结果保存到一个8行4列的数值矩阵M中。
下面给出解决这个问题的思路:
首先观察每一行数据的结构,可以看出每一行要提取的指标由空格隔开,因此我们可以考虑使用split函数在空格处对每一行进行拆分,拆分后每一行变成了多个子字符串;
接下来我们需要从子字符串中提取每一个指标,例如第一行拆分后的第一个子字符串为“200mg”,我们需要提取出“200”,并将其转换为数值200;
最后,我们会把所有提取出来的数值指标整合到一个8行4列的矩阵M中,每行对应一个催化剂组合的四个指标,从而达成我们的分析目标。
根据上面的分析思路,我们可以写出相应的代码:
案例3 :《西游记》是中国古典四大名著之一,共分为一百回。每一回不仅有独特的标题,还包含了丰富的故事内容。大家使用load data_5_4_5.mat命令加载数据时,可以在工作区看到s3这个字符向量,s3中包含8320个字符,里面包含了西游记一百回的内容梗概。限于篇幅,下面仅给大家列举s3中包含的前三回的内容:
本题的任务有两个:
- 提取每一回的标题,将结果保存到长度为100的字符串数组H中。例如H中第一个元素为"灵根育孕源流出 心性修持大道生",第二个元素为"悟彻菩提真妙理 断魔归本合元神"。
- 统计《西游记》章回内容梗概中每一回的字数,将结果保存到长度为100的数值向量N中。具体来说,需要统计的是每一回正文的字数,不包括标题和换行符,只对正文中的文字和标点符号进行字数统计。例如第一回正文的字数为73:仅包括以下内容:东胜神洲有一花果山,山项上一仙石孕育出一石猴。石猴在所居为“水帘洞”,被群猴拥戴为王。又过三五百年,根据一老猴指点,被菩提祖师收为徒,名曰孙悟空。 因此N(1)等于73;类似的,大家可以自己数一下第二回和第三回正文的字数,结果均为51,因此N(2)和N(3)等于51。
下面给出本题的代码:
案例4 :《小王子》(The Little Prince)是法国作家安托万·德·圣-埃克苏佩里(Antoine de Saint-Exupery)于1942年创作的著名儿童文学短篇小说。
大家使用load data_5_4_5.mat命令加载数据时,可以在工作区看到s4这个字符向量,s4中有93181个字符,包含了《小王子》整本书的内容,书中开头的几段文字如下所示:
本题需要大家对《小王子》这本书进行词频分析,即计算书中每个单词出现的频次。
下面给出本题的代码:
点击下方的CSDN专栏阅读下一篇文章:文章来源:https://www.toymoban.com/news/detail-819686.html
MATLAB入门课程专栏文章来源地址https://www.toymoban.com/news/detail-819686.html
到了这里,关于第5章:5.4.5 字符串数组的综合练习(MATLAB入门课程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!