Matlab - ciclo for

   
Vista:

ciclo for

Publicado por lorena (1 intervención) el 03/12/2013 00:10:40
tengo este programa, que resuelve una ecuacion diferencial por iteracion, usando criterio de Cauchy .... el problema que tengo es que cuando escribo x(0)=0 me sale error asi que pongo x(1)=0, pero no me resuelve correctamente por que las ecuaciones dependen de k, como puedo solucionarlo???
clear
clc
syms k x p xp t
dif=0
for k=2:10
x(k)=0
end
x(1)=0
x(11)=0
while dif< 0.0001
for k=2:10
t=1+(2*k/11)
xp(k)=x(k)
x(k)=((11+2*k)*(11+2*k-2)*x(k+1)+(11+2*k)*(11+2*k+2)*x(k-1)+16)/(2*(11+2*k+2)*(11+2*k-2))
hold on
plot(t,x(k),'-*k')
plot(1,0,'*')
plot(3,0,'*')
hold off
end

for k=2:10
dif=dif+(x(k)-xp(k))^2

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 Dave

ciclo for

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 07/12/2013 11:54:58
Lorena;

Lo que pasa que estás intentando crear o iniciar el vector x con el elemento de índice 0, Matlab iniciar sus vector desde el índice 1, es decir debería colocar
1
X(1) = 0
.

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.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