在matlab中写入可执行函数



一切都好,

我是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

最新更新