maple軟件是一種編程軟件,是相對小眾的。對于在英國留學(xué)的同學(xué)來說,可能需要使用maple進(jìn)行編程。我們幫大家總結(jié)了幾個使用maple高效編寫代碼的技巧,有需要的同學(xué)可以適當(dāng)參考一下,希望對你們的學(xué)習(xí)有所幫助。
1.優(yōu)化代碼最好等到你的大部分程序都設(shè)計好并且運(yùn)行良好之后再進(jìn)行
2.在徹底分析完代碼之前,不要開始優(yōu)化代碼
Maple現(xiàn)在擁有非常復(fù)雜的分析工具,可以為你的應(yīng)用程序收集細(xì)粒度的執(zhí)行時間統(tǒng)計數(shù)據(jù)。除了捕捉重大錯誤,剖析工作在開發(fā)過程的早期或許是沒有用的。只有你在對代碼進(jìn)行嚴(yán)格的剖析之后,任何優(yōu)化嘗試才有可能成功。
3.確保你使用的是正確的算法,即最佳優(yōu)化
例如,你可以編寫一個“快速排序”算法來獲得O(n*ln(n))排序應(yīng)用程序的性能。但是,如果你的數(shù)據(jù)經(jīng)常按輸入排序,您可以實(shí)現(xiàn)O(n)性能(漸進(jìn)地)通過首先檢查排序的序列。
4.仔細(xì)檢查你的數(shù)據(jù)結(jié)構(gòu)
了解各種數(shù)據(jù)結(jié)構(gòu)支持的操作的性能特征。如果必須將表達(dá)式賦值給列表中的條目,則不要將表達(dá)式存儲在列表中,因為列表賦值會導(dǎo)致每次都復(fù)制整個列表。使用排列相反。
5.針對工作使用正確的命令
例如,不要使用sum或者prod當(dāng)...的時候add或者mul已經(jīng)足夠了。數(shù)值計算積分應(yīng)該通過計算以下形式的表達(dá)式來完成evalf( Int( expr)),它使用惰性積分運(yùn)算符(同Int)國際組織,而不是使用evalf( int( expr)),它首先嘗試計算的符號積分expr。計算線性代數(shù)可以通過使用線性代數(shù)包裹。
6.避免顯式do循環(huán)
Maple中循環(huán)的大部分用途可以被執(zhí)行迭代的快速(內(nèi)置)過程所取代。如果你需要構(gòu)建一個表達(dá)式序列(包括集合、列表、總和以及乘積),請避免通過追加來迭代構(gòu)建序列。考慮gaiyong seq、map、map2、foldl、zip、select以及remove命令中的任何一個。然而,在某些情況下,循環(huán)可能比相應(yīng)的內(nèi)置命令更快。
7.設(shè)置Digits環(huán)境變量設(shè)置為適合您的計算的值
Maple提供了無限精度的浮點(diǎn)運(yùn)算,但是浮點(diǎn)計算的許多應(yīng)用不需要高精度的計算,并且計算的成本隨著Digits。請注意,許多命令包含用于浮點(diǎn)計算的特殊代碼,設(shè)置為Digits低于硬件精度。如果你想策劃cos( x)在這段時間里 x = -Pi..Pi,請勿使用Digits:=100.
以上就是關(guān)于maple軟件高效編寫代碼的幾個小技巧,同學(xué)們在學(xué)習(xí)maple軟件的過程有任何困難,都可以找考而思的專業(yè)老師輔導(dǎo)噢!
圖片歸版權(quán)方所有,頁面圖片僅供展示。如有侵權(quán),請聯(lián)系我們刪除。凡來源標(biāo)注“考而思”均為考而思原創(chuàng)文章,版權(quán)均屬考而思教育所以,任何媒體、網(wǎng)站或個人不得轉(zhuǎn)載,否則追究法律責(zé)任。
添加微信【kaoersi03】(備注官網(wǎng))申請試聽,享專屬套餐優(yōu)惠!
kaoersi03