[英]how to generate a matrix in R
我嘗試了兩種不同的方法來計算矩陣的元素。 我認為這兩種方法都是正確的,但是它們會產生不同的結果。 我很好奇,不知道哪一個是正確的。
例如,D是一個(t / 2 + 1)x(t / 2 + 1)矩陣,其元素讀為
D(k,m) = (2/t)*cos(((m-1)(k-1)*pi)/(t/2))
K = M = 1,...,(T / 2 + 1)。
我的第一個代碼是:
m<-seq(1,(t/2)+1,length=(t/2)+1);
k<-m;
D<-matrix(NA,nrow = length(k),ncol = length(k));
for(i in 1:length(k)) # row
for(j in 1:length(m)) # column
{
D[i,j]<-(2/t)*cos(((j-1)*(i-1)*pi)/(t*0.5))
}
我的第二個是:
D<-(2/(t))*cos(as.matrix(seq(0,t/2,by=1))%*%
t(as.matrix(seq(0,t/2,by=1)))*pi)/(0.5*t)
PI = 3.1415926
這兩種方法應該產生相同的結果嗎?謝謝您的建議!
將此更改為第二應該可以解決問題:
D<-(2/(t))*cos(as.matrix(seq(0,t/2,by=1))%*%
t(as.matrix(seq(0,t/2,by=1)))*pi/(0.5*t))
請注意,您需要在cos()
內部/(0.5*t)
cos()
。
祝你好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.