trying to do 1D convolution without using inbuilt functions.

Hi, I used the following code to do 1D convolution. But getting error:>>
a=[1 2 3];
b=[4 5 6];
K= length(a)+length(b)-1
for i=1:k
K_out(i)= 0
for j=1:length(b)
K_out(i)= K_out(i)+ a(i-j)*b(j)
end
end
The error is: Undefined function or variable 'k'.
But I already defined K.
Thanks

 Accepted Answer

Stephen23
Stephen23 on 2 May 2016
Edited: Stephen23 on 2 May 2016
You defined a variable K, and then tried to use k.
MATLAB is case sensitive, you cannot use upper/lowercase interchangeably.

1 Comment

Thanks...but this code still not working..as while computing (i-j) goes to zero or negative the Matlab cannot access the Zero or negative index as the index value is always positive. The error is: Attempted to access a(0); index must be a positive integer or logical.
Please suggest a way out.

Sign in to comment.

More Answers (1)

Convolution without conv function in MATLAB | Complete CODE | Explanation | Example And Output

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Asked:

on 2 May 2016

Answered:

on 25 Oct 2021

Community Treasure Hunt

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

Start Hunting!