
ENCONTRAR LAS VECES QUE SE REPITE UNA MATRIZ DENTRO DE OTRA
Publicado por Javier (16 intervenciones) el 12/02/2017 13:40:35
Buenos días a todos:
Tengo que encontrar el nº de veces que se encuentra repetida una matriz "pequeña" dentro de otra mas "grande".
El programa que he realizado es el siguiente:
Sin embargo, cuando la llamada a la función me sale el siguiente mensaje de error:
Error: File: mi_encuentra3.m Line: 16 Column: 21
()-indexing must appear last in an index expression.
y no entiendo por que.
Muchas gracias y un saludo a todos.
Tengo que encontrar el nº de veces que se encuentra repetida una matriz "pequeña" dentro de otra mas "grande".
El programa que he realizado es el siguiente:
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
function m = mi_encuentra3(A,B)
nF=4; %Nº de filas de la matriz de entrada A
nC=4; %Nº de columnas de la matriz de entrada A
nf=2; %Nº de filas de la matriz de entrada B
nc=2; %Nº de columnas de la matriz de entrada B
n_compara_filas=nF-nf+1; %Nº de comparaciones ha realizar por filas
n_compara_columnas=nC-nc+1; %Nº de comparaciones ha realizar por columnas
m=0; %Variable que contabiliza las matrices B encontradas en A
%Metemos en "m" el nº de veces que se repite la matriz "B" en "A"
for i=1:n_compara_filas
for j=1:n_compara_columnas
existe=1;%Suponemos de inicio que en la 1ª comparacion la matriz "B" esta en "A"
for x=1:nf
for y=1:nc
if (B(x)(y)~=A(i+x-1)(j+y-1)) %Comparamos el primer termino de ambas matrices
existe=0; %Si es distinto la matriz "B" no esta en esa posicion
end
end
end
if existe==1; %Si se cumple el "if" anterior
m=m+1; %Aumentamos el nº de matrices encontradas en una unidad
end
end
end
Sin embargo, cuando la llamada a la función me sale el siguiente mensaje de error:
Error: File: mi_encuentra3.m Line: 16 Column: 21
()-indexing must appear last in an index expression.
y no entiendo por que.
Muchas gracias y un saludo a todos.
Valora esta pregunta


0