【发布时间】:2015-04-12 09:20:05
【问题描述】:
在 Excel 中,您可以使用“过滤器”功能来查找列中的某些字词。我想在 Matlab 中对整个表格执行此操作。
以 Matlab 示例表“patients.dat”为例;我的第一个想法是使用:
patients.Gender=={'Female'}
这不起作用。
strcmp(patients.Gender,{'Female'})
只在一列中工作(“性别”)。
我的问题:我有一张桌子,上面有不同的单词,比如'A'、'B'、'bananas'、'apples'、.... 以任意方式分布在表格的列中。我只想要包含“A”和“B”的行。
奇怪的是,我没有在 matlab 的“帮助”中找到这个,因为它看起来很基础。我查看了stackedO,但也没有找到答案。
【问题讨论】:
-
绝对按照@Benoit_11 的建议使用
regexp。strcmp一次只能比较一个字符串。但是,您可以使用strcmp,如果您遍历表中的所有列并创建一个单元格数组,其中每个单元格将检索每列中与您查找的内容匹配的行。 -
我意识到我可以使用 for 循环,使用问题中所述的 strcmp 示例一次浏览一行。
-
rayryeng,我找不到你提到的@Benoit_11 示例。
-
看起来他删除了他的评论,但这无关紧要。他只是问你是否尝试过使用
strcmp或regexp。 -
好的 :) 我的问题不是我无法编写解决方案(比如使用 for 循环)。我的问题是我非常沮丧,因为我找不到一个好的方法来做到这一点。我只是想过滤一个单词表。在excel中这很简单。在matlab中?更简单??
标签: matlab matlab-table