Matlab - Subrutina para crear matriz tridimensional

 
Vista:

Subrutina para crear matriz tridimensional

Publicado por Agustín (1 intervención) el 20/03/2013 20:49:44
Buenas tardes a todos

Estoy creando un programa en matlab para analizar defectos en fotografias

Tengo que crear una matriz tridimensional que estará formado por todas las matrices 100x100 que tengan 0 en todas las celdas excepto en las que formen un "cuadrado" de lado múltiplo de 5, con vértice inferior izquierdo en una celda con coordenadas múltiplo de 5 y que estén rellenas por unos.

Como cada "cuadrado" queda determinado por dos vértices opuestos, el número de cuadrados con vértice inferior izquierdo igual a (x,y) tiene que ser
20 -max{x, y} así que el número total de cuadrados será aproximadamente de (20x21)^2 /2 =88200

En resumen, quiero crear una matriz tridimensional tal que, para cada i, la submatriz bidimensional A(i, *, *) sea una matriz 100x100 formada por ceros, salvo por un cuadrado de unos como los indicados arriba. El índice i tiene que recorrer todas las posibles matrices de este tipo (o sea i=1, ..,88200, si no me he equivocado arriba).

alguna idea?
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Subrutina para crear matriz tridimensional

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 23/03/2013 07:37:29
Tu pregunta se puede hacer, pero implica tiempo hacerlo. Solo te doy un adelanto de la forma de crear hipematrices.
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
>> A(:,:,1)=rand(5)
 
A =
 
    0.8062    0.3384    0.2031    0.8090    0.0735
    0.9583    0.4547    0.3754    0.2190    0.5052
    0.9937    0.7700    0.7087    0.3284    0.2742
    0.4256    0.7557    0.1635    0.4620    0.5676
    0.4332    0.9924    0.3240    0.3523    0.0275
 
>> A(:,:,2)=rand(5)
 
A(:,:,1) =
 
    0.8062    0.3384    0.2031    0.8090    0.0735
    0.9583    0.4547    0.3754    0.2190    0.5052
    0.9937    0.7700    0.7087    0.3284    0.2742
    0.4256    0.7557    0.1635    0.4620    0.5676
    0.4332    0.9924    0.3240    0.3523    0.0275
 
 
A(:,:,2) =
 
    0.6137    0.4305    0.1069    0.5214    0.2484
    0.4236    0.5503    0.0930    0.9418    0.9360
    0.6453    0.1225    0.1886    0.6375    0.8021
    0.3061    0.1304    0.6835    0.7186    0.7616
    0.2908    0.2288    0.5415    0.4244    0.0618



Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
[email protected]

http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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