Writing the built in matlab function in simple code(like for loop, etc.)
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Jimmy cho
el 23 de En. de 2021
Hi guys,
I'm trying to do the same concept of what my code below does, but in a simple approach with different way.
My code in MATLAB is:
y=[1 2 3 4]; %first input
OccurancesParameter= 5; % second input , it's always unsigned integer number greater than zero - it's number occurances for each value in the array y
output=repelem(y, OccurancesParameter); % gives me an array according to the repeated Occurance parameter ..
So I want to do the same concept of what my code above does, but simple approach/way in MATLAB, like using for loop or any other simple way, and not using the built in function repelem().
Could anyone please help me out on this? appreciated!
Respuesta aceptada
Image Analyst
el 23 de En. de 2021
Jimmy, try this:
y=[1 2 3 4]; % First input
OccurancesParameter= 5; % second input , it's always unsigned integer number greater than zero - it's number occurances for each value in the array y
output=repelem(y, OccurancesParameter); % gives me an array according to the repeated Occurance parameter ..
y2 = zeros(1, length(y) * OccurancesParameter);
for k = 1 : length(y)
thisy = y(k);
for k2 = 1 : OccurancesParameter
index = (k - 1) * OccurancesParameter + k2;
y2(index) = thisy;
end
end
y2 % Display in command window
Más respuestas (1)
Adam Danz
el 23 de En. de 2021
Editada: Adam Danz
el 24 de En. de 2021
y=[1 2 3 4];
OccurancesParameter= 5;
m = y(:)' .* ones(OccurancesParameter, 1);
output = m(:)'
For Matlab releases prior to r2016b,
y=[1 2 3 4];
OccurancesParameter= 5;
m = bsxfun(@times,y(:)', ones(OccurancesParameter, 1));
output = m(:)'
Ver también
Categorías
Más información sobre Matrix Indexing 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!