原创 LU分解、LDLT分解和Cholesky分解

LU分解 概念:假定我們能把矩陣A寫成下列兩個矩陣相乘的形式:A=LU,其中L爲下三角矩陣,U爲上三角矩陣。這樣我們可以把線性方程組Ax= b寫成 Ax= (LU)x = L(Ux) = b。令Ux = y,則原線性方程組Ax = b可首

原创 判斷點和mesh的位置關係的兩種方法

判斷點和mesh的位置關係的方法有兩種: 1、根據mesh的法向量 這種方法需要首先找到裏當前點最近的mesh表面點,然後根據最近點的法向量和最近點到當前點的向量之間的夾角進行判斷,可以設定一個閾值,例如小於90度判斷當前點位於mesh的

原创 Hadoop DataNode啓動失敗

通過分析啓動日誌後發現fs.data.dir參數設置的目錄權限必需爲755,要不啓動datanode節點啓動就會因爲權限檢測錯誤而自動關閉。 我之前一直設置成chmod 777 不行,要chmod 755就可以了。。這個要在Linux的

原创 教你一步一步用c語言實現sift算法

本文轉載自:http://blog.csdn.net/v_july_v/article/details/6245939 引言:     在我寫的關於sift算法的前倆篇文章裏頭,已經對sift算法有了初步的介紹:九、圖像特徵提取與匹配

原创 根據旋轉前後的向量值求旋轉矩陣

根據旋轉前後的向量值求旋轉矩陣 如果已知旋轉前後的一向量的變化,那麼該如何求這個旋轉矩陣呢?本篇結合Rodrigues' rotation formula,介紹一下該旋轉矩陣的求法。 1.旋轉角度 已知旋轉前向量爲P, 旋轉後變

原创 C內存對齊

文章最後本人做了一幅圖,一看就明白了,這個問題網上講的不少,但是都沒有把問題說透。   一、概念         對齊跟數據在內存中的位置有關。如果一個變量的內存地址正好位於它長度的整數倍,他就被稱做自然對齊。比如在32位cpu下,假

原创 k-means++算法的c++實現

k-means++是機器學習領域一種基本的聚類算法,是k-means算法的增強版,與k-means算法的唯一區別就在於初始點的選擇上。衆所周知, 通常情況下,k-means選擇初始點都是以一種隨機的方式選擇的,選擇的初始點的好壞,對聚類的

原创 HBase簡介

一、 簡介 history started by chad walters and jim 2006.11 G release paper on BigTable 2007.2 inital HBase prototype c

原创 vs2010創建和使用動態鏈接庫DLL和lib

第一步:新建一個Win32項目,如圖: 應用程序類型選擇DLL,附加選項勾上空項目,單擊完成。 第二步:把你要創建動態鏈接庫的頭文件(.h)和源文件(.c/.cpp)添加到項目中。具體方法是將你的頭文件和源文件複製到工程目錄下。一個例

原创 Substring with Concatenation of All Words解題報告

//Runtime: 564 ms vector<int> findSubstring(string S, vector<string> &L) { int sLen = S.length

原创 SVD解線性方程組——祕密大起底

奇異值分解(SVD)是計算機視覺領域中一種使用最爲廣泛的矩陣分解技術。我們已經知道了一個矩陣A可以分解爲下面這樣一種形式: A = VDV' (1),這裏V是一個正交矩陣(AA' = I),V' 代表V的轉置, D是一個對角矩陣, 對角矩

原创 Merge k Sorted Lists

歸併排序在鏈表中的應用 Code: //Runtime: 66 ms ListNode *mergeTwoLists(ListNode *l1, ListNode *l2){ if (l1 == NULL) return l2;

原创 Sudoku Solver解題報告

該題可以用回溯法求解,對當前位置(x, y),首先求出滿足條件的數字作爲候選C,對C中的每一個元素Ci, 令board[x][y] = Ci,進行到下一個位置(x’, y‘),判斷是否滿足,如果不滿足,則令board[x][y]等於下一個

原创 PAT1093解題報告

#include <iostream> #include <string> using namespace std; long long P = 0, PA = 0, PAT = 0; int main(){ string A; c

原创 Sqrt(x)解題報告

</pre><pre name="code" class="cpp">int mySqrt(int x) { int e = 0; long long ret = 0; while((long long)(ret * ret)