[問題] 關於function與workspace已回收

看板MATLAB作者 (輕云靜語)時間14年前 (2010/06/14 09:07), 編輯推噓5(507)
留言12則, 7人參與, 最新討論串1/1
請問一下,使用function時,要如何讓所有的變數都出現在workspace裡 比如我現在執行這這兩行來測試 function xx=test a=10 這個test.m執行後,在workspace裡並沒有儲存a這個變數 請問要如何讓變數執行過後保存著... 謝謝... -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.205.180

06/14 09:20, , 1F
function [xx a]=test 把a傳回去
06/14 09:20, 1F

06/14 10:30, , 2F
您好,我剛剛試了,但並沒有傳回到workspace?
06/14 10:30, 2F
function [a]=test a=10; 這樣寫在workspace中並沒有a這個變數出現,因為我原始code有非常多的變數 都想保留著以便我debug,所以希望能將所有function裡執行過的變數全數保留.. ※ 編輯: WillienSu 來自: 140.116.205.180 (06/14 10:32)

06/14 11:05, , 3F
不要使用function?
06/14 11:05, 3F

06/14 11:06, , 4F
要保留全部變數就不要使用function
06/14 11:06, 4F

06/14 11:06, , 5F
debug完後再在第一行補上function
06/14 11:06, 5F
可是我一樣需要用到funciton這個方式,我想把幾個副函數都寫在同一個m檔裡 那麼請問一下如果不把所有的變數都輸出,只要其中幾個變數,是否有方法? 就如同上面這個一樣 function [a]=test 有沒有什麼寫法能將 a 這個值輸出到workspace裡? 還是只要用到function,就沒辦法將變數的值保留在workspace 謝謝喔.. ※ 編輯: WillienSu 來自: 140.116.205.180 (06/14 11:37)

06/14 12:56, , 6F
你的寫法其實沒有錯,我不知道為何a沒有傳出來
06/14 12:56, 6F

06/14 12:56, , 7F
你在執行test的時候是只打test還是打[a]=test?
06/14 12:56, 7F

06/14 13:41, , 8F
xx=[xx a]; %把你想要的值寫在矩陣裡
06/14 13:41, 8F

06/14 13:44, , 9F
或是F11跳進去慢慢debug
06/14 13:44, 9F

06/14 14:33, , 10F
在主程式也要設定接收回傳值得參數 就是G大說的[a]=test
06/14 14:33, 10F

06/14 18:19, , 11F
我試出來了,謝謝你們的幫忙 :)
06/14 18:19, 11F

06/15 00:14, , 12F
用 global 吧...
06/15 00:14, 12F
文章代碼(AID): #1C5O3MJe (MATLAB)