Вы находитесь на странице: 1из 10

Parte 1.

a) El ciclo !"# que va de la lnea 4 a la lnea 13 genera las primeras condiciones para los trazadores cbicos en una matriz A, donde las primeras condiciones se consideran como cada una de las funciones evaluadas en los puntos, es decir, se generan las condiciones para !! !! ! !! ! ! ! !! ! ! ! ! !! empezando en el primer punto y, dependiendo de los intervalos, son las ecuaciones que se generan. Es importante mencionar que los trazadores tienen la forma fi(xi) = ai + bix + cix2 + dix3, por lo que las ecuaciones que se van a ver en la matriz empiezan con la constante y as hasta el elemento cbico del trazador. b) Para el ciclo !"#$que va de la lnea 15 a la lnea 22 genera las ecuaciones para la condicin cuando las derivadas de las funciones se igualan entre s, usando una nueva matriz B. Es decir, se estn generando las ecuaciones para !!! !!!! ! !!!!! !!!! ! ! ! !! ! ! ! ! ! !, donde el subndice i menciona que empieza en el nmero dos porque los puntos inicial y final no se toman en cuenta, es decir, slo se generan las primeras derivadas para las funciones pero se evalan nicamente en los puntos interiores, en esta condicin se omiten los puntos de los extremos. c) Como para cada ciclo !"#$anterior se gener una nueva matriz, la asignacin de la lnea 23 lo nico que hace es unir o juntar las matrices anteriormente generadas, las matrices A y B, y lo que hace la asignacin es ponerla como vectores verticales, pero en realidad lo nico que hace es generar un matriz nica con las 2 matrices anteriores, es decir, hace que A sea la unin o concatenacin de las matrices A y B. d) En el cdigo que va de la lnea 25 a la 30 se observa que la matriz B se inicializa de nuevo, se pone en blanco para volver a utilizarse y ahora se generan las ecuaciones para las segundas derivadas de las funciones evaluadas en los puntos internos, es decir, se cumple la condicin !!!! !!!! ! !!!! !! !! !! ! ! ! !! ! ! ! ! ! ! , empezando en i = 2 porque, como se ha mencionado anteriormente, se evalan en los puntos interiores y los puntos extremos se omiten para esta condicin. Al terminar el ciclo se vuelven a concatenar las matriz generada a la matriz unificada A, para que se pueda volver a vaciar la matriz B y no utilizar matrices de ms. e) En las asignaciones de la lneas 33 a la 36, sin olvidar que se ha vaciado la matriz B para ser utilizada en estas asignaciones, se puede observar que lo que se est haciendo es generar las terceras derivadas de las funciones de los trazadores cbicos, y debido a que son cbicos, la tercera derivada de un polinomio cbico queda de la forma f(x)=6x, por lo que las asignaciones son a un 6 positivo por parte de la funcin y un 6 negativo porque se est igualando a la funcin contigua a la otra funcin. Esta es la condicin not a knot que genera el cdigo, pues son las ltimas dos ecuaciones que se necesitan para completar los trazadores cbicos y ejecutar la interpolacin. Cabe mencionar que estas ecuaciones estn evaluadas en los puntos segundo y penltimo, por lo que slo se generaran 2 ecuaciones. f) El ciclo !"# de las lneas 38 a la 41 genera el vector columna al que se debe igualar la ecuacin Ax = b, donde b es el vector que se est generando con esa porcin de cdigo y x es el vector solucin, que en el cdigo est expresado como c. Lo nico que hace el ciclo es mandar los valores del

vector de datos y al nuevo vector b, ya que son las igualaciones que se deben de hacer por cada ecuacin que se est generando en la matriz A. Para las ecuaciones que deben estar igualadas se van a generar ceros en el vector b y para eso es que est tambin la funcin del ciclo, donde va a generar un vector del tamao de la matriz A para que las operaciones matriciales sean vlidas. g) En la lnea 42 se resuelve el sistema de ecuaciones multiplicando la inversa de la matriz A por el vector b, para generar el vector solucin c, de donde se van a obtener todas las constantes para los trazadores cbicos. Estas constantes sern sustituidas en cada una de las funciones fi(xi), segn sea el caso. h) El ltimo ciclo !"#$genera las funciones fi(xi) utilizando el nuevo vector obtenido c, por lo que sustituye todas las constantes como se haba mencionado anteriormente y con estas funciones poder interpolar. El ciclo utiliza el parmetro t que es el punto donde se desea interpolar. Tambin es importante mencionar que este parmetro t debe de estar en el rango del vector de datos x de forma que no se pase o se exceda del lmite para que no genere datos errneos o atpicos. El comando %#&'($lo que permite es que termine el ciclo una vez que se han generado las funciones de con los trazadores.

Parte 2.
a) Para el mtodo de not a knot se presenta la grfica siguiente.

!"#$%&' (!"#$%&'()"*+$,+-+('+-,+")",$).)/0$+1"(23'(01"/+"4)"
&0$5)" 6-0," )" 7-0,89" :,'4'.)-/0" )4" 5+-01" ;" *:-,01" *)$)" <$)&'()$!"

b) Para el mtodo de trazadores naturales se modific el cdigo en el rango de lneas de la 33 a la 36 y se implement el cdigo siguiente.
B(1,3)=2 B(1,4)=6*x(1) B(2,4*length(x)-5)=2 B(2,4*length(x)-4)=6*x(length(x))

Donde ahora se generan las condiciones donde las segundas derivadas estn evaluadas en los puntos inicial y final. Para las dos primeras lneas del cdigo se obtiene que se genera una constante con el valor de 2 y luego multiplicar el valor inicial por un 6, debido a la segunda derivada del polinomio cbico expuesto en la parte 1. En las siguientes dos lneas se realiza lo mismo para el punto final, donde se tiene tambin la constante de valor 2 y el valor final multiplicado por 6. La grfica para este mtodo se observa a continuacin.

!"#$%&' )*" =-" +1,)" <$%&'()" 1+" 031+$>)-" 401" ,$).)/0$+1"


(23'(01"/+"4)"&0$5)"6-),:$)48"/0-/+"4)1"1+<:-/)1"/+$'>)/)1" +>)4:)/)1" +-" 401" *:-,01" '-'(')4" ?" &'-)4" 1+" '<:)4)-" )" (+$0!" @" (05*)$)('A-" /+" 4)" &'<:$)" B9" 4)1" $+(,)1"/+"401" +C,$+501" 10-" 5%1" 4'-+)4+19" -0" ,'+-+" ()1'" -)/)" /+" (:$>),:$)" (050" 1+" )*$+(')"+-"4)"&'<:$)"B!"

c) El siguiente mtodo a exponer es el mtodo de trazadores con la opcin clamped. En esta opcin se debe de igualar la primera derivada de las funcin prxima a los puntos extremos a la derivada evaluada en estos mismo puntos, es decir, de la forma !!! !! ! !"#!!! donde der() es la derivada numrica, es decir, ya evaluada en el punto inicial de la funcin prxima a este punto, en este caso, la funcin f1; cabe mencionar que se debe hacer lo mismo con el punto final y la funcin final. El cdigo completo para este mtodo de splinning se encuentra en la seccin de anexos, sin embargo, se explicarn ciertas porciones de cdigo por el simple hecho de que es fcil de percatarse de ciertas cosas ms generales.

B(1,2)=1 //Opcin clamped B(1,3)=2*x(1) B(1,4)=3*x(1)^2 B(2,4*length(x)-6)=1 B(2,4*length(x)-5)=2*x(length(x)) B(2,4*length(x)-4)=3*x(length(x))^2

Esta porcin del cdigo va de la lnea 33 a la 38, y es la parte que se sustituye del cdigo original, donde va la igualacin de las terceras derivadas. Este mtodo requiere que se conozca la derivada evaluada en los puntos final e inicial, por lo que se tuvo que utilizar el mtodo anterior de splinning para encontrar los valores de las funciones y sustituirlos, despus, utilizar los valores inicial y final y realizar una derivada evaluada en esos puntos. Estos nuevos valores se pusieron en un vector, llamado der, como es que lo pide la funcin original de Scilab, donde el tipo de splinning clamped necesita estos nuevos valores. Por otra parte, se necesit del siguiente cdigo para la igualacin de estos nuevo valores.
A=[A;B] for i=1:length(x)-1 b(2*i-1)=y(i) b(2*i)=y(i+1) end b(length(b)-1)=der(1); b(length(b))=der(2);

