როგორ გამოვიყენოთ კონვოლუცია MATLAB-ში ფუნქციის გამოყენების გარეშე

მათემატიკური განტოლების ახლო ხედი

MATLAB შეიცავს წინასწარ ჩაშენებულ კონვოლუციის ფუნქციას.

სურათის კრედიტი: Thinkstock Images/Comstock/Getty Images

კონვოლუცია არის მათემატიკური ოპერაცია, რომელიც აერთიანებს ორ ფუნქციას ერთი ფუნქციის გადახურვასთან შედარებით, როდესაც ის მეორეზე გადადის. მიუხედავად იმისა, რომ MATLAB შეიცავს წინასწარ ჩაშენებულ კონვოლუციის ფუნქციას, შესაძლებელია თავად გამოთვალოთ დისკრეტული კონვოლუციის ინტეგრალი. ორი ფუნქციის დისკრეტული კონვოლუცია f და g განისაზღვრება, როგორც ჯამი f (j) * g (k-j) 0-დან j დიაპაზონში.

Ნაბიჯი 1

განსაზღვრეთ ორი ვექტორი, f და g, რომლებიც შეიცავს ორ ფუნქციას, რომელთა გაერთიანება გსურთ. f და g სიგრძეები არ უნდა იყოს ტოლი. კონვოლუციის შედეგის სიგრძე k, ერთით ნაკლები იქნება f და g სიგრძის ჯამზე:

დღის ვიდეო

m = სიგრძე (f); n = სიგრძე (გ); k = m + n - 1;

ნაბიჯი 2

განსაზღვრეთ j დიაპაზონი, რომელზეც მოხდება კონვოლუცია. j-ის მნიშვნელობა არის დიაპაზონი, სადაც ორი ფუნქციის, f (j) და g (k+1-n) შერწყმა აბსკრიპტები ლეგალურია. k-ს დამატებული 1-ის მნიშვნელობა არის იმის გათვალისწინება, რომ MATLAB ვექტორების ინდექსირებას იწყებს 1-ზე და არა 0-ზე:

j = max (1,k+1-n):მინ (k, m)

ნაბიჯი 3

წინასწარ გამოყავით სივრცე კონვოლუციის შედეგისთვის:

ჩემი_შედეგი = ნულები (k);

ნაბიჯი 4

დაწერეთ for loop, რომ გაიმეოროთ k-ის მნიშვნელობებით:

შედეგი_ინდექსისთვის = 1:k

ნაბიჯი 5

გამოთვალეთ კონვოლუცია j-ის ყველა მნიშვნელობისთვის:

ჩემი_შედეგი (k) = ჯამი (f(j) .* g (k-j+1));

ნაბიჯი 6

დახურეთ for loop ბრძანებით "end".

კატეგორიები

Ბოლო

როგორ გადავიტანოთ Word JPEG-ში Mac-ზე

როგორ გადავიტანოთ Word JPEG-ში Mac-ზე

Apple-ის კომპიუტერებს შეუძლიათ ნებისმიერი Word ...

როგორ ჩავსვათ მეტი ან ტოლი შესვლა Word დოკუმენტში

როგორ ჩავსვათ მეტი ან ტოლი შესვლა Word დოკუმენტში

გამოთვალეთ რამდენიმე დამატებითი ნაბიჯი Word დო...

როგორ მივიღოთ გადაწყვეტილების ხე Excel-ში

როგორ მივიღოთ გადაწყვეტილების ხე Excel-ში

სურათის კრედიტი: BananaStock/BananaStock/Getty ...