如何用matlab生成循环矩阵我需要生成一个N*N方阵,第一行是a1,a2,.,an,第二行是an,a1,a2,.,a(n-1),第三行以此类推,请问怎样根据已知的向量a来生成循环矩阵,
问题描述:
如何用matlab生成循环矩阵
我需要生成一个N*N方阵,第一行是a1,a2,.,an,第二行是an,a1,a2,.,a(n-1),第三行以此类推,请问怎样根据已知的向量a来生成循环矩阵,
答
楼上方法不错!不过有个笔误,a改成A
或用circshift循环移位函数也可以
A=[1:10];
n=length(A);
N=zeros(n);
for j=1:n
N(j,:)=circshift(A,[0,j-1]);
end
自己看着办