作者moussorgsky (法國號有氣質)
看板CodeJob
標題Re: [發案] C++改寫及修改研究用程式
時間Thu Oct 13 13:57:01 2011
※ 引述《alubame (請停止癡肥的行為)》之銘言:
: 凡是「*[30m」開始的行,都請使用 Ctrl + y 刪除。
: 請注意:發案人須主動更改標題[]內與內文之案件狀態(發案,成案,結案),
: 案件狀態、發案人、聯絡方式1、有效時間、專案說明為必填項目,
: 新增所在地區一欄,用來描述專案執行、施作所在地區。方便接案人判斷是否
: 有交通成本與執行障礙,並減少發案無效徵詢次數。如完全透過網路交/發案
: 可以寫 網路 或加註地區 網路/台北 。
: 如果對於發案文章格式有不清楚的地方,請參考置底文章:[發案] 發案範例
: 案件狀態:發包中
: 發案人:胡先生
: 聯絡方式1:手機091693701
: 聯絡方式2:email: noaluba@gmail.com
: 所在地區 :台北市
: 有效時間:即日起至10月20日,承接後2週內完成
: 專案說明:
: 1. 這個程式目的是模擬油井開採時的產量及壓力變化。
: 我使用過Matlab寫過2D類似的程式,但是因為某些目的改變了演算法,也需要
: 改變成三維模擬,Matlab無法處理那麼大型的矩陣和資料,所以才打算使用
: C++改寫程式。
: 2. 程式的流程圖及演算法我都有,但一定要當面詳談才能解釋清楚。
: 3. 有時間壓力,希望在本週能見面,在2週後就能拿到程式。
: 預算:8K, 但可議
: 接案者要求:能盡快完成2~3000行程式, 熟C++, 熟大型向量、矩陣運算者
: 接受新手承案否:來電洽談
: 附註:
: (以下內容鼓勵結案後填寫,可以詢問接案人願不願意暴光接案身份)
: 結案意見:
: 接案人:
: 評價(0-10):
: 說明:
我是112博班的,今年最後一年了~
我做數值分析 與 計算流體力學(包括熱流)將近十年了,常使用大型向量、矩陣
運算,也發了幾篇paper。C++、Matlab、Fortran我都滿熟的~
以下我只想簡單地給原po一個觀念:
Matlab在處理大型的矩陣和資料上的確比較辛苦,因為它幾乎是用「滿矩陣」的
觀念在寫程式的。所以很多研究生才會改用C++或Fortran寫他們研究用的程式。
我做的研究剛開始當然是二維的,大約五年後開始嘗試做三維的。
我花了一些時間才做出三維的。
在這裡我要給原po的觀念就是:從 二維 到 三維,你千萬不能以為只是從 2 變
到 3 而已,也就是增加的量不是原來的一半而已!
這道理很簡單,二維你做長100 乘以 寬100。
到了三維,即便你的高只有10而已,整個計算域的格點馬上從一萬變成十萬。
很多程式甚至不是你用雙核心就可以跑得動的......
再多說一些,如果你稍微懂一點流體力學,你就會知道,很多物理量在二維時只
有兩個,但在三維時是六個!渦度在二維時只有一個,在三維時卻有三個。
所以,不僅格點增加很多,連物理量也增加了。想要處理三維的case,絕不是從
2 變到 3 那麼簡單的。
(我看過很多書的作者,書裡有寫二維和三維的理論,也有提供二維的程式碼,
但他三維的程式碼是要另外賣的,常常是三、五萬跑不掉的!)
如果接案人不懂你的研究領域,光是讀懂流程圖及演算法,大概就需要一、兩個
星期了吧?!
更遑論是要從二維做到三維的。
我也遇過好些研究生,光是把程式碼從Matlab轉寫成C++ 或是 從Fortran轉寫成C++
就花了半年。這些研究生(通常是碩班的)的指導教授往往都是說:「你只要重新
寫出C++的程式碼,再稍微改一下case的某些條件,我就讓你畢業了!」
原po的需求不僅是要把Matlab轉寫成C++,更是要從二維進展到三維。
以我做這麼多年數值方面研究的經驗,我個人是覺得,沒有個三個月,可能很難達
成吧?!
關於價錢,我只提一點點,因為畢竟「研究用」的程式碼比較無法像那些遊戲或是
網站是要商業化的,要賺錢的,所以在寫法上會比較無法general。
比較有名的商業軟體像Sobek或是FLUENT,都是80萬~100萬左右,很多國內的研究
室都是用「租的」(用簽約的方式,因為買不起)。當然這些軟體都是一個team,
好幾個碩士、博士一起開發的。
我是不知道原po的需求值不值得開價到80K,但我肯定絕對不只值8K。
幫一些外面的小公司寫flash的小遊戲就不止8K了......
我沒有任何引戰的意思,只是純粹分享我的經驗而已。
如有任何批評,請不吝指教,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.8.43
推 WolfLord:正姐,喔不,正解。尤其運算要快的C/C++程式根本就是藝術 10/13 15:38
→ WolfLord:如果只是照著方程式寫,效能不會比Fortran好。畢竟電腦 10/13 15:39
→ WolfLord:算數學的方法原本就跟人類不同。用人類的方程式給電腦算 10/13 15:39
→ WolfLord:程式用來解析,重組的時間遠超過實際運算時間。 10/13 15:40
推 flylover:推經驗分享~ 接過matlab二維3x3轉 C++,結果麻煩的是理論 10/13 16:17
→ flylover:3x3轉C++二維、並擴到300x300不難,卻花一堆時間在看理論 10/13 16:18
→ dos792:用嘴教人寫,自已手不動都不止8k 10/13 22:26
→ dos792:另外寫c++比較快,是在會寫出有品質的程式假設下 10/13 22:27
→ dos792:quality 不好,作出來的東西跑是能跑,不過 hehehe... 10/13 22:28
推 lachtchlee:寫程式 卻扯流力 那我再跟你比結構動力 不用太愛現 10/14 00:22
推 allen501pc:Well,他只是用研究的角度切入罷了,跟愛現不愛現沒關係 10/14 00:30
推 sunneo:簡單的說重點在於程式碼不只這個價格 請他走路這樣 10/14 00:49
→ WolfLord:to Lachtchlee: 這裡是專案板,藉機廣告自己會什麼並不 10/14 01:04
→ WolfLord:背離板旨喔~~ 只要不是打高空,言之有物都是允許的。 10/14 01:05
→ WolfLord:另外一點就是本板政策鼓勵回文,尤其是有料得東西,用推 10/14 01:06
→ WolfLord:文的如果主文沒啥收藏意義未免可惜。 10/14 01:07
→ diabloevagto:這篇很棒啊~ 10/14 10:04
推 DigiPrince:推!用行動支持好文!XD 10/14 10:18
推 onionys:好文 10/14 11:13
推 kobenein:推 10/14 12:31
推 dontblame:寫得很中肯呀 10/14 17:53
→ jg338:程式的流程圖及演算法都有 其實你想的太複雜了耶 10/17 11:01
→ jg338:我是業界人士 高手的話真的一星期內就可以完成了 10/17 11:02
→ jg338:112博班要看你是不是從112大學畢業血統才純喔 10/17 11:06
→ jg338:因為我認識的高手有的都到MIT或Berkeley了.. 10/17 11:09
→ DigiPrince:一定有人可以,問題是 8k 買高手一個星期太廉價。 10/17 12:35
→ moussorgsky:給jg338:我在112超過10年~ 10/18 10:19