フィルターのクリア

Repeat array onto the same row

2 ビュー (過去 30 日間)
Leonardo
Leonardo 2023 年 9 月 9 日
コメント済み: Leonardo 2023 年 9 月 9 日
I want A=[1,2,3,4] to
become A=[1,2,3,4,1,2,3,4] by x2
or
become A=[1,2,3,4,1,2] by x1.5
is it possible?

採用された回答

Paul
Paul 2023 年 9 月 9 日
A=[1,2,3,4]
A = 1×4
1 2 3 4
horzcat(A,A)
ans = 1×8
1 2 3 4 1 2 3 4
horzcat(A,A(1:floor(numel(A)/2))) % or use ceils depending on how you want to handle the case where numel(A) is odd
ans = 1×6
1 2 3 4 1 2
  1 件のコメント
Leonardo
Leonardo 2023 年 9 月 9 日
Thank you!

サインインしてコメントする。

その他の回答 (1 件)

Dyuman Joshi
Dyuman Joshi 2023 年 9 月 9 日
編集済み: Dyuman Joshi 2023 年 9 月 9 日
Here's a generalised code -
A=[1,2,3,4];
B = repetition(A,2)
B = 1×8
1 2 3 4 1 2 3 4
B = repetition(A,1.5)
B = 1×6
1 2 3 4 1 2
B = repetition(A,2.75)
B = 1×11
1 2 3 4 1 2 3 4 1 2 3
B = repetition(A,3.3)
Error using solution>repetition
Incompatible number for repetition
function B = repetition(A,n)
B = repmat(A,1,ceil(n));
k = numel(A)*n;
%k needs to be an integer to repeat an array by a non-integer number
%Check for a number being an integer is the reminder when divided by 1 is zero
if rem(k,1)
error('Incompatible number for repetition');
else
B = B(1:k);
end
end
  1 件のコメント
Leonardo
Leonardo 2023 年 9 月 9 日
Thank you!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by