Está en la página 1de 21

Instituto Tecnológico de La Piedad

División de Estudios Profesionales

NOMBRE DEL DEPARTAMENTO


SISTEMAS Y COMPUTO

NOMBRE DE LA CARRERA
INGENIERIA EN SISTEMAS COMPUTACIONALES

MATERIA
METODOS NUMERICOS

PROFESOR
CAZARES COSS Y LEON CLAUDIA JANETT

PRESENTADO POR
IRVIN SAID MOISES CANO PICENO 21640026
ANGEL DAVID CISNEROS SALAZAR 21640028
EDGAR DAYAN CORTES GARCIA 21640029
EMMANUEL Muñoz RAZO 19640226

LA PIEDAD, MICHOACÁN 13 NOVIEMBRE DEL 2023

Av. Tecnológico # 2000, Meseta de los Laureles, C.P. 59370, Apartado


Postal 22
La Piedad, Mich. Tels. 01 (352) 52 62294, 52 62369, 52 60680,
Parte 1. Se desea estimar, usando fórmulas de diferenciación con alta exactitud, la
primera derivada de la función

Parte 2.
Primeramente, crearemos el programa con el nombre de derivada_num.m. En
la interfaz principal de OCTAVE damos click en file/New/New script, y
escribimos en la ventana del editor lo siguiente:
function[]=derivada_num(f,x0,h)
clc
% Se calculan los valores de los puntos cercanos al valor x0 de acuerdo
% al tamaño de paso h.
x0menos2=x0-2*h;
x0menos1=x0-h;
x0mas1=x0+h;
61
x0mas2=x0+2*h;
% Se evalúa la función f en cada uno de los puntos.
x=x0menos2;
fx0menos2=eval(f);
x=x0menos1;
fx0menos1=eval(f);
x=x0;
fx0=eval(f);
x=x0mas1;
fx0mas1=eval(f);
x=x0mas2;
fx0mas2=eval(f);
%Se imprime en la pantalla la información del propósito del programa
disp('Resultados de aproximar las derivadas de la función f = ' )
disp(f)
disp('')
disp(['en x = ',num2str(x0)])
disp('usando:')
disp('')
disp('Diferencias divididas hacia adelante')
disp('')
%Se calcula la primera derivada usando diferencias divididas hacia adelante
%Para la primera fórmula de orden O=(h)
PrimeraDerf1=(fx0mas1-fx0)/h
%Para la segunda fórmula O=(h^2)
PrimeraDerf2=(-fx0mas2+4*fx0mas1-3*fx0)/(2*h)
%Se calcula la primera derivada usando diferencias divididas hacia atrás
disp('')
disp('Diferencias divididas hacia atras')
disp('')
%Para la primera fórmula de orden O=(h)
PrimeraDerf1=(fx0-fx0menos1)/h
%Para la segunda fórmula O=(h^2)
PrimeraDerf2=(3*fx0-4*fx0menos1+fx0menos2)/(2*h)
%Se calcula la primera derivada usando diferencias divididas centradas
disp('')
disp('Diferencias divididas centradas')
disp('')
%Para la primera fórmula de orden O=(h^2)
PrimeraDerf1=(fx0mas1-fx0menos1)/(2*h)
%Para la segunda fórmula O=(h^4)
PrimeraDerf2=(-fx0mas2+8*fx0mas1-8*fx0menos1+fx0menos2)/(12*h)
endfunction
Guardamos el programa como derivada_num.m. Es muy importante que el
nombre del programa y el texto que se encuentra a la derecha del signo igual
en el primer renglón coincidan por completo, es decir se debe verificar lo
siguiente:
function[ ]=derivada_num(f,x0,h)

Parte 3.
Para correr el programa, solamente escribimos el nombre del programa en la
ventana de comandos como cualquier otra función de OCTAVE.
En este caso, se escribiría lo siguiente
derivada_num('-0.1*x^4-0.15*x^3-0.5*x^2-0.25*x+1.2',0.5,0.25)
Es muy importante cerciorarnos de que en el campo denominado “Current
Directory” aparezca la carpeta en donde se encuentra guardado el programa
que deseamos correr. En este caso se tiene C:\Documents and Settings\Juan
Carlos\Mis documentos\programas octave, que es donde guardamos nuestro
programa. Si el programa estuviera en algún otro folder, se puede buscar y
elegir desde este campo sin mayor dificultad
Práctica No. 8
Nombre: CÁLCULO NUMÉRICO DEL VALOR DE UNA INTEGRAL.
Objetivo: Elaborar un programa en OCTAVE para el cálculo numérico de la
integral
de una función empleando las reglas de Simpson.
Introducción:
Regla de Simpson 1/3
La regla de Simpson 1/3 resulta cuando un polinomio de interpolación de
segundo grado se sustituye en la ecuación

