ワークスペースから指定した変数以外の全ての変数を削除することはできますか?
82 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2009 年 11 月 17 日
編集済み: MathWorks Support Team
2021 年 2 月 17 日
複数の変数が定義されているときに、指定された変数以外の全ての変数を削除を教えてください。
例えば、
A = 1; B = 2; C = 3;
のときに、
notclear A
のような関数を実行すると、変数 A のみがワークスペースに残るといった機能です。(notclear は、既存の関数ではありません)
採用された回答
MathWorks Support Team
2021 年 2 月 15 日
編集済み: MathWorks Support Team
2021 年 2 月 17 日
ご利用のバージョンによって方法が異なります。
1. MATLAB 7.6(R2008a)以降のバージョンをご利用の場合
2. MATLAB7.0(R14)以降のバージョンをご利用の場合
3. MATLAB6.5.2(R13SP2)以前のバージョンをご利用の場合
以下、それぞれの方法についてご説明いたします。
1. MATLAB 7.6(R2008a)以降のバージョンをご利用の場合
clearvars コマンドを "-except" フラグとともに使用することで、指定した変数以外を消去することが可能です。
clearvars -except A % 変数 A 以外の変数を削除
2. MATLAB7.0(R14)以降のバージョンをご利用の場合
clear コマンドを "-regexp" フラグとともに正規表現を使用することで、指定した変数以外を消去することができます。
clear -regexp ^(?!A$). % 変数 A 以外の変数を削除
3. MATLAB6.5.2(R13SP2)以前のバージョンをご利用の場合
直接的な方法はありません。代替案としては、残したい変数を save コマンドで MAT-ファイルに保存後、全変数を消去、その後、load コマンドで変数をロード、という流れでご対応いただく形になります。
save data A % data.mat に変数 A を保存\nclear all % 変数全削除\nload data % data.mat から変数をロード
また、MATLAB Central には、同じ目的の関数として "keep.m" が公開されています。
・MATLAB Central: keep
なお、MATLAB Centralにおいてフリーで公開されているファイルの内容に関しましては、直接プログラム作成者の方にお問い合わせいただけますようお願いいたします。
0 件のコメント
その他の回答 (0 件)
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!