PDF de programación - Programación: normas matriciales 1 e infinito

Imágen de pdf Programación: normas matriciales 1 e infinito

Programación: normas matriciales 1 e infinitográfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 19 de Noviembre del 2017)
1.766 visualizaciones desde el 19 de Noviembre del 2017
99,3 KB
2 paginas
Creado hace 7a (28/04/2016)
Programaci´on: normas matriciales 1 e ∞

Objetivos. Programar las funciones que calculen las normas matriciales asociadas a las
normas vectoriales (cid:107) · (cid:107)1 y (cid:107) · (cid:107)∞.

Requisitos. Normas matriciales, programaci´on de funciones, ciclos for, entradas de ma-
trices.
1. F´ormulas. Dada una matriz A ∈ Mm×n(R), sus normas matriciales (cid:107) · (cid:107)matr,1 y
(cid:107) · (cid:107)matr,∞ se pueden calcular mediante las siguiente f´ormulas:

n(cid:88)

k=1

|Aj,k|.

(cid:107)A(cid:107)matr,1 = max
1≤k≤n

|Aj,k|,

(cid:107)A(cid:107)matr,∞ = max
1≤j≤m

m(cid:88)

j=1

2. Problema: la norma matricial 1. En alg´un lenguaje de programaci´on escribir una
funci´on que calcule la norma (cid:107)A(cid:107)matr,1 de la matriz dada A. Una posible soluci´on en el
lenguaje de MATLAB:

function result = matrixnorm1(A),

[m, n] = size(A);
result = 0;
for k = 1 : n,

s = 0;
for j = 1 : m,

s = s + ???;

end
result = max(result, s);

end

end

3. Problema: calcular la norma matricial 1 usando las funciones sum y max
de manera eficiente. Estudie la sintaxis de la funci´on sum del lenguaje MATLAB.
¿Qu´e pasa al aplicar esta funci´on a una matriz? Ejecute los siguientes comandos:

A = [3 4 5; 11 12 13; 51 52 53];
sum(A)
sum(A, 2)

Usando las funciones sum y max escriba la funci´on matrixnorm1 de manera m´as breve y
m´as eficiente, evitando ciclos.

Programaci´on: normas matriciales 1 e ∞, p´agina 1 de 2

4. Problema: la norma matricial ∞. En alg´un lenguaje de programaci´on escribir una
funci´on que calcule la norma (cid:107)A(cid:107)matr,∞ de la matriz dada A.

function result = matrixnorminf(A),

[m, n] = size(A);
...

end

5. Pruebas con matrices peque˜nas. Soluci´on en el lenguaje de MATLAB (guardar en
el archivo testmatrixnormsmall.m):

function [] = testmatrixnormsmall(),

A = [3 -4; -5 1];
display([matrixnorm1(A), norm(A, 1)]);
display([matrixnorminf(A), norm(A, Inf)]);

end

6. Pruebas con matrices grandes. Soluci´on en el lenguaje de MATLAB (guardar en
el archivo testmatrixnormlarge.m):

function [] = testmatrixnormlarge(),

for n = [256, 512, 1024, 2048, 4096],

display(n);
A = 2 * rand(n, n) - ones(n, n);
t = cputime();
r = matrixnorm1(A);
t1 = cputime() - t;
t = cputime();
r = matrixnorminf(A);
tinf = cputime() - t;
display([t1 tinf]);

end

end

Despu´es de ejecutar esta funci´on se recomienda corregirla de la siguiente manera: en vez
de n = 256, . . . , 4096 poner tales valores de n (por ejemplo, algunas potencias de 2) para
los cuales el tiempo de ejecuci´on es de 10−2 segundos a 102 segundos.
¿C´omo se cambia el tiempo de ejecuci´on al multiplicar n por 2?

Programaci´on: normas matriciales 1 e ∞, p´agina 2 de 2
  • Links de descarga
http://lwp-l.com/pdf7577

Comentarios de: Programación: normas matriciales 1 e infinito (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