How can i create matrix automatically?

11 visualizaciones (últimos 30 días)
Volkan Yangin
Volkan Yangin el 13 de Abr. de 2017
Editada: Volkan Yangin el 13 de Abr. de 2017
Hi everbody
I should create a matrix by using number of element of any gap like as the example:
If gap has:
3 elements, matrix: [1 1 2]
4 elements, matrix: [1 1 2 2]
7 elements, matrix: [1 1 2 2 3 3 4] etc.
and matrix includes only 1 2 3 4 numbers, same numbers must be two side by side.
Is there any way for this operation?
Thanks...
Edit:
I have just created a loop for this operation:
for ...
elements=[1 1 2 2 3 3 4 4];
if numel(gap)<=numel(elements);
matrix=elements(1:numel(gap));
end
if numel(gap)>numel(elements);
diff=(numel(gap)-numel(elements))
matrix=[elements linspace(4,4,diff)]
end
end

Respuesta aceptada

Stephen23
Stephen23 el 13 de Abr. de 2017
>> fun = @(n)ceil((1:n)/2);
>> fun(3)
ans =
1 1 2
>> fun(4)
ans =
1 1 2 2
>> fun(7)
ans =
1 1 2 2 3 3 4
  1 comentario
Volkan Yangin
Volkan Yangin el 13 de Abr. de 2017
Editada: Volkan Yangin el 13 de Abr. de 2017
Thank you Stephen Cobeldick. By the time i have just created if-end loop for this operation and added under the your comment.

Iniciar sesión para comentar.

Más respuestas (1)

Volkan Yangin
Volkan Yangin el 13 de Abr. de 2017
Editada: Volkan Yangin el 13 de Abr. de 2017
for ...
elements=[1 1 2 2 3 3 4 4];
if numel(gap)<=numel(elements);
matrix=elements(1:numel(gap));
end
if numel(gap)>numel(elements);
diff=(numel(gap)-numel(elements))
matrix=[elements linspace(4,4,diff)]
end
end

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!

Translated by