Special matrix with zeros and ones

5 次查看(过去 30 天)
Hello Everyone,
I have a special matrix and can not create it in faster way
The example of a matrix is as follows:
m=[1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1]
I can build it up by using ones and zeros, but it will take me a long time to do that, specially when I have a very big matrix.
Thanks in advance.
  2 个评论
James Tursa
James Tursa 2015-3-6
It's going to take us even longer unless we know the pattern rules. Can you explain a bit more about what the pattern is for a "very big matrix"?

请先登录,再进行评论。

采纳的回答

Jan
Jan 2015-3-6
编辑:Jan 2015-3-6
Are you looking for kron?
kron(eye(4), ones(1, 4))
kron is not efficient. This might be faster, but less nice:
n = 4;
ind = repmat(n, 1, n*n-1);
ind(n:n:n*n-1) = n + 1;
M = zeros(n, n*n);
M(cumsum([1, ind])) = 1;

更多回答(2 个)

Rodney Buller
Rodney Buller 2015-3-6
Have you given this a try?
m=zero[4 16] m(1,1:4)=1; m(2,5:8)=1; m(3,9:12)=1; m(4,13:16)=1;
Assign a matrix as large as you need then, assigning values afterwards. variable(row,column)=assignment val
  1 个评论
ABDULAZIZ
ABDULAZIZ 2015-3-6
编辑:ABDULAZIZ 2015-3-6
Thank you,
This answer is correct , but it will take too much time for data entry when I have a very big matrix. Thanks again for your effort

请先登录,再进行评论。


ABDULAZIZ
ABDULAZIZ 2015-3-6
Thanks Jan Yes 100%, that what I have been looking for. Thank you very so much.

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by