Convolucion mediante procedimientos o cáculos matemáticos
Publicado por Juan Arango (2 intervenciones) el 26/08/2012 18:18:03
Hola,
Tengo que realizar un programa o funcion en matlab algo sencillo pero no se como hacerlo.
El programa empieza cuando se ingresan en la función dos vectores de diferente tamaño. Estos vectores deben multiplicarse distributivamente entre si, es decir, cada elemento del primer vector con cada elemento del siguiente vector. Asi, van arrojando filas. Es como si uno multiplicara un numero normal de varios dígitos, se multiplica el primero con todos, luego el segundo con todos y asi sucesivamente. Luego de tener eso, se necesita que el programa sume los valores resultantes y me de el resultado final.
Lo intente hacer con un for pero no se como hacer para que cada valor del for me lo guarde en un vector y no sencillamente lo remplaze con el siguiente.
function suma(x,h)
clc
n1=length(x);
n2=length(h);
for i=1:n2
y(1)=x(1)*h(i)
y(2)=x(2)*h(i)
end
Por ejemplo, teniendo los valores de h y x, debe realizar el proceso para obtener y.
Es un proceso de convolucion denominado "suma por columnas" pero no es posible usar el comando "conv". Toca todo paso por paso.
h=1 -2 3
x= 1 2 2 3
1 -2 3
2 -4 6
2 -4 6
3 -6 9
y= 1 0 1 5 0 9
Espero me puedan colaborar.
Muchas gracias.
Tengo que realizar un programa o funcion en matlab algo sencillo pero no se como hacerlo.
El programa empieza cuando se ingresan en la función dos vectores de diferente tamaño. Estos vectores deben multiplicarse distributivamente entre si, es decir, cada elemento del primer vector con cada elemento del siguiente vector. Asi, van arrojando filas. Es como si uno multiplicara un numero normal de varios dígitos, se multiplica el primero con todos, luego el segundo con todos y asi sucesivamente. Luego de tener eso, se necesita que el programa sume los valores resultantes y me de el resultado final.
Lo intente hacer con un for pero no se como hacer para que cada valor del for me lo guarde en un vector y no sencillamente lo remplaze con el siguiente.
function suma(x,h)
clc
n1=length(x);
n2=length(h);
for i=1:n2
y(1)=x(1)*h(i)
y(2)=x(2)*h(i)
end
Por ejemplo, teniendo los valores de h y x, debe realizar el proceso para obtener y.
Es un proceso de convolucion denominado "suma por columnas" pero no es posible usar el comando "conv". Toca todo paso por paso.
h=1 -2 3
x= 1 2 2 3
1 -2 3
2 -4 6
2 -4 6
3 -6 9
y= 1 0 1 5 0 9
Espero me puedan colaborar.
Muchas gracias.
Valora esta pregunta


0