How to find vector with if loops and for loops

1 vue (au cours des 30 derniers jours)
Ömer Durkut
Ömer Durkut le 15 Juin 2022
Modifié(e) : Torsten le 24 Juin 2022
Given a vector u with the dimension 20x1, which consists of random variables from a uniform distribution (distributed on [0,1]) exists. Instructions: • Create a code in MATLAB, – which creates the vector u, – which contains both ’for loops’ and ’if loops’, – and for all values in the vector u indicates in which quarter the number lies.This is one of my mathlab final exam question, could you please help me,i just know that i should use "rand" function
  4 commentaires
Torsten
Torsten le 15 Juin 2022
Ok, then - under the link given - you get the hints the forum is willing to give to solve this assignment.
Ömer Durkut
Ömer Durkut le 15 Juin 2022
Thanks a lot

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 16 Juin 2022
Are you allowed to turn in other people's solutions as your own for your final exam question?
The first 5 values of the 20-element u lie in the first quarter, the next 5 in the second quarter, the third 5 in the third quarter, and the final 5 elements in indexes 16-20 obviously lie in the last quarter. But I think they want you to use a for loop
u = rand( % You said you got this
for k = 1 : length(u)
if u(k)...........
More code
end
end
You can either store the quarter that the number lives in, in a vector called quarter, or maybe you just want to print out the quarter it's in using fprintf(). Or maybe you want to do both.
  15 commentaires
Image Analyst
Image Analyst le 24 Juin 2022
@Jan, true. I just basically took the OP's code but an experienced programmer would do it more like this:
n = 20;
r = rand(n,1);
for k = 1 : numel(r)
if r(k) < 0.25
quarter(k) = 1;
elseif r(k) < 0.50
quarter(k) = 2;
elseif r(k) < 0.75
quarter(k) = 3;
else % r(k) >= 0.75
quarter(k) = 4;
end
end
quarter
Torsten
Torsten le 24 Juin 2022
Modifié(e) : Torsten le 24 Juin 2022
I like if the order of the conditions in if-statements can be changed.
This is not the case in this simplified version because
if r(k) < 0.75
quarter(k) = 3;
elseif r(k) < 0.25
quarter(k) = 1;
elseif r(k) < 0.5
quarter(k) = 2;
else
quarter(k) = 4;
end
would create chaos.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by