Special matrix with zeros and ones

4 ビュー (過去 30 日間)
ABDULAZIZ
ABDULAZIZ 2015 年 3 月 6 日
編集済み: ABDULAZIZ 2015 年 3 月 6 日
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 日
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 Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by