Repeat array onto the same row
2 ビュー (過去 30 日間)
古いコメントを表示
採用された回答
Paul
2023 年 9 月 9 日
A=[1,2,3,4]
horzcat(A,A)
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
その他の回答 (1 件)
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 = repetition(A,1.5)
B = repetition(A,2.75)
B = repetition(A,3.3)
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
参考
カテゴリ
Help Center および File Exchange で Matrices and Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!