我可以在 MATLAB 中对内存数据集(或单元格数组或结构等)进行 SQL 样式查询吗?
我问的原因是,有时,当我想对 1000 行数据中的每一行执行不同的操作时,我不想与数据库对话 1000 次。相反,我宁愿从数据库中读取所有 1000 个并在 MATLAB 中对它们进行操作。
例如,我已经从数据库中读取了以下内容:
age first_name last_name income
30 Mike Smith 45
17 David Oxgon 17
22 Osama Lumbermaster 3
现在我想找出25岁以下的人的全名。我知道该怎么做,但是有没有像这样干净直观的语法?
SELECT first_name + ' ' + last_name AS name FROM people WHERE age < income
在文档页面访问表中的数据(请参阅使用逻辑表达式的索引示例)中,它表明您的示例可以按如下方式实现:
MyTable({'first_name','last_name'}, MyTable.age < MyTable.income)
这些文档没有具体说明如何将名字和姓氏合并到一个变量中,但我相信这很容易。试一试,如果您得到它,请告诉我们。