Matlab - promedio de diagonales

   
Vista:

promedio de diagonales

Publicado por toni (44 intervenciones) el 21/08/2015 23:57:56
Hola a todos, tengo que hacer un promedio de la "diagonales" de una matriz.
Aquí va un resumen de la matriz A.
4 5 6 8
1 2 7 9
4 7 5 6
3 2 5 8
7 4 6 8
4 8 9 10


la primera media seria mean [A(1,1) A(2,2) A(3,3)] ó (4+2+5)/3
seguna media ...........mean [A(2,1 ) A(3,2) A(4,3)] ó (1+7+5)/3
.
.
.
.
mean [A(1,2) A(2,3) A(3,4)] ó (5+7+6)/3

gracias

esto es una matriz grande.
alguna idea?
nuevamente gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Royeth

promedio de diagonales

Publicado por Royeth jesus.royeth@gmail.com (835 intervenciones) el 22/08/2015 01:04:50
1
2
3
4
5
6
7
8
A=[4 5 6 8;1 2 7 9;4 7 5 6;3 2 5 8;7 4 6 8;4 8 9 10];
B=A(:,1:3);%estás despreciando la cuarta columna según lo que veo
k=1;
for i=length(B(1,:))-1:-1:-(length(B(:,1))-1)
    D(k)=mean(diag(B,i));
    k=k+1;
end
disp(D)


Saludos
https://www.facebook.com/royethmatlab
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

promedio de diagonales

Publicado por toni (44 intervenciones) el 01/09/2015 22:42:42
Hola Jesus.
Me puedes ayudar a terminar la matriz, ingrese tu sugerencia y funcionó, ahora como hago para pasar a la diagonal de la 2, 3 y 4 columna, bueno la matriz tiene 9 columnas quiero que la operaci'on llegue hazta le media de la diagonal de la columna 7, 8 y 9.
Los resultados quiero tenerlo en una sola matriz que tendra 7 columnas.
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

promedio de diagonales

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3690 intervenciones) el 27/12/2016 14:13:09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clear all
clc
  A=[   8    17    15     7     7    12     7     5    17    10    14    12
          11    20    15    12    15     3     5    19     6     8    15    19
         20    19    11    16    18    17    19    15     8    12    15     2
         15     8     7      15     5      3     14    17     17    16     8    10
         20     0    17     3       3     10    19    11     12     2     9    10
         5     11    11    16      5     20     9     16     20    16    19     2
        11     4    19     1     7     7    19     7     4            17    11    18
        1      4    18     8     6     1     0     4    17               7    17    18
       15      7     7    15    19     4    12     6            14     9     6     9
       12      2    11    16     1     8    16    12          5    11    12    16]
[f,c]=size(A);
for j=1:c-2;
    for i=1:f-2
     T(j,i)=mean(diag(A(i:i+2,j:j+2))) ;
    end
end
T


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
> media_triangular
 
A =
 
     8    17    15     7     7    12     7     5    17    10    14    12
    11    20    15    12    15     3     5    19     6     8    15    19
    20    19    11    16    18    17    19    15     8    12    15     2
    15     8     7    15     5     3    14    17    17    16     8    10
    20     0    17     3     3    10    19    11    12     2     9    10
     5    11    11    16     5    20     9    16    20    16    19     2
    11     4    19     1     7     7    19     7     4    17    11    18
     1     4    18     8     6     1     0     4    17     7    17    18
    15     7     7    15    19     4    12     6    14     9     6     9
    12     2    11    16     1     8    16    12     5    11    12    16
 
 
T =
 
   13.0000   12.3333   15.0000    8.6667   16.6667    9.0000    7.3333    6.3333
   16.0000   15.3333    9.6667   13.6667    4.0000   12.6667   12.3333    9.0000
   15.0000   12.0000    9.6667    5.0000   13.3333    6.0000   15.3333   11.3333
   13.0000   11.0000   10.3333   12.6667    5.0000    8.0000    3.6667   11.6667
    9.6667   15.3333   13.3333    8.0000   14.0000    4.0000    6.6667    8.6667
   10.6667   13.0000   14.0000   12.6667    8.6667   14.3333    4.3333    8.3333
   11.3333   12.3333   16.0000   15.0000   13.0000   11.0000   12.3333    3.6667
    7.6667   14.3333   11.3333   15.0000   16.0000    9.0000   11.0000    9.6667
   13.3333    8.6667   11.0000   12.6667   13.0000   18.0000    5.6667   12.6667
    9.0000   11.0000   10.0000    9.0000   13.0000   15.0000   14.3333    9.6667


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar