0
我試圖一些代碼從MATLAB轉換爲R.從MATLAB代碼轉換至R
我有特別的問題轉換微分方程的這一部分:
在MATLAB:
dA.*(A*N - N.*sum(A,2))
其中,Da是一個整數,A是10×10矩陣,而N是一個10×矩陣(參見下面的示例代碼)
就R到目前爲止我這有:
dA*(A*N - N*colSums(A))
但由於某種原因,它似乎沒有給出相同的結果。有沒有人有任何想法,我做錯了什麼?數據的
實施例我使用以下:
在MATLAB:
dA = 0.1;
N = 120000*ones(1,nN);
seq = [0 1 0 0 0 1 0];
seq2 = repmat(seq,1,20);
seq100 = seq2(1:100)
A = AA-diag(diag(AA));
在R:
dA <- 0.1
N <- c(120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000, 120000)
num_zeros_int <- zeros(70, 1)
num_ones_int <- ones(30, 1)
seq <- c(0,1,0,0,0,1,0)
seq2<- rep(seq, times = 20)
seq100 <- seq2[0:100]
int_mat <- matrix(seq100, nests, nests)
好,'*'和'*'在MATLAB不同mathemathical操作,但您可把它們都翻譯成'*'給R,所以我認爲這是問題所在。此外,你的矩陣是隨機的,所以我希望它總是給出不同的結果!否則你破壞了隨機數。 –
這可能有所幫助:http://mathesaurus.sourceforge.net/octave-r.html – coffeinjunky
@AnderBiguri謝謝!我會看看那個。啊,是的,抱歉,我應該包括我正在測試的非隨機數據 - 我現在就改變它。 –