How do you add specific elements contained within a matrix to produce a new vector?

1 visualizzazione (ultimi 30 giorni)

I have the columns of n, x[n], and h[n] already produced. Now what I want to produce is the column w[n]. (Side question: is "column" correct term to be using in this instance? Or is "vertical array" or "vector" more appropriate?)

To avoid wasting your time, I've simplified the structure of w[n] in the little box there on the right-hand side, which reads: "In general, the corresponding element of w[n] meets these criteria: 1. has n+1 "component pairs", and 2. those "components pairs" are such that h[k]*x[m] where k+m=n.

Ex1. n=0. w[0] has one (0+1) "component pair:" h[0]*x[0] where k+m=0. Ex2. n=1. w[1] has two (1+1) "component pairs:" h[0]*x[1]+h[1]*x[0] where each k+m=1=n.

And in case you've now forgotten the question: How do I produce w[n] by manipulating the elements in x[n] and h[n].

Risposta accettata

Roger Stafford
Roger Stafford il 19 Apr 2017
Modificato: Roger Stafford il 19 Apr 2017
That's known as convolution, and you can use matlab's 'conv' function to do the required computation.
w = conv(x,h);
w = w(1:n+1);
Note: Zero indices are not allowed in matlab so the indices shown in your image will have to be increased by one. The first element is w(1) = x(1)*h(1), and the second element would be w(2) = x(1)*h(2)+x(2)*h(1), and so forth.
  5 Commenti
James Long
James Long il 19 Apr 2017
i just did wn(42:81)=[]; and it worked. thank you for your assistance Roger and Stephen.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by