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

 Réponse acceptée

Stephen23
Stephen23 le 13 Avr 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 commentaire

Volkan Yangin
Volkan Yangin le 13 Avr 2017
Modifié(e) : Volkan Yangin le 13 Avr 2017
Thank you Stephen Cobeldick. By the time i have just created if-end loop for this operation and added under the your comment.

Connectez-vous pour commenter.

Plus de réponses (1)

Volkan Yangin
Volkan Yangin le 13 Avr 2017
Modifié(e) : Volkan Yangin le 13 Avr 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

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by