Clear Filters
Clear Filters

ライブスクリプト内の​出力の一部をコマンド​ウィンドウ上に出力す​る方法について

11 views (last 30 days)
FS
FS on 10 Jun 2024
Edited: FS on 14 Jun 2024
ライブスクリプト(.mlx)でスクリプトを書いています.そのライブスクリプト内で使用している関数でdispやfprintfといった表示・出力を行う処理がある場合,実行したときにライブスクリプト内に多くの文字列が出力され,可読性が損なわれてしまい困っています.
一部の文字列の出力をライブスクリプト内でなく,コマンドウィンドウ上もしくは別ファイルに書き込む方法はありますでしょうか.もしくは一部を出力させない方法はありますでしょうか.
関数内のdispやfprintfを削除すれば良い話といえばそれまでなのですが,配布されているtoolbox内の関数による出力であるため,関数内については修正せず,ライブスクリプト内で出力の変更を行いたいと考えております.
解決策をご存じの方がいらっしゃいましたら教えていただけますと幸いです.
  1 Comment
FS
FS on 14 Jun 2024
Edited: FS on 14 Jun 2024
問題が解決しないため,英語でも同様の質問をいたしました.日本語,英語どちらでも回答をお待ちしておりますので,本件に関してご存じの方がいらっしゃいましたら,ご教示いただけますと幸いです.

Sign in to comment.

Answers (1)

Hiro Yoshino
Hiro Yoshino on 11 Jun 2024
大抵の組み込み関数に結果の出力を「する・しない」のオプションがあるのはご存じですか?それを使って制御する方法が有ります。
また、コードの最後に「;」セミコロンを入れておくと、出力がスクリプト上に出てこないと思います。
上記で解決しなければ、具体的な関数を教えていただければ対応できるかもしれません。
  2 Comments
FS
FS on 11 Jun 2024
Hiro 様
迅速なご回答ありがとうございます.
  • 大抵の組み込み関数に結果の出力を「する・しない」のオプションがあるのはご存じですか?それを使って制御する方法が有ります。
はい,存じております.
公式の関数ですと出力を表示するかどうかを選べるものが多いと思いますが,ユーザーが善意で作成・配布してくださったファイルですと選べないようなパターンがあり,お伺いさせていただいた次第です.
  • また、コードの最後に「;」セミコロンを入れておくと、出力がスクリプト上に出てこないと思います。
こちらについても存じております.しかし特定の関数があり,その関数内にdispやfprintfなどがあるとmlx上に出力されてしまいませんか?その場合の出力を表示させない,もしくは出力先をコマンドウィンドウや別ファイルに変更する方法を探しています.
  • 上記で解決しなければ、具体的な関数を教えていただければ対応できるかもしれません。
fprintfなどで関数内で出力を行うtoolboxは多くあると思いますが,例えば以下のようなtoolboxです.
以上よろしくお願いいたします.
FS
FS on 11 Jun 2024
補足:上記にtoolboxのURLのみを貼りましたが,あまり一般向けのtoolboxでないため,追記して説明いたします.上記のtoolboxは,脳波解析用のスクリプトであり,toolbox内の関数を用いると解析に加えて,その内容に関する情報をfprintfなどで出力してくれます.不親切な返信となってしまい申し訳ありません.
また,この問題に関する最小限の検証スクリプトを追記します.以下のようにmlx内で記述されている場合,出力をコマンドウィンドウもしくは他のファイルに変更することは可能でしょうか.
どなたかお知恵を貸していただけますと大変助かります.何卒よろしくお願いいたします.
outputtest;
This is test output.
function [] = outputtest()
disp('This is test output.')
end

Sign in to comment.

Categories

Find more on MATLAB 入門 in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!