Matlab - AYUDA!! .... error: Subscripted assignment dimension mismatch.

   
Vista:

AYUDA!! .... error: Subscripted assignment dimension mismatch.

Publicado por Marcelo maracupin@hotmail.com (9 intervenciones) el 23/02/2015 18:51:36
Hola,
estoy trabajando para conseguir rellenar una matriz f la cual tendrá algunos elementos 0 y otros un valor que deseo calcular como aparece en el código despues quiero representar sus curvas de nivel y me aparecen esos dos errores:

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
29
30
31
32
33
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A=[1 -6; 3 5; -8 4 ; 7 5.3698];
L=25;
D=[0 1.3 1.6 0.9; 0 0 1.39 1.875; 0 0 0 2.01 ; 0 0 0 0];
alpha=0.5;
[numpueblos,numcoord]=size(A);
xa=0:0.1:L;      ya=0:0.1:L;
[x,y]=meshgrid(xa,ya);
 
 
%CALCULO DE LAS fij:
f=zeros(numpueblos,numpueblos) ;
for i=1:numpueblos
    for j=1:numpueblos
                 if(i~=j && x<y )
                               f(i,j)= sqrt( (A(i,1)-x)^2 +(A(i,2))^2 )  +  alpha* (y-x)   +  sqrt((A(j,1)-y)^2 +(A(j,2))^2 )    - D(i,j) ; %%%%%%%%%%%%%%%%%%% ERROR: Subscripted assignment dimension mismatch
                end
    end
end
 
%%
%DIBUJO DE LOS CONTORNOS
for i=1:numpueblos
    for j=1:numpueblos
        if(i<j)
            contour(x,y,f(i,j),[0,0])
%%%%%%%%%%%%%%%%%%ERROR: Z must be size 2x2 or greater
            hold on
 
        end
    end
end
%%%%%%%%%%%%%%%%%%%%%FIN%%%%%%%%%%%%%%%%%%%%%%%%

Gracias por sus aportes
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

AYUDA!! .... error: Subscripted assignment dimension mismatch.

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 24/02/2015 14:36:26
1
2
3
4
5
>> whos x y
  Name        Size              Bytes  Class     Attributes
 
  x         251x251            504008  double
  y         251x251            504008  double


los x e y son matrices, cuando compares como resultado te va a dar una matriz. Ademas (y-x) es una matriz, pero f(i,j) es un entrada de 1x1 entonces no puedes asignar una matriz a ese entrada.


Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com
Estimado Usuario de Matlab, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


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
2
Comentar