how to write special matrices

how can I write this matrix
a=[0 0 0 0;
0 0 0 1;
0 0 1 0;
0 0 1 1;
0 1 0 0;
0 1 0 1;
0 1 1 0;
0 1 1 1;
1 0 0 0;
1 0 0 1;
1 0 1 0;
1 0 1 1;
1 1 0 0;
1 1 0 1;
1 1 1 0;
1 1 1 1;]
using for loop?

2 Comments

What you have tried so far?
dec2bin(1:15)
Using for loop, please share your efforts?
Ok Kalyan, but this is not matrix, this is char. Can you help me again?

Sign in to comment.

Answers (3)

Bruno Luong
Bruno Luong on 6 Dec 2020
Edited: Bruno Luong on 6 Dec 2020
>> dec2bin(0:2^4-1)-'0'
ans =
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
I think it is not very efficient, but works
a = dec2bin(0:15);
i = 1;
while i<17
c = randi([0 1],1,4);
if(a(i,1:4) == sprintf('%g',c))
b(i,1:4) = c;
i = i+1;
end
end
b =
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

4 Comments

Stephen23
Stephen23 on 6 Dec 2020
Edited: Stephen23 on 6 Dec 2020
Exactly as its author states, this is "not very efficient".
Or in one word, it is very inefficient. Best avoided.
I confirm, best avoided :D
I have impression Bastian wants to make us a joke.
It is not efficient, but thanks for your effort Bastian.

Sign in to comment.

Categories

Asked:

on 6 Dec 2020

Commented:

on 7 Dec 2020

Community Treasure Hunt

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

Start Hunting!