Como se haba mencionado anteriormente, se necesita un nuevo vector con los valores de las derivadas evaluadas, por lo que se gener un vector llamado der, sin embargo, el mtodo requiere que se iguale la derivada a estos nuevos valores. Las ltimas lneas de esta porcin del cdigo hacen eso, ponen los valores en el vector b, que es el vector de igualacin o el vector que toma los datos del vector y, los anexa en las ltima posiciones debido a que estos valores pertenecen a las ltimas ecuaciones, por lo que tienen que estar en las posiciones penltima y ltima. Por ltimo, la grfica de este mtodo se coloca a continuacin, aunque la grfica es bastante anormal y quiz exista algn problema de edicin o de generacin de cdigo.

!"#$%&' +*" #$%&'()"


*+$,+-+('+-,+" )4" 5D,0/0" 6(4)5*+/8" /+" 1*4'--'-<!" E)" <$%&'()" " +1,%" (05*$'5'/)"?"-0"1+" 44+<)" )" )*$+(')$" 5:?" 3'+-9" *+$0" ,'+-+" :-)" 1'5'4',:/" (0-" 4)1" 0,$)1" &'<:$)1!"

d) El ltimo mtodo de splines que se expondr ser el mtodo peridico. Este mtodo slo funciona funciones que son peridicas, debido a que se requiere que los puntos inicial y final deben tener el mismo valor o, en su defecto, ser el mismo nmero. Esto es necesario porque para este mtodo se igualarn la primera y segunda derivada de las funciones de los extremos en los puntos inicial y final del vector de datos y, pero esto slo es posible si los valores son los mismos. Para poder explicar este mtodo se anexar el cdigo al final, en la seccin de anexos, pues los vectores de datos tambin deben de ser modificados. Para explicar este cdigo, debido a que est en los anexos, se referir nicamente en el nmero de lnea. Para empezar, este mtodo utiliza las derivadas primeras y segunda de las funciones de los extremos y las evala en los puntos extremos, y despus iguala las primeras derivadas y por ltimo iguala las segundas derivadas. Esto es lo que se gener en el cdigo. De la lnea 33 a la 38 del cdigo del anexo 2 se encuentra el cdigo con el que se igualan las primeras derivadas en los puntos extremos. Lo nico que se hace es tomar en cuenta las posiciones de cada valor y sustituirla por los valores iniciales. Tambin es importante mencionar que el valor respectivo de esa entrada en el vector x es el mismo en cada punto extremo. De la lnea 39 a la 42 se aprecia el mismo comportamiento, nada ms que en esta ocasin se igualan las segundas derivadas evaluadas en los puntos extremos. La grfica para este mtodo se expresa a continuacin, pero es importante mencionar que la grfica est forzada, es decir, como no se cuenta con una funcin peridica simplemente se est generando la grfica para estos valores.

!"#$%&' ,*" #$%&'()"*)$)"


+4" 5D,0/0" *+$'A/'(0" /+" 1*4'--'-<!" F+" *:+/+" 031+$>)$" G:+" 4)" <$%&'()" +1,%" (05*$'5'/)" ?" +1,%" &0$.)/)" /+3'/0" )" G:+" 401" >)40$+1" /+4" >+(,0$" /+" /),01" 6?8" 10-" +4" 5'150!""

