Special matrix with zeros and ones

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 件のコメント

Jan
Jan 2015 年 3 月 6 日
I've formatted your code.
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 日

0 投票

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 日

1 投票

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 日

0 投票

Thanks Jan Yes 100%, that what I have been looking for. Thank you very so much.

カテゴリ

質問済み:

2015 年 3 月 6 日

編集済み:

2015 年 3 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by