エディターでプログラ​ムを起動させると初期​に作成した変数が消え​て計算出来なくなりま​す。

7 次查看(过去 30 天)
Yushin Matsumoto
Yushin Matsumoto 2020-4-10
エディターでプログラムを起動させると初期に作成した変数が消えて、計算出来なくなります。
なにか初期設定が必要でしょうか?
※ワークステーションを新しくして今まで使ってたプログラムで発生しました。

采纳的回答

Kojiro Saito
Kojiro Saito 2020-4-10
编辑:Kojiro Saito 2020-4-13
2020/04/13 追記
FFTという名前の関数を実行しているため、ベースワークスペースで定義した変数がFFTの関数ワークスペースに引き継がれないために起きている事象のようです。
FFTの関数の入力引数に変数yを入力しても、ベースワークスペースからは関数ワークスペースの変数yが見えません。
y = 1;
FFT(y)
途中経過を見るためには、FFTの関数の9行目にブレークポイントを設定して、yの値が正しく入力されているか確認できます。
---
2020/04/10 回答
そのプログラムのどこかにclearclear allなどのコマンドが使われている可能性があります。
clearはワークスペースを消去するコマンドなので、初期に作成した変数が消えてしまいます。
  11 个评论
Yushin Matsumoto
Yushin Matsumoto 2020-4-14
お世話になります。
ご丁寧にありがとうございます。
確かにプログラムを作成している時は”Function”を付けずにスクリプトを実行していたと思います。
最後に”Function”を付けて完成させた様な記憶があります。
いろいろとご対応ありがとうございました。
Kojiro Saito
Kojiro Saito 2020-4-14
解決して良かったです。関数化するとその関数の中でのワークスペースの中で処理がされ、入力引数で渡さない限りベースワークスペースの変数が引き継がれないので、今回みたいに変数が見えなくなるということもありますが、その分メモリーの使用を減らせたり、処理を高速化できたり、再利用性が上がったりなどのメリットも多くあります。
スクリプトのほうが色々と試行錯誤がしやすいので、おっしゃるとおり、まずはスクリプトで作成して、うまくいったらfunctionを付けて関数化するというアプローチが良いと思います。
もしよろしければ回答の「採用」ボタンをポチッと押してもらえると嬉しいです。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 入門 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!