Si se designan y como y , respectivamente, y se representa por


un polinomio de interpolación de Lagrange de segundo orden, la integral se
transforma en:

Después de la integración y realizando algunas manipulaciones algebráicas,


obtenemos:

Donde, en este caso, . Esta ecuación se conoce como regla de


Simpson 1/3 simple.
Podemos aplicar esta regla si dividimos el intervalo de integración en un
número par de segmentos, obteniendo la siguiente fórmula:

Que se conoce como regla de Simpson 1/3 de aplicación múltiple.


De manera similar es posible ajustar un polinomio de Lagrange de tercer grado
a cuatro puntos e integrarlo

68
Para obtener

A la cual se le conoce como regla de Simpson 3/8.

Parte 2.
Primeramente, crearemos el programa con el nombre de Simpson_ter.m. En la
interfaz principal de OCTAVE damos click en file/New/New script, y escribimos
en la ventana del editor lo siguiente:
function[I13]=simpson_ter(f,a,b,n)
69
%[I]= simpson_ter(f,a,b,n)
%Este programa aproxima el valor de la integral de la función 'f' ,que se
%escribe como cadena de caracteres (ejemplo 'x.^2+2'), en el intervalo de
%a hasta b, utilizando la regla de Simpson 1/3. n es el número de
%subintervalos y deberá ser un número par.
%J.C. Solorio-Leyva ago/2017
h=(b-a)/n;
x=a:h:b;
y=eval(f);
ynon=sum(y(2:2:n));
ypar=sum(y(3:2:n));
I13=(y(1) + y(n+1)+(4*ynon)+(2*ypar))*(b-a)/(3*n);
endfunction

Guardamos el programa como simpson_ter.m. Es muy importante que el


nombre del programa y el texto que se encuentra a la derecha del signo igual
en el primer renglón coincidan por completo, es decir se debe verificar lo
siguiente:
function[I13 ]=simpson_ter(f,a,b,n) simpson_ter.m

En este programa hemos utilizado comentarios para detallar su funcionamiento


y hacer el código más amigable con el usuario. Recordemos que para escribir
un comentario se utiliza el signo de porcentaje “%” al iniciar el mismo. Un
hecho importante, es que los comentarios que siguen al primer renglón del
programa están asociados a la información de ayuda, por lo que se han
estructurado para cuando tecleemos en la ventana de comandos la instrucción
help Simpson_ter
obtengamos ayuda para el uso de esta función.

Para correr el programa, solamente escribimos el nombre del programa en la


ventana de comandos como cualquier otra función de OCTAVE.
En este caso, se escribiría lo siguiente
simpson_ter('400*x.^5-900*x.^4+675*x.^3-200*x.^2+25*x+0.2',0,0.8,4)

resultado de correr el programa simpson_ter.m.


resultados del cálculo numérico de la integral para estos valores de n
Parte 1.
Supongamos que la temperatura en una placa rectangular se describe
mediante la siguiente función:

Si la placa tiene 8 m de largo (dimensión ) y 6 m de ancho (dimensión ),


calcule la temperatura promedio.
Para ello, elaboraremos primeramente el programa trapecio.m en OCTAVE.
Luego elaboraremos un programa, al que se le llamará trapecio_doble.m, que
nos ayudará a resolver el problema.

Parte 2.
Primeramente, crearemos el programa con el nombre de trapecio.m. En la
interfaz principal de OCTAVE damos click en file/New/New script, y escribimos
en la ventana del editor lo siguiente:
function [I]=trapecio(f,a,b,n)
%[I]=trapecio(f,a,b,n)
% programa para integrar una función f en el intervalo [a,b] por el método
% del trapecio. La función f se escribe como una función simbólica de la
% forma 'función', es decir, como una cadena de caracteres, cuidando las
% operaciones elemento a elemento (.*,./,.^), dado que se vectorizarán las
variables.
% a representa el límite inferior del intervalo de integración y b el
% límite superior. n es el número de subintervalos
dx=(b-a)/n; % dx es el ancho de cada subintervalo en la partición,
% es decir, el valor de h
% Se subdivide el intervalo [a,b], y se evalúa la función en cada punto.
x=a:dx:b;
F=eval(f);
% Se calculan los términos de la sumatoria
A=2*F;
m=length(A);
A(1)=A(1)/2;
A(m)=A(m)/2;
% Se sustituyen valores en la fórmula para la regla del trapecio de aplicación
múltiple
79
I=(b-a)*sum(A)/(2*n);
endfunction
Guardamos el programa como trapecio.m. Es muy importante que el nombre
del programa y el texto que se encuentra a la derecha del signo igual en el
primer renglón coincidan por completo, es decir se debe verificar lo siguiente:
function[I]=trapecio(f,a,b,n) trapecio.m
muestra lo que se obtiene al pedir ayuda sobre el uso de esta función.
Para correr el programa, solamente escribimos el nombre del programa en la
ventana de comandos como cualquier otra función de OCTAVE.
Por ejemplo si quisiéramos calcular

