Doubt with a for and adding values into a matrix
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello, I am trying to do the next thing. A matrix A1 with 15 rows and 210 columns of zeros. And I want to complete it with ones in the next form. From point 1 to point 14, all ones. Then a space of 210 zeros, and then again 14 ones. This until the end. I have done the next code, but i obtain this matrix of ones and zeros, but the ones are in columns, instead than in rows.
n=15;
m = n*(n-1);
A1 = zeros(n,m);
for i=1:210:m*n
A1(i:i+13) = ones(1,14);
end
I am looking something like these, but with more ones and zeros:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145954/image.jpeg)
Thanks for your help.
댓글 수: 0
채택된 답변
Sean de Wolski
2014년 11월 3일
편집: Sean de Wolski
2014년 11월 3일
Look at the blkdiag function.
C = repmat({ones(1,4)},1,5)
blkdiag(C{:})
4 and 5 are hardwired to match your above example. Change them to the sizes you need.
doc blkdiag
댓글 수: 3
Image Analyst
2014년 11월 3일
Give a small example of starting and ending arrays where the data are off diagonal.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!