Re: [問題] kernel,dde,提醒,複製code等問題
※ 引述《harry901 (forcing to A cup)》之銘言:
: 1. Kernel的主要功能是做什麼用? 存放mathematica所有參數變數的記憶而已嗎?
: 同樣的Cell的功能是做什麼用呢? 每一個Cell是對應到同一個kernel嗎?
: 會這樣問主要是因為我的程式有
: 在同一個Cell裡面有 雙迴圈loopA 與雙迴圈loopB
: 使用同一個迴圈參數(i,j)與計算參數k k受到i,j而變化
: loop a跑完會產生A loop b跑完會產生B
: 第一次run, 產生的數據都是正確的
: 但是第二次run 只有A正確
: B的答案都是不正確(事後查到其計算參數k在loop b都是固定的)
: 而將上面的loop a,b 分兩個Cell做 也是一樣的問題存在
: 最後 只要清除Kernel 再run一次就沒問題了
: 這使得我每次都要quit kernel....
: 雖然我可以在程式最後加 Quit[] 不過Quit[]前面是一個顯示"結果矩陣"的命令
: 就會變成無法顯示"結果矩陣"(我猜應該是碰到Quit[] 來不及顯示)
也許你這個問題需要的是 Block
讓 k 在 Block[] 的範圍裡是區域變數
離開 Block[] 之後就清掉了
它的用法是 Block[{k}, 你的式子]
這樣在後面的式子計算過程中 k 就是區域變數
它在裡面時值的改變不會影響到外面的變數值
(其實當你使用迴圈時 迴圈變數在內部就是使用 Block 和外部做區隔
實際上 Block 的動作是記住這變數原本內容之後清掉
離開 Block 時再設回去這樣)
回到你的 kernel 問題
你猜的其實八九不離十
同一個 kernel 會記錄從開它開始到目前所有在它上面的計算 (包含結果和變數等)
而 cell 只是在前端分格用的格子而已
只要後端還是在同一個 kernel 上 變數或結果什麼的就都會繼承
Quit[] 可以翻前幾篇文有講到 基本上它就是把現在這個 kernel 給結束掉
在那之後執行的東西就會新起一個 kernel
因此這兩個式子才會是不同的 kernel 執行
: 2. 要將mathematica的code複製貼上來
: 發現他無法依照純文字的方式複製貼上(即使code全部都是純文字)
: 試過利用copy as->所有選項 都一樣的狀況 有辦法解決嗎?
: 這應該是編譯的問題 是不是需要轉譯呢?
其實這還滿常發生的...
除了輸入的式子可能並不適合純文字表示 (例如數學記號) 之外
Mathematica 還會幫你做斷行縮排
所以有時一段程式複製貼上之後會發現被斷得亂七八糟就是這樣...
我自己是會手動排版就是了 orz
: 3. 如果我想要在程式執行過程中 若發生問題而出現提醒視窗或警告之類的方式
: 我試著用Message[]這類的東西卻沒辦法做出來 有其他的語法可以幫忙嗎?
: 例如: If[a>b, Messages[救命阿~出錯了],]
: 上面的例子 如果不成立 希望不要顯示出來 結果出現{}空集合
: 如果成立 動都沒動 = =
因為 Message/Messages 不是用來顯示警告對話框的...
那個是 MessageDialog 在做的
另外如果希望不要顯示出來可以讓它產生 Null 做結果
於是你要的可能如下
If[a>b, MessageDialog["出事啦!"];, Null]
然後 If 如果不給第三個參數預設就是 Null
所以就也別打那個逗號了 直接寫成
If[a>b, MessageDialog["出事啦!"];]
這樣就行了
(加個分號是不要讓它顯示所產生出來的 NotebookObject )
: 4. 有辦法連到dde(動態資料)做即時運算嗎?
: 比方說連到網頁 讀取股價資料做即時運算 有相關的用法嗎?
讀取動態外部資料的部份我不太熟...可能要請其他板友支援一下了 XD
--
実琴:「河野!你真的就這樣被物質慾望給吸引過去了嗎?!」
亨:「只要穿著女裝擺出親切的樣子,所有必要花費就能全免,似乎一點都不壞啊。」
実琴:「難道你沒有男人的尊嚴了嗎?!」
亨:(斷然道)「沒有。在節衣縮食且生活吃緊的學生面前,沒有那種東西。」
--プリンセス・プリンセス 第二話
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.28.92
※ 編輯: LPH66 來自: 140.112.28.92 (10/26 12:51)
推
10/26 13:34, , 1F
10/26 13:34, 1F
推
10/28 21:57, , 2F
10/28 21:57, 2F
推
10/28 23:01, , 3F
10/28 23:01, 3F
推
11/01 12:58, , 4F
11/01 12:58, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章