Matlab - Error in MuPAD command: Index exceeds matrix dimensions.

 
Vista:
sin imagen de perfil

Error in MuPAD command: Index exceeds matrix dimensions.

Publicado por Marcos (9 intervenciones) el 16/03/2015 17:04:38
Hola buenas tardes amigos,
llevo un tiempo intentando resolver este codigo pero me atasco en el error que les marco en el mismo. El codigo es mucho mayor pero creo que este fragmento es una buena representacion para lo que necesito corregir.

Error in MuPAD command: Index exceeds matrix dimensions.

Gracias por su ayuda!! ^^

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


A=[1 1;
1 -0.5;
4 -0.5;
4 -2;
3 0.5];
L=5;
D= [0 4.24 3.04 3.95 2.02;
0 0 3 3.4 2.23;
0 0 0 2.02 2.98;
0 0 0 0 4.01
0 0 0 0 0];

T= [0 32 27 19 29;
0 0 49 48 30;
0 0 0 67 80;
0 0 0 0 57
0 0 0 0 0];
alpha=0.5;
num_iter=45;

mat=zeros(12,6,num_iter);

aux2=1;
aux4=1;
syms x y ya yb yc
xx=[];
yy=[];
xxx=[];
yyy=[];


for k=1:5-2
for kk=1:5
if (k<kk)

for i=1:5-1
for ii=1:5
if( (i<ii && i>=k && ii>kk) || (i<ii && i>=k+1 ) )


[xx,yy]=solve(sqrt((A(k,1)-x)^2 +(A(k,2))^2 ) + alpha*(y-x) + sqrt((A(kk,1)-y)^2 +(A(kk,2))^2 ) == D(k,kk),...
sqrt((A(i,1)-x)^2 +(A(i,2))^2 ) + alpha*(y-x) + sqrt((A(ii,1)-y)^2 +(A(ii,2))^2 ) == D(i,ii));

dim=length(xx);
aux3=0;
for aux2=1:dim
imagx=imag(xx(aux2));
imagy=imag(yy(aux2));
if (imagx == 0.00 || imagy == 0.00)%solo lo consideramos solucion si la x e y no son imaginarios
aux3=aux3+1;
xxx(aux3)=xx(aux2);
yyy(aux3)=yy(aux2);
end
end

mat(1,1,aux4)=k;
mat(1,2,aux4)=kk;
mat(1,3,aux4)=i;
mat(1,4,aux4)=ii;
for p=1:dim
mat(p,5,aux4)=xxx(p);
mat(p,6,aux4)=yyy(p);

end

aux4=aux4+1;
end
end
end

end
end
end


for p=1:num_iter
if (mat(1,5,p)==0 && mat(1,6,p)==0);
ek=mat(1,1,p);
ekk=mat(1,2,p);
ei=mat(1,3,p);
eii=mat(1,4,p);


flag=0;
flag1=0;
flag2=0;
flag3=0;
flag4=0;


if flag4==0
for xaux=0:0.1:L
ecu=sqrt((A(ek,1)-xaux).^2 +(A(ek,2)).^2 ) + alpha* (y-xaux) + sqrt((A(ekk,1)-y).^2 +(A(ekk,2)).^2 ) - D(ek,ekk);
yg=solve(ecu,y);
for id=1:12
if flag==0
yaux=yg(id,1); %%%%%%%%%%%%%%%%%%%%%%%%%%AQUI DA EL ERROR!!!!!!!!!!!

yaux=double(yaux);
if imag(yaux)==0 && yaux<=L && xaux<yaux


if sqrt((A(ei,1)-xaux).^2+(A(ei,2)).^2 ) + alpha* (yaux-xaux) + sqrt((A(eii,1)-yaux).^2 +(A(eii,2)).^2 ) <= D(ei,eii)

mat(1,5,p)=xaux;
mat(1,6,p)=yaux;
flag=1;
flag4=1;
end
end
end
end
end
end
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

Error in MuPAD command: Index exceeds matrix dimensions.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/03/2015 19:56:48
A mi no me sale ese error. Acabo de ejecutarlo. Si deseas te puede ofrecer mis servicios de asesorías online. Las condiciones de asesorías están en mi blog personal.
De esa manera se puede buscar una solución rápida a tu problema.

Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
skype: josejeremiascaballero
Estimado Usuario, 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
0
Comentar