Parte 3.
a) Las 4 aplicaciones de los splines en Boeing son las siguientes: a. Los splines son utilizados en el diseo asistido por computadora, donde los splines son utilizados para representar las entidades geomtricas que forman la base de los datos en la relacin producto inmaduro-definido. b. Por otro lado, en vez de utilizar el diseo por computadora, se utilizan los splines en la manufactura asistida por computadora, donde los splines determinan el camino que las mquinas cortadoras van a seguir. Incluso pueden ser utilizados para el manejo de correcciones o de consideraciones como lo son la temperatura, el viento, etc. c. Para otra parte de las aplicaciones estn la simulacin de datos de la dinmica de fluidos, fundamental en el mbito aeronutico. En otros caso tambin se utilizan los splines para representar las condiciones de frontera geomtricas, dado que los splines pueden representar muy bien muchas figuras. Por otro lado, tambin son utilizados para modelar las propiedades de los materiales y sus grosores, composiciones qumicas atmosfricas y su reactividad. d. En el ltimo mbito de aplicacin para los splines se utilizan en los sistemas de navegacin embebidos en el mismo sistema del Boeing, como por ejemplo el sistema automtico de navegacin, donde son una parte fundamental para el correcto desempeo de este sistema de navegacin. b) Normalmente no se utilizan mtodos que salen de la literatura tcnica, siempre pasan por un proceso de simulacin y correccin, debido a que es comn que se produzcan ciertos errores o pequeas fluctuaciones en el proceso de ejecucin de los nuevos mtodos. Lo que normalmente se hace para poder utilizar estos mtodos salido de la literatura es refinarlos y aumentar o mejorar la idea para lo que se va a aplicar y con esto es posible que se corrijan los errores encontrados. Slo en casos muy raros como los B-splines o la colocacin Boor-Schwartz es que estos mtodos funcionan sin necesidad de correcciones.

Parte 4.
Los splines en el rea del diseo son fundamentales, pues son todas aquellas curvas que se utilizan para cualquier modelacin. Como lo menciona en la pgina de Autodesk Alias (Autodesk, 2010) los splines son puntos que lo que hacen es que, una lnea recta la deforman hasta generar ciertas curvas que son las que se desean. La implementacin de generar splines desde puntos es una parte fundamental de la aplicacin de los splines porque terminan siendo lo que ms se utiliza; las cosas rara vez cuentan con lados rectos o puntiagudos y es donde los splines hacen su aparicin. Los software de diseo saben perfectamente que la nica forma de generar lneas con curva es utilizando splines, o el mtodo de deformar una lnea recta mediante puntos

con lo que se generan esos lados ondulados. Modelar esos splines no es tan fundamental como en la aplicacin matemtica o incluso estadstica, pero es impresionante que los splines estn en todos lados, desde el diseo, las matemticas hasta la manufactura de aviones.

