2013-03-04 64 views
2

是否有生产方多对角线matricies诸如这些的有效途径:有效的方法,使多对角矩阵

[[1,2,3], 
[2,1,2], 
[3,2,1]] 

[[1,2,3,4,5], 
[2,1,2,3,4], 
[3,2,1,2,3], 
[4,3,2,1,2], 
[5,4,3,2,1]] 

我的努力到目前为止已经产生了以下内容:

t=10 
sum=zeros(t,t) 
for i=1:t 
sum+=diag(ones(1,i)*(t-i)+1,t-i); 
end 
sum 
sum+sum'-diag(ones(1,10),0) 
+0

它看起来像一个[拉丁方(HTTP: //en.wikipedia.org/wiki/Latin_square)。 – torrho 2013-03-04 20:02:51

回答

6

命令toeplitz不正是你想要什么:

toeplitz([1,2,3,4,5,6]) 

ans = 

1  2  3  4  5  6 
2  1  2  3  4  5 
3  2  1  2  3  4 
4  3  2  1  2  3 
5  4  3  2  1  2 
6  5  4  3  2  1 
4

你在找什么叫做对称(Hermitian)toeplitz矩阵。

我不熟悉MATLAB,但我发现关于The MathWorks this文档: