PDF de programación - Programación: producto de dos vectores por componentes

Imágen de pdf Programación: producto de dos vectores por componentes

Programación: producto de dos vectores por componentesgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 19 de Noviembre del 2017)
1.083 visualizaciones desde el 19 de Noviembre del 2017
90,4 KB
2 paginas
Creado hace 8a (16/08/2015)
Programaci´on:

producto de dos vectores por componentes

Objetivos. Programar la funci´on que calcule el producto de dos vectores por componen-
tes.

Requisitos. Programaci´on de funciones, ciclos for, entradas de vectores.

1. Producto de dos vectores por componentes. Dados a, b ∈ Rn, denotemos por
a (cid:12) b su producto por componentes:

(cid:104)

(cid:105)n

.

j=1

a (cid:12) b =

ajbj

En el lenguaje de MATLAB el producto a (cid:12) b se puede calcular como a .* b.

2. Problema: producto punto de dos vectores. En alg´un lenguaje de programaci´on
escribir una funci´on que calcule el producto por componentes de dos vectores dados.

Entrada: a, b ∈ Rn.

Condici´on que debe cumplir la entrada: los vectores dados son de la misma longitud.
No tiene que verificar esta condici´on.

Salida: el vector(cid:2)ajbj

(cid:3)n

j=1.

Soluci´on en el lenguaje de MATLAB (guardar en el archivo componentwiseproduct.m):

function p = componentwiseproduct(a, b),

n = length(a);
p = zeros(n, 1);
for j = 1 : n,

p(j) = a(j) * b(j);

end

end

3. An´alisis de complejidad. Calcular el n´umero de operaciones de multiplicaci´on en el
algoritmo anterior. La respuesta es un polinomio de la variable n.

Programaci´on: producto de dos vectores por componentes, p´agina 1 de 2

4. Pruebas con vectores peque˜nos. En alg´un lenguaje de programaci´on escribir un
programa que llame a la funci´on del ejercicio anterior, aplic´andola a los vectores

a =

b =

 ,

 3−4

1

 .

 2

5−2

Soluci´on en MATLAB (guardar en el archivo testcomponentwiseproduct1.m):

function [] = testcomponentwiseproduct1(),

a = [3; -4; 1]; b = [2; 5; -2];
display(componentwiseproduct(a, b));
display(a .* b);

end

5. Pruebas con vectores grandes aleatorios. En alg´un lenguaje de programaci´on
escribir un programa que genere vectores de tama˜nos grandes: n = 104, luego n = 105,
luego n = 106, aplique a estos vectores la funci´on del Ejercicio 2 y mida el tiempo de
ejecuci´on. Soluci´on en MATLAB (guardar en el archivo testcomponentwiseproduct2.m):

function [] = componentwiseproduct2(),

for n = [100000, 1000000, 10000000],

display(n);
a = rand(n, 1); b = rand(n, 1);
tic;
p = componentwiseproduct(a, b);
t = toc;
display(t);

end

end

¿C´omo se cambia el tiempo de ejecuci´on al multiplicar n por 10?

Programaci´on: producto de dos vectores por componentes, p´agina 2 de 2
  • Links de descarga
http://lwp-l.com/pdf7574

Comentarios de: Programación: producto de dos vectores por componentes (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad