為什麼在 Mathematica 中使用迴圈是低效的?

時間 2021-05-30 16:50:42

1樓:yi feng

沒用過該軟體,僅從寫程式的角度來回答這個問題,若有偏頗或者錯誤請提醒或者摺疊。

程式都有空間與時間之間的矛盾,也就是說某種資料結構及演算法在面對不同型別問題時不可能總是最省記憶體又算得最快的,但在面對某一類問題時是最好的。

同一問題,該軟體有多種寫法,不同寫法在內部由不同演算法和資料結構實現。你用某種寫法,就是在暗示軟體可以優化的方向,比如並行化,規約等等。

for迴圈對於許多問題而言比較接近我們的第一感覺,占用記憶體空間較少,在速度方面都比較慢。如果你會用for實現規約,迴圈展開,不一定比其他演算法慢。

2樓:老汪在戈壁

剛剛開始學習mma,做題過程中,如果遇到在百萬級別的資料中挑選某些符合條件的數,先把資料Table出來再Select確實比用For迴圈之類快些,但是感覺速度差別並不明顯。

如果資料到了千萬級別甚至更多,直接把資料Table出來分分鐘炸記憶體宕機重啟。但是迴圈結果幾乎不佔多少記憶體。

我也很想知道所謂陣列操作的正確姿勢啊。

Mathematica 為什麼沒有像matlab一樣的clear 和clc功能?

選中Delete是清屏 Clear 清除所有定義.不過我喜歡直接Quit Quit可以直接槍斃後端核心,有些定義是免疫Clear 的 Quit的話除非莫名其妙寫進ini裡了不然都能清除 清屏的問題看這裡 mathematica 清屏 順便 Clear Global 在絕大多數情況下可以簡寫成 Cle...

除了專業領域外,Mathematica 在日常生活有什麼有趣用處?

Manipulate ParametricPlot3D t 0,BoxRatios Boxed False,Axes None,Mesh None,ColorFunction RGBColor 249 256,202 256,194 256 PlotStyle Directive RGBColor ...

在 Mathematica 中,你認為哪些強大命令是你相見恨晚的?

Components和Measurements系列,知道越多越好!ComponentMeasurementsImageMeasurements MorphologicalComponentsWatershedComponents 等等 一下記不起來所有,但是真的是掌握乙個就能在很大範圍內呼風喚雨!尤...