Scilab

Páginas: 15 (3546 palabras) Publicado: 29 de julio de 2012
Planteamiento de los problemas:
Se tiene la circulación de un fluido en una red de tuberías interconectadas, se conoce el volumen del flujo que pasa de un noto a otro, el sistema funciona similar a un circuito así que se puede aplicar Kirchoff para obtener las ecuaciones que nos permitirán calcular la presión en cada nodo, para ello debemos aplicar los métodos de newton y de jacobi.
Resolucion:Obteniendo las 4 ecuaciones nodales del dibujo dado
0,3p1-500-0,2p2-p1-0,1p3-p1=0
0,2p2-p1+0,2p2-p3-0,1p4-p2=0
-0,2p3-p2+0,1p3-p1-0,1p4-p3=0
0,1p4-p3+0,1p4-p2-0,2p4=0
Donde sustituimos:
p1=x , p2=y , p3=z , p4=w
A partir de las ecuaciones con las sustituciones ya dadas, realizamos cada método.
Para el método de newton, este método nos pide las ecuaciones derivadas así que aplicamos laderivada a cada ecuación para obtener las que se van a usar, y dado que tenemos un iterado inicial que es 0 podemos aplicar la formula de este método que es
x=Xc-F-1Xc*F(Xc)
Sustituyendo este primer iterado en la ecuación se obtiene el siguiente y así sucesivamente, hasta que se cumpla una condición que detenga el programa devolviéndonos el resultado final
Para el método de jacobi despejamos unavariable diferente de cada ecuación( de la primera x, de la segunda y, de la tercera z y de la cuarta w) para así conseguir una forma iterativa de jacobi, de la misma forma ya tenemos el primer iterado para así poder proseguir con el procedimiento conocido
Conclusiones:
La resolución de este problema se realizo sin ningún contratiempo ya que todo fue dado en clase así que nada quedo al azar,lo que podemos observar es que el método de jacobi es mucho más directo a la hora de dar el resultado que el método de newton que necesito 205 iteraciones para llegar al resultado correcto, las ultimas iteraciones del método de newton no se nota una diferencia notable todos los resultados se empezaron a aproximar.
Codigos desarrollados:
clear
clcprintf('Resolucion de un sistema de ecuaciones no lineales por newton y jacobi\n');
printf('\n');
printf('Para el metodo de newton ingrese los datos de la siguiente forma\n');
printf('newton(x0,y0,z0,w0,tol,maxit)\n'); printf('jacobi(x0,y0,z0,w0,tol)\n');
printf('\n')
printf('Tenga en cuenta que los valoresx0,y0,z0,w0 deben iniciar en 0, y la tolerancia es de 0.00001\n');

//metodo de newton
//aqui empieza el metodo de newton
//para newton se tienen las 4 funciones que siguen acontinuacion que no son mas que
//las ecuaciones que se obtuvieron aplicando LCK en los 4 nodos del dibujo dado por el profesor//ya que el metodo de newton pide las funciones derivadas pues tanto f1,f2,f3 y f4 son las funciones
//que conseguimos en cada nodo pero derivada
x0=0;y0=0;z0=0;w0=0;
//le asignamos valores iniciales a cada incognita que es cero
x=1;y=1;z=1;w=1;
sol1=0;sol2=0;sol3=0;sol4=0;
function f1=fun1(x, y,z, w)
f1=55/3*x-5*y-10*z-5000/3
endfunction
function f2=fun2(x, y, z, w)
f2=-5*x+20*y-5*z-10*w
endfunction
function f3=fun3(x, y, z, w)
f3=-10*x-5*y+25*z-10*w
endfunction
function f4=fun4(x, y, z, w)f4=-10*y-10*z+25*w
endfunction
a=[fun1(x,y,z,w);fun2(x,y,z,w);fun3(x,y,z,w);fun4(x,y,z,w)];
// el vector b, viene a ser el diferencial de cada funcion con respecto a x,y,z,w
//como se puede ver el primer dato consiste en tomar f1 y aplicarle el diferencial de x luego el de y, z,w
b=[55/3 -5 -10 0;-5 20 -5 -10;-10 -5 25 -10;0...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • scilab
  • SCILAB
  • Scilab
  • scilab
  • Un poco de scilab
  • Scilab tutorial
  • funciones Scilab
  • Scilab

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS