Create a function that uses indexing
Mostrar comentarios más antiguos
Given: Create a function called pick_username that will receive an input argument, which is a vector of values. The function will randomly pick one element out of the provided input vector vec and return the value in that element. Remember, your element numbers are integers from 1 to N, where N is the total number of values in the vector.
Find: How do you select a single element number that is a random integer from 1 to N? How do you then take that random element number and return Value as the actual number saved in that random location in vector vec?
Issue: I'm not sure if I am supposed to be using a function that ramdomizes results or just using the randi function.
My Solution: Does this make sense?
%% Thanks to Victor, I think I understand what to do here, I just want
%% to make sure it makes sense to people with vastly more experience in MATLAB environment than myself.
function Value=pick_kweave19(vec)
%length(vec); % This function is used to determine the length of vector,
%but do I even need this line of code if I have the next line as is?
%random_index = randi(length(vec)); % I took this line of code out as it is
%redundant, I assigned Value to the output instead
Value=randi(length(vec))
end
% Code used to call function vec=1:1:100; Value=pick_kweave19(vec)
5 comentarios
Dyuman Joshi
el 7 de Mzo. de 2024
"% but how do you select a single element number that is a random integer from 1 to N?
Refer to the documentation of randi. Whenver you have any question(s) about a function, it is always best to refer to its documentation.
% How do you then take that random element number and return Value as the actual number saved in that
% random location in vector vec?"
Use indexing.
Spaceman
el 8 de Mzo. de 2024
Dyuman Joshi
el 8 de Mzo. de 2024
Editada: Dyuman Joshi
el 8 de Mzo. de 2024
"My Solution: Does this make sense?"
It does,
"%% I just want to make sure it makes sense to people with vastly more experience in MATLAB environment than myself."
but (imo) you should not worry about this. You should focus on whether you know and understand what's going on.
Also, try incorporating comments in your code, so that you have an idea what each line does. And it will be helpful to others and to you for future reference.
In any case, (if ever in doubt) you should test your code against multiple inputs, and see if the outputs are as expected or not.
Victor
el 8 de Mzo. de 2024
"%but do I even need this line of code if I have the next line as is?"
It is not necessary, I just put a separated line there so that you can know how to find the length of the input array.
Spaceman
el 9 de Mzo. de 2024
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!