Simulink工作区无法保存To workspace模块的数据解决办法
1.首先要搞清楚Workspace概念。包括基本工作區(base workspace)和函數工作區。默認條件下在命令窗口中輸入命令使用的是base workspace,但對于每個函數,都有自己獨立的工作區。
2.GUI回調函數作為function有獨立的工作區。
3.使用sim(‘model’)命令,導出到工作區的數據,默認是在調用sim函數的宿主程序。例如,在命令窗口直接調用,產生的數據在base工作區;而在回調函數調用,則變量在相應的函數工作區。
問題可能就出在這里:在回調函數中調用sim(‘model’),但試圖在base工作區找輸出的變量
解決辦法:
(1)如果可以,嘗試在回調函數中處理和使用數據;
(2)如果確實需要把數據保存到base工作區,則調用sim函數時,采用下面的做法:
這種做法強制在base工作區執行sim命令,相應產生的結果也會在base工作區中。
注:
sim(model) :使用現有模型配置參數運行指定的模型,并返回結果。
evalin(ws, expression) :執行expression,使其在工作空間ws中運行。expression是一個包含有效matlab表達式的字符向量或者字符串標量。
MATLAB base workspace 是從MATLAB命令行(不在調試器中)時看到的工作空間。caller workspace 是調用當前正在運行的函數的函數的工作空間。
參考文獻
[1]在gui中用sim(‘model’)啟動simulink后,數據沒存到workspace中,怎么解決?
總結
以上是生活随笔為你收集整理的Simulink工作区无法保存To workspace模块的数据解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求1+2+3+...+n
- 下一篇: 补码原理一个字节存储数值的范围如何计算