Anuncio

Colapsar
No hay ningún anuncio todavía.

Métodos de Interpolación, MATLAB

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Matlab Métodos de Interpolación, MATLAB

    Hola! soy estudiante de ingeniería civil química y me han dado una tarea sobre los metodos de interpolación. Estoy muy perdida con esto.. ya que no entiendo muy bien que es lo que me piden. Les dejo la tarea, pero principalmente me interesa entender la pregunta 2, ya que piden que se grafique para todos los n y por lo que entiendo n es uno de los parametros que se ingresa.. Saludos y gracias



    Haz clic en la imagen para ampliar

Nombre:	p2.jpg
Vitas:	1
Tamaño:	94,8 KB
ID:	310386

  • #2
    Re: Métodos de Interpolación, MATLAB

    Para cada n te saldrá una interpolación. Supongo que con un "hold on" podrás graficar todas en un solo gráfico en ese intervalor. Eso sí, ten en cuenta que para dibujar eso tienes que sacar el valor de la función con feval o funciones similares. Para que te salga bien yo que tú cogería en el intervalo unas 150 divisiones.

    Un saludo!
    Última edición por gdonoso94; 11/04/2013, 13:35:26.
    'Como físico, no temo a la muerte, temo al tiempo.'
    'Bene curris, sed extra vium.'
    'Per aspera ad astra.'

    Comentario


    • #3
      Re: Métodos de Interpolación, MATLAB

      Hola, gracias por responder, lo que pasa es que primero estoy tratando de hacer la función pero me sale con errores.. mucho no se de MATLAB y es por eso que estoy muy colgada, te dejo el código

      function L = Lagrange(n)
      p=(-1:0.1:1);
      for i=1:n+1
      x=(-1+(2/n)*i);
      for j=1:n+1
      y=(-1+(2/n)*j);
      if x~=y
      t=(p-x)/(y-x);
      end
      end
      end
      L=t
      end





      %
      eso me arroja los valores de t como un vector fila, pero tenia entendido qe el lagrange era la pitatoria de estos resultados.. al inicializar t=1 y luego ir ponderandolo por el t nuevo me sale un error, trate de definirlo como un vector de puros '1' pero aun asi no me resulta. Muchas gracias.. espero tu respuesta

      Comentario


      • #4
        Re: Métodos de Interpolación, MATLAB

        Yo hice una función para Lagrange hace tiempo, te copio el código:

        [FONT=Courier]function y1=lagrange(x,y,x1)[/FONT]
        [FONT=Courier]%este programa obtiene el valor interpolado y1 correspondiente al valor x1[/FONT]
        [FONT=Courier]%empleando el polinomio interpolador de Lagrange de grado n, obtenido a[/FONT]
        [FONT=Courier]%partir de los vectores x e y (de longitud n)[/FONT]
        [FONT=Courier]%obtenemos el tama~no del conjunto de datos,[/FONT]
        [FONT=Courier]n=length(x);[/FONT]
        [FONT=Courier]%inicializamos la variable de salida[/FONT]
        [FONT=Courier]y1=0;[/FONT]
        [FONT=Courier]%construimos el valor a partir de los polinomios de Lagrange,[/FONT]
        [FONT=Courier]for j=1:n[/FONT]
        [FONT=Courier]%inicializamos el polinomio de Lagrange correspondiente al dato i[/FONT]
        [FONT=Courier] lj=1;[/FONT]
        [FONT=Courier]%y lo calculamos...[/FONT]
        [FONT=Courier] for i=1:j-1[/FONT]
        [FONT=Courier] lj=lj*(x1-x(i))/(x(i)-x(j));[/FONT]
        [FONT=Courier] end[/FONT]
        [FONT=Courier] for i=j+1:n[/FONT]
        [FONT=Courier] lj=lj*(x1-x(i))/(x(i)-x(j));[/FONT]
        [FONT=Courier]end[/FONT]
        [FONT=Courier]%sumamos la contribución del polinomio de Lagrange lj[/FONT]
        [FONT=Courier] y1=y1+lj*y(j);[/FONT]
        [FONT=Courier]end[/FONT]


        Espero que te sirva.

        Un saludo!

        - - - Actualizado - - -

        De todas maneras te recomiendo que lo hagas primero a mano e intentes sacar el algoritmo, luego sencillamente es plasmarlo en MATLAB.
        'Como físico, no temo a la muerte, temo al tiempo.'
        'Bene curris, sed extra vium.'
        'Per aspera ad astra.'

        Comentario


        • #5
          Re: Métodos de Interpolación, MATLAB

          Muchas gracias! lo que pasa es que se supone qe uno va calculando los xi y los yi nose de donde salen.. se supone qe donde se evalua el polinomio es en I=-1,0.001,1- segun lo que yo entiendo.. qe me dices? Saludos

          Comentario


          • #6
            Re: Métodos de Interpolación, MATLAB

            Los yi son los valores interpolados. La verdad es que no me acuerdo muy bien del funcionamiento de esta interpolación, ya que la vimos de pasada en clase. Si pones como variable de salida el yi, de la forma:

            [FONT=Courier][y1]=lagrange(x,y,x1)

            Debería salirte lo que quieres. Los xi los tienes que calcular a parte, ya que en la función que te pasé no está esa parte del ejercicio.

            Espero haberte ayudado. [/FONT]
            'Como físico, no temo a la muerte, temo al tiempo.'
            'Bene curris, sed extra vium.'
            'Per aspera ad astra.'

            Comentario

            Contenido relacionado

            Colapsar

            Trabajando...
            X