repeat values within array
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I have an array, that I need to extend. In specific I need to repeat each value n times. n is the length of another vector. I can select the number of value that needs to be repeated and I can repeat it, but I can't append it to the other repeated values in my for loop. It only shows the repetition of the last value. My code is as followed:
X=[0.5;0.5;0.6;0.6];
Y=[0.6;0.7;0.6;0.7];
dx=0.05;
dy=0.05;
X_klein=[min(X):dx:max(X)]';
Y_klein=[min(Y):dy:max(Y)]';
for m=1:length(X_klein)
XX=X_klein(m);
XX1=repmat(XX,length(Y_klein),1);
XX1(m)=[XX1(m);XX1];
end
0 comentarios
Respuesta aceptada
Rik
el 4 de Jun. de 2021
You can edit your code using a cell array for the long way round:
X=[0.5;0.5;0.6;0.6];
Y=[0.6;0.7;0.6;0.7];
dx=0.05;
dy=0.05;
X_klein=[min(X):dx:max(X)]';
Y_klein=[min(Y):dy:max(Y)]';
XX1=cell(1,numel(X_klein));
for m=1:numel(X_klein)
XX=X_klein(m);
XX1{m}=repmat(XX,numel(Y_klein),1);
end
XX1=cell2mat(XX1);
disp(XX1)
Or use meshgrid for the shorter way:
[XX1,YY1]=meshgrid(X_klein,Y_klein);
disp(XX1)
4 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements 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!