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

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

Risposta accettata

Kojiro Saito
Kojiro Saito il 3 Mag 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 Commento
AKIHISA FUJII
AKIHISA FUJII il 3 Mag 2023
>Kojiro Saito様
うまく動作させることが出来ました。とても助かりました。
ありがとうございました。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 起動と終了 in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!