あなたが手助けしてくれれば多分安らかです。私はプログラミングの初心者です。私はMatlabを使用しています。だから、私は431x1型の配列を持っています - ダブル;そこに私は1から6の数字を持っています。例:1 4 5 3 2 6 6 3 3 5 4 1 ...;私がやりたいことは、各要素が11回繰り返される新しい配列を作る必要があるということです。例:a(1:11)= 1; a(12:22)= 4; a(23:33)= 5;または異なって説明することができる。a = [1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 ...]; 私はループでそれをやろうとしましたが、いくつか問題がありました。どのような機能を利用できるか知っていますか?MATLABはあるアレイから別のアレイへのデータの繰り返しを作成します
答えて
まず第一に、あなたのコードを読んで、あなたの疑問を簡単にするために別々のブロックでフォーマットすることができれば、それが役立つだろう...
のは、あなたのように、長さNx1の配列を持っていたとしましょう:
x = [1 2 3 4 5 ...]';
あなたがループを構築して連結することができます:あなたはまた、関数リットルで見ることができる
for i = 1 : length(x)
for i = 1: length(x)
y(1 + (i - 1) * 11 : 1 + i * 11) = x(i); % Copy to a moving block
end
y(end) = []; % Delete the superfluous one at the end
配列を複製するためのMATLABヘルプのike repmat
。
ありがとうございます!私はループ内でrepmatを試しましたが、再度、複製された値を格納するための正しい索引付けに問題がありました。 –
(NRep
は、あなたがそれを繰り返したい回数である)、これを試してみてください:
x = [1, 2, 3, 4, 5];
NRep = 5;
y = reshape(repmat(x,[NRep,1]),[1,length(x)*NRep])
それはそれを書き出すために少し面倒なので、私はまた、特に、これは「ハック」を使用することを楽しむ:
x = [1, 2, 3, 4, 5];
NRep = 5;
y = kron(x, ones(1,NRep));
希望に役立ちます!
P.S .:これは、行ベクトル専用に設計されています。列ベクトルが必要な場合は、変更するのは簡単ですが。
編集:もちろん、あなたがポスト-R2015aの場合、y=repelem(x,NRep)
を使用することができます。私は古いMatlabsで作業するので、私はそれらを忘れる傾向があります(時にはそれは少し下位互換性があるという悪い考えではありません)。私に思い出させるために@ rahnema1に感謝します。
ありがとう!これは、私が必要としていた正確なものであることを知っていなかったリピート機能です。D yayy、あなたのコードも正常に動作しましたが、問題は、各要素を11回複製するのではなく、とにかくおかげさまで! –
- 1. アレイを繰り返します。カピバラキュウリ
- 2. アレイからアレイへのリニアサーチ
- 3. 各アレイ内のアイテムを繰り返さずに複数のアレイを組み合わせて作成する
- 4. AngularJS:ボタンをクリックしてアレイ全体を繰り返します。
- 5. BigQueryの繰り返しレコードは、アレイの外側に加え
- 6. AngularJSのフィルタリングはアレイ上で繰り返されます
- 7. Matlabアレイのノイズリダクション
- 8. cvCreateVideoWriterは - フレームのアレイ(IplImageへ*)からAVIファイルを作成
- 9. あるアレイから別のアレイにコピーする最良の方法
- 10. 繰り返し処理は、私は、アレイ持っ範囲
- 11. アレイから別のアレイにオブジェクトを1つ追加する
- 12. 別のアレイを作成するために、アレイ内の値を使用
- 13. 3Dアレイから1Dアレイへの変換が失敗する
- 14. 2つの別々のアレイを作成するをクリックしますか?
- 15. アレイからアドレスリストを作成する
- 16. ES6ジェネレータからアレイを作成する
- 17. は別のアレイ
- 18. アンドロイド(アレイは、数字を繰り返し見つけるための方法)
- 19. SASアレイの作成後にアレイを削除する必要がありますか?
- 20. 1つのアレイからデータを取り込むには、同じカードを2回取り出さずにランダムに選択し、別のアレイに移動します。
- 21. あるアレイの値を別のアレイに追加する方法は?
- 22. MATLABで別々の繰り返しをループする
- 23. あるコンポーネントから別のコンポーネントにアレイ要素をアクセスする
- 24. 繰り返しのある日付のシーケンスを作成する
- 25. アレイを連続して作成する
- 26. pickerviewは、アレイからのデータを表示しません。
- 27. 2アレイの識別名を比較してすべてのデータを返す
- 28. アレイはnull値を返します
- 29. アレイへのラベリングコレクション
- 30. アレイのRDDを作成
[repelem](https://www.mathworks.com/help/matlab/ref/repelem.html) – rahnema1