Referencias.
!
@:,0/+17!"HIJBJK!"!"#$%&'(%)(*+,"-.!"L+,$'+>+/"M)$.0"BN9"IJBO9"&$05" @:,0/+17"@4')1P" Q,,*PRRSSS!):,0/+17!(05R,+(Q*:31R)4')11,:/'0RIJBJR'-/+C!Q,54T:$4U VFB)WBWXYINOZZ&Z&&O+OIB/;/BB3&BJYJJB/[ NY(N!Q,59,0*'(\:53+$U/J+OXNWY" ]:$/+-9"L!"E!9"^"_)'$+19"`!"a!"HIJBBK!"/-$.&+%,0$"%-(0-1(2%,"-%3"0,( 4++&%5"30$"%-6"L+,$'+>+/"M)$.0"BN9"IJBO9"&$05"a:34'-"b',?"c-'>+$1',?P" Q,,*PRRSSS!*+$10-)4!*1:!+/:Rdd3IXRS+3RQ,54R14OZZFeBIR(QXRbfJXgZ b!*/&" h0',4+9"`!"HIJJJK!"70$8&0,(0-1(9,03+.1(98:";(*+,"-.(/-$.&+%,0$"%-6" L+,$'+>+/"M)$.0"BN9"IJBO9"&$05"i$+)1:$?"_'-)-(+P" Q,,*PRRSSS!,$+)1:$?&'-)-(+!(05Rb:3'(F*4'-+!*/&"

"

Anexos
Anexo 1: Splines Cbicos de la forma clamped.
x = [0,2,4,6,7,9,11]; y = [0,1,2,1,2,3,4]; der = [0.3864697;10.689507]; function z=SplinesCubicos(x, y, t, der) A=[] b=zeros(4*(length(x)-1),1) for i=1:length(x)-1 A(2*i-1,4*i-3)=1 A(2*i-1,4*i-2)=x(i) A(2*i-1,4*i-1)=x(i)^2 A(2*i-1,4*i)=x(i)^3 A(2*i,4*i-3)=1 A(2*i,4*i-2)=x(i+1) A(2*i,4*i-1)=x(i+1)^2 A(2*i,4*i)=x(i+1)^3 end B=[] for i=2:length(x)-1 B(i-1,4*i-6)=1 B(i-1,4*i-5)=2*x(i) B(i-1,4*i-4)=3*x(i)^2 B(i-1,4*i-2)=-1 B(i-1,4*i-1)=-2*x(i) B(i-1,4*i)=-3*x(i)^2 end A=[A;B] B=[] for i=2:length(x)-1 B(i-1,4*i-5)=2 B(i-1,4*i-4)=6*x(i) B(i-1,4*i-1)=-2 B(i-1,4*i)=-6*x(i) end A=[A;B] B=[]; B(1,2)=1 //Opcin clamped B(1,3)=2*x(1) B(1,4)=3*x(1)^2 B(2,4*length(x)-6)=1 B(2,4*length(x)-5)=2*x(length(x)) B(2,4*length(x)-4)=3*x(length(x))^2 A=[A;B] for i=1:length(x)-1 b(2*i-1)=y(i) b(2*i)=y(i+1) end b(length(b)-1)=der(1); b(length(b))=der(2); c=inv(A)*b for i=1:length(x)-1 if x(i)<=t & t<=x(i+1) then z=c(4*i-3)+c(4*i-2)*t+c(4*i-1)*t^2+c(4*i)*t^3 break end end

endfunction cx=[x(1):0.1:x(length(x))]' for i=1:length(cx) cy(i)=SplinesCubicos(x,y,cx(i),der) end plot(x,y,".r") plot(cx,cy)

Anexo 2: Splines Cbicos por el mtodo periodic.


x = [0,2,4,6,7,9,11]; y = [0,1,2,1,2,3,0]; function z=SplinesCubicos(x, y, t) A=[] b=zeros(4*(length(x)-1),1) for i=1:length(x)-1 A(2*i-1,4*i-3)=1 A(2*i-1,4*i-2)=x(i) A(2*i-1,4*i-1)=x(i)^2 A(2*i-1,4*i)=x(i)^3 A(2*i,4*i-3)=1 A(2*i,4*i-2)=x(i+1) A(2*i,4*i-1)=x(i+1)^2 A(2*i,4*i)=x(i+1)^3 end B=[] for i=2:length(x)-1 B(i-1,4*i-6)=1 B(i-1,4*i-5)=2*x(i) B(i-1,4*i-4)=3*x(i)^2 B(i-1,4*i-2)=-1 B(i-1,4*i-1)=-2*x(i) B(i-1,4*i)=-3*x(i)^2 end A=[A;B] B=[] for i=2:length(x)-1 B(i-1,4*i-5)=2 B(i-1,4*i-4)=6*x(i) B(i-1,4*i-1)=-2 B(i-1,4*i)=-6*x(i) end A=[A;B] B=[]; B(1,2)=1 B(1,3)=2*x(1) B(1,4)=3*x(1)^2 B(1,4*length(x)-6)=-1 B(1,4*length(x)-5)=-2*x(length(x)) B(1,4*length(x)-4)=-3*x(length(x))^2 B(2,3)=2 B(2,4)=6*x(1) B(2,4*length(x)-5)=-2 B(2,4*length(x)-4)=-6*x(length(x))

A=[A;B] for i=1:length(x)-1 b(2*i-1)=y(i) b(2*i)=y(i+1) end c=inv(A)*b for i=1:length(x)-1 if x(i)<=t & t<=x(i+1) then z=c(4*i-3)+c(4*i-2)*t+c(4*i-1)*t^2+c(4*i)*t^3 break end end endfunction cx=[x(1):0.1:x(length(x))]' for i=1:length(cx) cy(i)=SplinesCubicos(x,y,cx(i)) end plot(x,y,".r") plot(cx,cy)

Вам также может понравиться