How do I prevent my code from printing the ans statements?

 Accepted Answer

% this is equivalent to what you wrote
for k = 2 % these are all individual statements
3
4
5
X = randi([0,1],[k,4])
end
ans = 3
ans = 4
ans = 5
X = 2×4
0 0 1 0 0 0 1 0
for k = [2,3,4,5] % this is one statement
X = randi([0,1],[k,4])
end
X = 2×4
0 0 0 0 1 0 0 0
X = 3×4
0 1 0 1 1 0 1 1 1 0 0 1
X = 4×4
0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1
X = 5×4
1 0 1 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0

6 Comments

Oh ok, however I only want it to print one matrix. Not all 4, just randomly choose k x 4
"Not all 4, just randomly choose k x 4"
But your code does not "randomly choose" any matrix. Is that a feature that you wish to add?
If you only want one matrix, why are you generating four of them?
You mean like this?
X = randi([0,1],[randi([2 5],1),4]) % ?
X = 3×4
1 1 1 0 0 0 0 0 1 0 1 1
I need to write a script that prints a matrix that is k rows x 4 columns. K must be an integer 2-5. K should be chosen randomly. The matrix must contain only zeros and ones that are randomly generated. What you just commented works for the output, but I need to format it in such a way that K is assigned 2-5 then imported into the matrix call.
If you only need one matrix then get rid of the FOR loop, and define K using RANDI.
X = randi([0,1],[randi([2 5],1),4])
X = 4×4
0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1
Thanks this works!

Sign in to comment.

More Answers (0)

Tags

Asked:

on 28 Jan 2022

Commented:

on 28 Jan 2022

Community Treasure Hunt

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

Start Hunting!