我想弄清楚如何將matlab中的del2()函數移植到C++。2D離散拉普拉斯(del2)在C + +
我有一對夫婦,我與工作的遮光罩,一和零,所以我寫了代碼liket他:
for(size_t i = 1 ; i < nmax-1 ; i++)
{
for(size_t j = 1 ; j < nmax-1 ; j++)
{
transmask[i*nmax+j] = .25*(posmask[(i+1)*nmax + j]+posmask[(i-1)*nmax+j]+posmask[i*nmax+(j+1)]+posmask[i*nmax+(j-1)]);
}
}
計算拉普拉斯算子的內部點。我認爲根據matlab中「doc del2」的一些信息,邊界條件只是使用可用的信息來計算,對吧?所以我想我只需要寫我的邊界條件的情況下,在我,j = 0和nmax
但是,我認爲這些值從我在這裏發佈的代碼將是正確的內部點是,但它看起來像del2的結果是不同的!
我通過DEL2源挖,我想我不夠一個matlab嚮導弄清楚是怎麼回事了一些代碼的內部運算
原來我忘記了減去實際點計算。把它解決在內部點我的問題 – Derek 2011-05-10 15:14:57
酷,對於邊界(外部)點他們(Matlab)使用線性外推。但是,我從未見過這種情況,我不知道它是否符合任何標準邊界條件(如Neumann或Dirichlet)。 – 2011-05-10 16:02:02