Vector decomposition with Matlab
이전 댓글 표시
Hello !
I want to split a vector b, in two parts, b1 and b2, like that:
b= [2; 1; 2; 1; 0; 1; 2; 1; 2]
b1=[2; 1; 1; 1; 0; 0; 1; 0; 0]
b2=[0; 0; 1; 0; 0; 1; 1; 1; 2]
But my code, work only for n=4; for n>4, don't work fine.
n=4;
b=zeros((n-1)^2,1);
b(1)=2;
b(2:(n-2))=ones(n-3,1);
b(n-1)=2;
for i=1:n-3
b((n-1)*i+1)=1;
b((n-1)*(i+1))=1;
end
b((n-1)*(n-2)+1)=2;
b((n-1)*(n-2)+2:(n-1)*(n-2)+n-2)=ones(n-3,1);
b((n-1)^2)=2;
b1(1)=2;
b1(2:(n-2))=1;
b1(n-1)=1;
for i=1:n-3
b1((n-1)*i+1)=1;
b1((n-1)*(i+1))=0;
end
b1((n-1)*(n-2)+1)=1;
b1(n*2:(n-1)*(n-2))=0;
b1((n-1)*(n-2)+2:(n-1)*(n-2)+n-2)=zeros(n-3,1);
b1((n-1)^2)=0;
b2(1)=0;
b2(2:(n-2))=0;
b2(n-1)=1;
b2((n-1)*(n-2))=1;
b2((n-1)*(n-2)+1)=1;
b2((n-1)*(n-2)+2:(n-1)*(n-2)+n-2)=ones(n-3,1);
b2((n-1)^2)=2;
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Control System Toolbox에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!