How to add a repeating pattern to vector with different length in Matlab -


प्रश्न

मान लीजिए मेरे मनमाना लंबाई के दो वैक्टर हैं I एक पैटर्न और अन्य श्रृंखला को कॉल करें। अब मैं अपने दोहराया पैटर्न को एक स्वचालित तरीके से अपने श्रृंखला में जोड़ना चाहता हूं।

आमतौर पर एक यह मान सकते हैं कि pattern श्रृंखला से कम है, लेकिन वैकल्पिक रूप से काम करने पर यह अच्छा होगा। इस मामले में पैटर्न के पहले कुछ मानों का उपयोग किया जाना चाहिए।

उदाहरण

  pattern = 1: 3; श्रृंखला = 1:10;   

देना चाहिए

  2 4 6 5 7 9 8 10 12 11   

मुझे क्या करना है अब तक क्या मिला है?

मैंने चारों ओर खोज की है लेकिन मुझे क्या हासिल करने का एक शानदार तरीका नहीं मिला।

  • मैंने पाया सबसे आसान समाधान Padarray , लेकिन मेरे पास यह उपलब्ध नहीं है
  • मेरा अपना समाधान, जिसे मैं सुरुचिपूर्ण नहीं मानता, वह पैटर्न को दोहराकर repmat का उपयोग कर रहा है पर्याप्त समय की अवधि और फिर अंत काटने।

    आप अनुक्रमण के बजाय का उपयोग कर सकते हैं Repmat:

      परिणाम = श्रृंखला + पैटर्न ([mod (0: (numel (श्रृंखला) - 1), अंक (पैटर्न)) 1);    

Comments