一切都好,
我是matlab的新手,我对大多数matlab函数不熟悉,希望能从你那里得到一些提示。
问题是我想要执行一个系统函数。更准确地说,我要求用户输入一个字符串,我希望将这个字符串传递给执行该字符串的函数,并返回输出
例如input: dog
把狗传给!wn
函数应该是!wn dog 'parameter'
的形式。可执行的函数。我想执行这个函数,而不是返回!wn dog 'parameter'
。在matlab命令中,如果我使用system函数,然后使用这个
>> !wn dog param
上面的命令在命令环境中工作,但是如果我想要一个来自用户的输入,并将输入放入该函数并执行它,我希望输出是这样的。只是想知道如何使它从mat文件可执行
I tried to do this
keyword= 'dog'; %
x = system('wn'); % this to execute the system function
output= strcat('!wn', keyword)
非常感谢您的回复。
谢谢
我不确定调用系统函数的!
形式是否会在您的情况下工作。它似乎主要被设计为在命令窗口中使用的快捷方式,并且不提供捕获输出的方法。但是,您可以像这样使用system
函数:
[~,result] = system(['wn ' input ' ' params]);
或者你可以泛化一下,把它变成一个函数:
function result=call_wn(input,varargin)
[status,result] = system(['wn ' input sprintf(' %s',varargin{:})]);
允许可变数量的参数,包括none。input
是必需的。我猜你是在Windows上(我不知道"wn"命令是什么),所以也检查dos
。