!(エスケープ演算子)内で変数を用いる

4 Ansichten (letzte 30 Tage)
AKIHISA FUJII
AKIHISA FUJII am 2 Mai 2023
Kommentiert: AKIHISA FUJII am 3 Mai 2023
DNsample.exeというvisual studioでコンパイルした実行ファイルをmatlabスクリプト上で実行するため、!(エスケープ演算子)を使用しています。このファイルを実行すると、引数で指定したファイル名の画像が入手できるようになっています。
↓例
例で指定した引数の1つ目、strが得られる画像のファイル名を指しています。この例は実行可能でした。
今回、forループの中で本構文を使用し、画像のファイル名を変えていきたいのですが、エスケープ演算子内ではただの文字列として認識されるだけで、上で指定した変数を読み込んでくれているわけではなさそうです。(例の場合、ファイル名がstrとなる)
エスケープ演算子上でも変数を利用するにはどのような方法がありますでしょうか。

Akzeptierte Antwort

Kojiro Saito
Kojiro Saito am 3 Mai 2023
sprintfコマンドでフルコマンドの文字列を作り、MATLABコマンドを実行するevalで感嘆符演算子付きでおこなうか、OSのコマンドが実行できるsystemコマンドで感嘆符抜きで実現できます。
evalコマンドの例
cmd = sprintf("!DNsample.exe %s 0 -2", str);
eval(cmd)
systemコマンドの例
cmd = sprintf("DNsample.exe %s 0 -2", str);
[status,cmdout] = system(cmd)
  1 Kommentar
AKIHISA FUJII
AKIHISA FUJII am 3 Mai 2023
>Kojiro Saito様
うまく動作させることが出来ました。とても助かりました。
ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 起動と終了 finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!