String 关于Matlab的问题:将字符串作为拆分参数传递给函数

String 关于Matlab的问题:将字符串作为拆分参数传递给函数,string,function,matlab,String,Function,Matlab,嘿,那里, 我有以下问题: 我在matlab中有一个字符串: str='foo bar' 我想将其用于某个命令: mex(..., str) 这不起作用,因为mex将str作为一个参数处理(因此作为mex(…,'foo bar'))。如何做到这一点,matlab将其识别为如下函数调用: mex(..., 'foo', 'bar') 在这个特定的例子中,我没有使用两个参数对其进行硬编码,它也可能在字符串扩展为str='foo bar blupp'->传递为mex(…,'foo','bar',

嘿,那里, 我有以下问题: 我在matlab中有一个字符串:

str='foo bar'
我想将其用于某个命令:

mex(..., str)
这不起作用,因为mex将
str
作为一个参数处理(因此作为
mex(…,'foo bar')
)。如何做到这一点,matlab将其识别为如下函数调用:

mex(..., 'foo', 'bar')
在这个特定的例子中,我没有使用两个参数对其进行硬编码,它也可能在字符串扩展为
str='foo bar blupp'
->传递为
mex(…,'foo','bar','blupp')

谢谢

用于转换为单元格数组,然后使用
{:}
索引将其扩展回“逗号分隔列表”

其中最后一行与

fprintf( 'Hello: %s\n', 'foo', 'bar', 'baz' )

好的,我现在自己这样做了:用
mex(…,
than循环
str
中的所有单个参数,并将它们附加到字符串中。than作为命令评估字符串!几乎总是有一种方法可以避免“eval”。是的,你只需要知道如何。我不知道
{:}
语法,不知道如何搜索类似的东西。这是如何命名的?因为即使知道了这个命令,我也想了解它,但谷歌在搜索
matlab{:}
@Col Heather:你必须搜索术语“逗号分隔列表”,您应该可以访问。好的,谢谢。只是为了以后搜索此线程主题:
stread
将替换为
textscan
->
fprintf( 'Hello: %s\n', 'foo', 'bar', 'baz' )