エディターでプログラムを起動させると初期に作成した変数が消えて計算出来なくなります。
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Yushin Matsumoto
le 10 Avr 2020
Commenté : Kojiro Saito
le 14 Avr 2020
エディターでプログラムを起動させると初期に作成した変数が消えて、計算出来なくなります。
なにか初期設定が必要でしょうか?
※ワークステーションを新しくして今まで使ってたプログラムで発生しました。
0 commentaires
Réponse acceptée
Kojiro Saito
le 10 Avr 2020
Modifié(e) : Kojiro Saito
le 13 Avr 2020
2020/04/13 追記
FFTという名前の関数を実行しているため、ベースワークスペースで定義した変数がFFTの関数ワークスペースに引き継がれないために起きている事象のようです。
FFTの関数の入力引数に変数yを入力しても、ベースワークスペースからは関数ワークスペースの変数yが見えません。
y = 1;
FFT(y)
途中経過を見るためには、FFTの関数の9行目にブレークポイントを設定して、yの値が正しく入力されているか確認できます。
参考: ブレークポイントを設定する
---
2020/04/10 回答
そのプログラムのどこかにclearやclear allなどのコマンドが使われている可能性があります。
clearはワークスペースを消去するコマンドなので、初期に作成した変数が消えてしまいます。
11 commentaires
Kojiro Saito
le 14 Avr 2020
解決して良かったです。関数化するとその関数の中でのワークスペースの中で処理がされ、入力引数で渡さない限りベースワークスペースの変数が引き継がれないので、今回みたいに変数が見えなくなるということもありますが、その分メモリーの使用を減らせたり、処理を高速化できたり、再利用性が上がったりなどのメリットも多くあります。
スクリプトのほうが色々と試行錯誤がしやすいので、おっしゃるとおり、まずはスクリプトで作成して、うまくいったらfunctionを付けて関数化するというアプローチが良いと思います。
もしよろしければ回答の「採用」ボタンをポチッと押してもらえると嬉しいです。
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!