How to find vector with if loops and for loops
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Ömer Durkut
el 15 de Jun. de 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 comentarios
Torsten
el 15 de Jun. de 2022
Ok, then - under the link given - you get the hints the forum is willing to give to solve this assignment.
Respuesta aceptada
Image Analyst
el 16 de Jun. de 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 comentarios
Image Analyst
el 24 de Jun. de 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
el 24 de Jun. de 2022
Editada: Torsten
el 24 de Jun. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!