Given two input vectors x = [x_1, x_2, ..., x_K] and y = [y_1, y_2, ..., y_K] of equal length, compute the weighted convolution output z = [z_1, z_2, ..., z_K], where
z_k = sum(nchoosek(k-1,j-1)*x_{k-j+1}*y_j, j = 1..k), k = 1, 2, ..., K
Example: x = [1, 2, 3]; y = [4, 5, 6]. Then z = [z_1, z_2, z_3] where
z_1 = nchoosek(0,0)*1*4 = 4 z_2 = nchoosek(1,0)*2*4 + nchoosek(1,1)*1*5 = 13 z_3 = nchoosek(2,0)*3*4 + nchoosek(2,1)*2*5 + nchoosek(2,2)*1*6 = 38
Hint: This can be seen as the linear convolution weighted by the binomial coefficient. It is straightforward to solve this problem using a for loop. I am wondering if there exists some more elegant way (e.g., vectorization) to do this.
Liked because 1) It's not spam and 2) You use my "better way to do this?" tag for the same reason I do.
I also dislike the recent trend of spoiling Cody with trivial problems. Some people, especially those top 4 players on the Triathlon scoreboard, have generated too many trivial problems, in the hope of wining the Triathlon prizes (related to MATLAB central's 15 years celebration). This shameful behavior damaged not just the Triathlon competition, but also our Cody platform.
I understand better now why Cody becomes so boring. Thank you for the explanations.
We have increased the score required to create a problem. So this should not happen anymore.
Hi Aditya, Could you take a look at this problem: http://nl.mathworks.com/matlabcentral/cody/problems/43117-2d-indexes? Every time I click the "Solve" button, my internet browser cannot be directed to the right page.
I figured out what 's wrong there. The correct link is www.mathworks.com/ ..., not nl.mathworks.com/...
Awesome.
1086 Solvers
Determine if a Given Number is a Triangle Number
287 Solvers
Generate N equally spaced intervals between -L and L
448 Solvers
1287 Solvers
156 Solvers