Need matrix or vector with 1,0,1,0,1,0.........

clc;clear
n = 5
A = ones(n)
a = reshape(A,1,25) % I reshape matrix to vector I think that is easy to understand.
I dont know what to do as next step to make vector or matrix with 1 and 0. Give me please more ways how to do that. Iam begginer of programming and if you could give me advice how to start with programming , what could help me to understand syntax and ways of programming and more things about programming I would be grateful. Thanks all :)

 Accepted Answer

Hint: Use mod.
For example,
mod(1:25,2)
ans = 1×25
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
But really, you need to start by looking at the Onramp tutorials, or read any text. I looked on YouTube once, and I found many beginning courses in MATLAB. When trying to learn any tool, it is a good idea to read the manuals.

More Answers (2)

Do you now the colon operator already?
a = 2;
b = 15;
a:b
ans = 1×14
2 3 4 5 6 7 8 9 10 11 12 13 14 15
a:3:b
ans = 1×5
2 5 8 11 14
You can use this to create an index of the values, you want to set to 1 (or to zero):
x = ones(1, 10);
x(1:2:10) = 0
x = 1×10
0 1 0 1 0 1 0 1 0 1
A = ones(n); % creates [n x n] - matrix
a = reshape(A,1,25); % creates a [1 x n^2] - matrix
As I understand you want the output in the double-format. I want to show this in logical-format too. What is about:
n = 5;
1) a1 = repmat([0,1],1,n^2); % double-format
2) a2 = logical(a1); % logical-format
3) a3 = repmat([false,true],1,n^2); % logical-format
The results of a2 and a3 should be the same. a2 converts a1 from double into logical but a3 should be faster than a2.
If you handle big matrices (large n): I don't know the efficiency of the built-in-function named "repmat()".
Greetings,
Mustafa

1 Comment

n = 6e7;
timeit(@() logical(repmat([0,1],1,n)))
ans = 0.3021
timeit(@() repmat([false,true],1,n))
ans = 0.0146

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!