2012-08-15 42 views
1

我正在秋季進行一個數值分析課,並且大量使用/編程。我有一個馬馬虎虎的程序設計背景(參加過幾門課程,並且在實習中從事Java編程),但是我想在開始這門課程之前先熟練掌握自己的技能。所以我的問題是,什麼編程技巧對數值分析有用編程和數值分析

數據結構,OOP算法非常重要嗎?在課程開始之前,我會推薦哪些資源?

+0

從理論上講,「語言」不應該很重要。在實踐中 - 看看你是否能夠找出他們正在使用的語言,並且在*課程開始之前查看是否需要使用該語言。恕我直言... – paulsm4 2012-08-15 19:07:50

+0

這門課沒有設定的語言,我正在考慮使用Java或C++。 – Emir 2012-08-15 19:25:37

+0

如果您選擇Java或C++之間...選擇Java!如果你已經熟悉Java(甚至相對錶面上),那麼你應該很樂意去參加你的課程。恕我直言... – paulsm4 2012-08-15 19:41:52

回答

1

算法和數據結構。沒有太多的OOP。在我上大學的數值分析課程中,我們在python和Matlab中做了大量的算法編程。

1

如果你想做快速原型的數值分析,你最好使用numpy和/或scipy。 python 2.7或者version 3的python教程大約120頁,可以從docs.python.org獲得,並且很容易在一天內提取。 numpy和scipy需要一些學習。

使用面向對象的收益可能很大,但需要大量的精簡。如果我使用的是C++,那麼我會使用Brian H. Flowers這本書,它可以爲您提供應用工程的快速入門知識,前5章將爲您提供編寫優秀的C++ OOP類的能力,包括編寫測試腳本等大約8小時的工作。現在的問題是許多OOP包都在標準模板庫中。許多人最終重新發明輪子,因爲他們不知道可用的東西。這就是爲什麼你可能會更好地去Python的numpy或scipy或如上所述,只是使用Matlab,因爲大多數東西都是預定義的。這兩種語言都適合快速原型製作,但如果您想要完成諸如生成有限元/有限差分網格等相關事項,則需要到Dongarra的BLAS庫。