Actualizado el 21 de Marzo del 2018 (Publicado el 19 de Noviembre del 2017)
1.753 visualizaciones desde el 19 de Noviembre del 2017
118,6 KB
2 paginas
Creado hace 9a (05/04/2016)
Programaci´on: normas en Rn
Objetivos. Programar las funciones que calculen las normas (cid:107) · (cid:107)1, (cid:107) · (cid:107)2 y (cid:107) · (cid:107)∞ de los
vectores del espacio Rn.
Requisitos. Programaci´on de funciones, ciclos for, entradas de vectores.
1. Problema: la norma euclidiana de un vector. En alg´un lenguaje de programaci´on
escribir una funci´on que calcule la norma euclidiana del vector dado.
Entrada: x ∈ Rn.
Salida: el n´umero
(cid:16)(cid:80)n
(cid:17)1/2
.
j=1 x2
j
Soluci´on en el lenguaje de MATLAB (guardar en el archivo norm2.m):
function r = norm2(x),
n = length(a);
s = 0;
for j = 1 : n,
s = s + x(j) ^ 2;
end
r = sqrt(s);
end
2. C´alculo de la norma (cid:107) · (cid:107)1 de un vector. En alg´un lenguaje de programaci´on
escribir una funci´on que calcule la norma (cid:107)x(cid:107)1 del vector dado x ∈ Rn.
n(cid:88)
(cid:107)x(cid:107)1 =
|xj|.
3. C´alculo de la norma (cid:107) · (cid:107)∞ de un vector. En alg´un lenguaje de programaci´on
escribir una funci´on que calcule la norma (cid:107)x(cid:107)∞ del vector dado x ∈ Rn.
j=1
(cid:107)x(cid:107)∞ = max
1≤j≤n
|xj|.
4. Pruebas con vectores pequeËœnos.
function [] = test1norm(),
x = [3; -4; 1];
display([norm1(x), norm2(x), norminfty(x)]);
display([norm(x, 1), norm(x), norm(x, inf)]);
end
Programaci´on: normas en Rn, p´agina 1 de 2
5. Pruebas con vectores grandes aleatorios.
function [] = test2norm(),
for n = [100000, 1000000, 10000000],
display(n);
a = randn(n, 1);
t1 = cputime();
r = norm2(a);
t2 = cputime();
display(t2 - t1);
end
end
¿C´omo se cambia el tiempo de ejecuci´on al multiplicar n por 10? Hacer pruebas similares
de las funciones de los Ejercicios 2 y 3.
6. Comparaci´on de las normas. Escribir un programa que genere varios vectores
aleatorios a ∈ R9 y para cada vector a calcule y muestre los siguientes cocientes:
(cid:107)a(cid:107)2
(cid:107)a(cid:107)∞
,
(cid:107)a(cid:107)1
(cid:107)a(cid:107)2
,
(cid:107)a(cid:107)1
(cid:107)a(cid:107)∞
.
Observar los resultados, proponer conjeturas y demostrarlas.
Programaci´on: normas en Rn, p´agina 2 de 2
Comentarios de: Programación: normas en Rn (0)
No hay comentarios