0

美好的一天,

我是 matlab 新手,我对大多数 matlab 函数的人都不熟悉,希望能从你那里得到一些提示..

问题是我想要执行系统功能之一。更准确地说,我要求用户输入一个字符串,我想将此字符串传递给执行该字符串的函数并将输出返回给我

例如

input: dog

把狗传给!wn

函数应该是这种形式!wn dog 'parameter' 。可执行函数。我想执行这个函数而不是把!wn dog 'parameter'. 在 matlabe 命令中,如果我使用系统函数然后使用它,它就可以工作

>> !wn dog param

上面的命令在命令环境中工作,但是如果我想要用户的输入并将输入放入该函数并执行它,我希望输出是这样的。只是想知道如何使它可以从 mat 文件中执行

我试着这样做

 keyword= 'dog'; % 

  x = system('wn'); % this to execute the system function

  output= strcat('!wn',  keyword)

非常感谢您的友好回答。

谢谢

4

1 回答 1

1

我不确定!调用系统函数的形式是否适用于您的情况。它似乎主要被设计为在命令窗口中使用的快捷方式,并且不提供捕获输出的方法。但是,您可以system像这样使用该函数:

[~,result] = system(['wn ' input ' ' params]);

或者您可以将其概括一下并将其转换为函数:

function result=call_wn(input,varargin)
[status,result] = system(['wn ' input sprintf(' %s',varargin{:})]);

这允许可变数量的参数,包括无。input是必须的。我猜你在 Windows 上(我不知道“wn”命令是什么),所以也检查一下dos.

于 2013-06-01T23:22:33.320 回答