nos muestra el resultado de correr el programa trapecio.m


nos muestra los resultados del cálculo numérico de la integral
para estos valores de n.

Ahora, crearemos el programa con el nombre de trapecio_doble.m. En la


interfaz principal de OCTAVE damos click en file/New/New script, y escribimos
en la ventana del editor lo siguiente:
function [I]=trapecio_doble(fxy,a,b,c,d,n)
%[I]=trapecio_doble(fxy,a,b,c,d,n)
% Programa para integrar una función f(x,y) en la región a<=x<=b y c<=y<=d
por el método
% del trapecio. La función fxy se escribe como una función simbólica de la
% forma 'función', es decir, como una cadena de caracteres, cuidando las
% operaciones elemento a elemento (.*,./,.^), dado que se vectorizarán las
variables.
% En la dimensión de x, a representa el límite inferior del intervalo de
integración y b el
% límite superior.
% En la dimensión de y, c representa el límite inferior del intervalo de
integración y d el
% límite superior.
% n es el número de subintervalos en cada dimensión
hx=(b-a)/n; % hx es el ancho de cada subintervalo en la partición, en la
dimensión de x
hy=(d-c)/n; % hy es el ancho de cada subintervalo en la partición, en la
dimensión de y
84
% Se subdivide la región y se evalúa la función en cada punto.
dimx=a:hx:b;
dimy=c:hy:d;
[x y]=meshgrid(dimx,dimy);
F=eval(fxy);
%Se realiza el procedimiento para integrar en la dimensión de x
A=2*F;
m=length(A);
A(:,1)=A(:,1)/2;
A(:,m)=A(:,m)/2;
Ix=(b-a)*sum(A')/(2*n);
%Se repite el procedimiento para integrar en la dimensión de y
B=2*Ix;
M=length(B);
B(1)=B(1)/2;
B(M)=B(M)/2;
Iy=(d-c)*sum(B)/(2*n);
%Obtenemos el resultado de la integral
I=Iy;
endfunction
Guardamos el programa como trapecio_doble.m. Es muy importante que el
nombre del programa y el texto que se encuentra a la derecha del signo igual
en el primer renglón coincidan por completo, es decir se debe verificar lo
siguiente:
function[I]=trapecio_doble(f,a,b,c,d,n) trapecio_doble.m

muestra lo que se obtiene al pedir ayuda sobre el uso de esta función.


Por ejemplo si quisiéramos calcular

Integral=trapecio_doble('2*x.*y+2*x-x.^2-2*y.^2+72',0,8,0,6,20)
Parte 1.
Para determinar el área de la región sombreada en la figura 45, necesitamos
resolver numéricamente la integral

Para ello, elaboraremos el programa area.m en OCTAVE.


Parte 2.
Primeramente, crearemos el programa con el nombre de area.m. En la interfaz
principal de OCTAVE damos click en file/New/New script, y escribimos en la
ventana del editor lo siguiente:
94
function[]=area(F,a,b,n)
% Esta función permite calcular numéricamente usando la regla del trapecio y
% la regla de Simpson el área limitada por las funciones f y g, y las
% rectas x=a y x=b. Se cumple que f>=g en todo el intervalo, y F= f-g
% se escribe como una cadena de caracteres.
disp('')
disp('El valor numérico de la integral utilizando la regla del trapecio es: ')
disp('')
Atra=trapecio(F,a,b,n)
disp('*************************************************************************')
disp('')
disp('El valor numérico de la integral utilizando la regla de Simpson es: ')
disp('')
ASimp=simpson_full(F,a,b,n)
endfunction
Guardamos el programa como area.m. Es muy importante que el nombre del
programa y el texto que se encuentra a la derecha del signo igual en el primer
renglón coincidan por completo, es decir se debe verificar lo siguiente:
function[I]=area(f,a,b,n) area.m
Para correr el programa, solamente escribimos el nombre del programa en la
ventana de comandos como cualquier otra función de OCTAVE.

resultado de correr el programa area.m

resultados del cálculo numérico de la integral para estos valores de n

También podría gustarte