How can i create matrix automatically?

7 vues (au cours des 30 derniers jours)
Volkan Yangin
Volkan Yangin le 13 Avr 2017
Modifié(e) : Volkan Yangin le 13 Avr 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

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

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by