我正在尋找一種方式來生成和繪製數據而不存儲實際數據。作爲基本示例:ListPlot是Mathematica沒有存儲列表
list = {}; idim = 40; ndiag = 100; grpSize = 4; m = idim/grpSize;
For[rank = 0, rank < grpSize, rank++,
For[j = rank*m, j < (rank + 1)*m, j++,
For[k = 0, k < ndiag, k++,
For[l = 0, l < ndiag, l++,
AppendTo[list, {k + ndiag*j, l + ndiag*j}]
]]]]
ListPlot[list]
事實上,這需要相當長的時間。大概是因爲不斷添加到列表中必須存儲。它開始的很快,但隨着名單變得越來越慢,速度變慢了。我真的只想看到填充的模式。有沒有辦法避免存儲列表,並只添加一個點到劇情?它沒有必要顯示它,因爲它已經更新,當它完成時一個圖是好的。編輯:我確實發現收割和母豬,這絕對幫助噸與速度問題,但出於純粹的好奇心,我仍然想知道如何避免存儲數據(除了情節)。
其實我的意思是我不要* *不需要動畫劇情。該表是一個很好的建議。 Reap和Sow使得實際的數據生成變得微不足道,所以現在速度並不糟糕。我希望避免存儲數據可能會被誤解。我很好奇,如果我可以避免兩次存儲。目前,我最終列出了一系列數據點和一張具有相同數據點列表的圖形。我想基本上創建一個單一的情節,然後能夠將新的數據直接納入到情節。 事實上,它實際上是C++代碼。我正在繪製矩陣的填充結構,以便我可以看到它的行爲是否正確。 – Adam 2012-02-28 11:15:15