свертки в MATLAB, используя для цикла

I

Ibaghdadi

Guest
Привет, я хочу использовать свертки в MATLAB, используя для петли, так я сделал следующее: [код] п = 6, х = [1 2 2 3]; ч = [2 -1 3], у = нули (1 , п), для г = 0: п при = 0: гу (к) = у (к) + х (к) * ч (ц); конец конец [/ код], которые не работали, и я получил следующее Ошибка: [код]?? Подстрочный индексы должны быть либо реальные положительные целые или логические. [/ Код] почему? [Размер = 2] [COLOR = # 999999] Добавлено через 45 минут: [/ цвет] [/ размер] Хорошо, я обнаружил огромную проблему в своем коде, который в основном я начинаю индекс в нуле не в 1, поэтому я сделал следующим образом: [код] п = 6, х = [1 2 2 3]; ч = [2 -1 3], у = нули (1, п), для г = 1: п при = 1: гу (я ) = у (я) + х (к) * ч (я-J +1) конец конец [/ код] теперь я получаю новую ошибку: [б]?? Индекс превышает размеры матрицы. [/B]
 
Ваша программа находится на правильном пути, но проблема заключается в вашем пытаются получить доступ к элементам х, которые не существуют, то есть х (5) и так далее. Таким образом, чтобы избежать этой проблемы отрегулировать длину х и ч эквивалентной конечной длины, как показано: - п = 6, х = [1 2 2 3 0 0]; ч = [2 -1 3 0 0 0]; у = нули (1, п), для г = 1: п при = 1: гу (я) = у (я) + х (к) * ч (я-J +1) конец конец Так как х и ч В настоящее время длины 6. Другим вариантом было бы взять х и ч, а затем добавлять нули к нему, чтобы сделать их длина равна 6, такие как: - п = 6, х = [1 2 2 3]; ч = [2 -1 3]; х = [х нулей (1,6 длины (х))]; ч = [ч нулей (1,6 длины (А))], у = нули (1, п), для г = 1: п, для = 1: гу (я) = у (я) + х (к) * ч (я-J +1) конец конец Надеюсь, что это было полезно ... :)
 

Welcome to EDABoard.com

Sponsor

Back
Top