How to ignore negative indices or assign it to zero in a loop
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MD JAHIDUL HAQUE KHAN
el 5 de Mayo de 2021
Comentada: MD JAHIDUL HAQUE KHAN
el 5 de Mayo de 2021
x=[1 2 -1 -3 -4]
h=[0 1 3]
n=length(x)
m=length(h)
y=zeros(n,m)
for i=1:n
for j=1:m
if i-j>0
y(i,j)=h(j)*x(i-j+1)
else
y(i,j)=0 % My problem is here to assign if the element x(i-j) does not exist return zero
%but it is ignoring all the element in the matrix that is (i-j)< zero
end
end
end
I have tried approach this problem by setting up a matrix, however i did not start loop from zero since it is same both way if i am right
0 comentarios
Respuesta aceptada
Stephan
el 5 de Mayo de 2021
Editada: Stephan
el 5 de Mayo de 2021
It is not needed to make the elements zero - they are already, because you preallocated y with zeros:
x=[1 2 -1 -3 -4]
h=[0 1 3]
n=length(x)
m=length(h)
y=zeros(n,m)
for i=1:n
for j=1:m
if i-j>0
y(i,j)=h(j)*x(i-j+1)
end
end
end
gives:
% alot of stuff
% ...
y =
0 0 0
0 0 0
0 2 0
0 -1 6
0 -3 -3
3 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!