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谢谢!我会看看那个。啊,是的,抱歉,我应该包括我正在测试的非随机数据 - 我现在就改变它。 –