• No se han encontrado resultados

producto de dos vectores por componentes

N/A
N/A
Protected

Academic year: 2022

Share "producto de dos vectores por componentes"

Copied!
2
0
0

Texto completo

(1)

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 b su producto por componentes:

a b =h ajbjin

j=1

.

En el lenguaje de MATLAB el producto a 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 ajbjn 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

(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 =

 3

−4 1

, b =

 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

Referencias

Documento similar

Para qué ejercitar la memoria, para qué aprender, grabar conceptos o teorías en la mente, parece gritar al unísono la humanidad, si para eso está el omnipotente,

Como se observa en las gráficas de la izquierda, valorar el grado de paralelismo entre los dos vectores, parte de proyectar ortonormalmente un vector sobre el

base En el plano pueden utilizarse infinitas bases. Los vectores representados a continuación serían bases del plano. Trabajar con la base canónica es lo normal, por ser lo más cómodo

EN 301 489-1 v2.1.1 2017-02 Compatibilità elettromagnetica (EMC) standard per apparecchiature e servizi radio; Parte 1:. requisiti

Muestre que cada componente del producto Ab se puede escribir como un producto interno de ciertos

Muestre que cada componente del producto Ab se puede escribir como el producto interno de ciertos vectores.... Programaci´ on: multiplicaci´ on de una matriz por un vector, versi´

Para ello, podrás elegir entre todos los entrantes, primeros y segundos platos que os ofrecemos.. Una ocasión perfecta para ofrecer a tus invitados lo que realmente

No está clasificado como un producto peligroso con toxicidad crónica para los organismos acuáticos, con efectos duraderos (a la vista de los datos disponibles, no se cumplen