Need matrix or vector with 1,0,1,0,1,0.........
Show older comments
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
More Answers (2)
Do you now the colon operator already?
a = 2;
b = 15;
a:b
a:3:b
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
Mustafa
on 10 May 2025
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)))
timeit(@() repmat([false,true],1,n))
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!