关于Matlab的问题:将字符串作为分割参数传递给函数
嘿, 我有以下问题: 我在 matlab 中有一个字符串:
str='foo bar'
我想将它用于某个命令:
mex(..., str)
它不起作用,因为 mex 将 str
作为一个参数处理(因此作为 mex(..., 'foo bar ')
)。如何做到这一点,matlab 将其识别为这样的函数调用:
mex(..., 'foo', 'bar')
我没有在这个带有 2 个参数的特定示例上进行硬编码,它也可能会出现字符串扩展为 str='foo bar blupp '
->作为 mex(..., 'foo', 'bar', 'blupp')
传递。
谢谢!
Hey there,
I have the following problem:
I have a string in matlab:
str='foo bar'
which I want to use for a certain command:
mex(..., str)
which does NOT work since mex handles str
as ONE parameter (thus as mex(..., 'foo bar')
). How to do this, that matlab recognizes it as a function call like that:
mex(..., 'foo', 'bar')
I don't this hardcoded on this certain example with 2 Parameters, it could also come a time where the strings expands to str='foo bar blupp'
-> pass as mex(..., 'foo', 'bar', 'blupp')
.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 strread 转换为元胞数组,然后
{ :}
索引将其扩展回“逗号分隔列表”。最后一行完全等同于
Use strread to convert to a cell array, and then
{:}
indexing to expand that back to a "comma separated list".Where the last line is exactly equivalent to