這可能是一個長鏡頭,但我問了一個問題有關轉換的統計數據的一個工具箱碼earlyier到C#意識到這只是一個龐大而漫長的過程,並沒有太多的辦法使其自動化(真的,我想要的,因爲我提供的參考文獻解釋了爲什麼手工操作非常困難,因爲我得到的評論在哪裏:爲什麼不嘗試轉換它並詢問你卡住的位置,這顯然是我的問題不知道!)。多線程和多進口MATLAB文件
我一直在尋找這樣做的原因是因爲通過MATLAB完成進出口工作什麼的(K-手段,對大數據集的貝葉斯分類器)所需的處理時間長。所以我很好奇嘿,爲什麼不把代碼轉換成C#,並嘗試多線程和多處理,這可能提供了一種功能性的手段來減少處理時間。但顯然,它非常難以手動將所有的matlabs函數轉換爲C#以支持這一點。
所以我的問題是,如果我導入matlabs文件到C#是有可能讓他們使用/多線程中運行和多時尚或將導入的文件只需要運行,就像他們在MATLAB做什麼?
的原因(我覺得)它運行在MATLAB慢是這些功能或統計工具箱他們有的只是從具體多線程中受益:
MATHEMATICS
Arrays and matrices
• Basic information: ISFINITE, ISINF, ISNAN, MAX, MIN
• Operators: +, -, .*, ./, .\, .^, *, ^, \ (MLDIVIDE),/(MRDIVIDE)
• Array operations: PROD, SUM
• Array manipulation: BSXFUN, SORT
Linear algebra
• Matrix Analysis: DET, RCOND
• Linear Equations: CHOL, INV, LINSOLVE, LU, QR
• Eigenvalues and singular values: EIG, HESS, SCHUR, SVD, QZ
Elementary math
• Trigonometric: ACOS, ACOSD, ACOSH, ASIN, ASIND, ASINH, ATAN, ATAND, ATANH, COS, COSD, COSH,HYPOT, SIN, SIND, SINH, TAN, TAND, TANH
• Exponential: EXP, POW2, SQRT
• Complex: ABS
• Rounding and remainder: CEIL, FIX, FLOOR, MOD, REM, ROUND
Special Functions
• ERF, ERFC, ERFCINV, ERFCX, ERFINV, GAMMA, GAMMALN
DATA ANALYSIS
• CONV2, FILTER, FFT and IFFT of multiple columns or long vectors, FFTN, IFFTN
所以我不會來確定如何或以何種方式當處理接近數萬條記錄時,我可能會減少處理時間,kmeans和bayes分類器在其處理時間(可以理解)上實在難以承受。
達姆,果然不出我所期待的。我發現這個博客[加快K均值(http://webcache.googleusercontent.com/search?q=cache:5lO3bF0UDFoJ:lingpipe-blog.com/2009/03/12/speeding-up-k-means-clustering-代數 - 稀疏矢量/ + matlab + kmeans +多線程&cd = 11&hl = en&ct = clnk&gl = uk&client = firefox-a)所以我可能會弄清楚他在這裏做了什麼。 – 2012-03-19 18:28:01
感謝帖子。 – 2012-03-19 18:28:40
@Garrith這篇文章描述瞭如何優化(數學)現有的算法,如果你有數學背景,這是明確的方法,因爲在那裏你通常可以得到比x2或x4更好的執行減少。你也可以很好地瞭解你的數據,通過這些信息,你通常可以更好地優化一個算法,但是這沒有任何與並行化相關的問題,例如 – ntziolis 2012-03-19 18:38:25