How can i create matrix automatically?

12 Ansichten (letzte 30 Tage)
Volkan Yangin
Volkan Yangin am 13 Apr. 2017
Bearbeitet: Volkan Yangin am 13 Apr. 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

Akzeptierte Antwort

Stephen23
Stephen23 am 13 Apr. 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 Kommentar
Volkan Yangin
Volkan Yangin am 13 Apr. 2017
Bearbeitet: Volkan Yangin am 13 Apr. 2017
Thank you Stephen Cobeldick. By the time i have just created if-end loop for this operation and added under the your comment.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Volkan Yangin
Volkan Yangin am 13 Apr. 2017
Bearbeitet: Volkan Yangin am 13 Apr. 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

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by