0

とても良い一日でした。

私はmatlabを初めて使用します。ほとんどのmatlab関数に精通していないため、あなたからいくつかのヒントを得ることができれば幸いです..

問題は、システム関数の 1 つを実行することです。より正確には、ユーザーに文字列を入力するように依頼し、この文字列を関数に渡して文字列を実行し、出力を返したいと考えています。

例えば

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 に答える