簡體   English   中英

如何在R中生成矩陣

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM