Trabajo Numero 7 De Metodos Numericos

  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Trabajo Numero 7 De Metodos Numericos as PDF for free.

More details

  • Words: 834
  • Pages: 7
PRACTICA N 7 DE METODOS NUMERICOS 1.fprintf('\n DIFERENCIACION PROGRESIVA , REGRESIVA Y CENTRAL \n ') h=input('ingrese valores de h como vector :'); f=input('ingrese la funcion : ','s'); x0=input('ingrese el punto x0 : '); n=length(h); fprintf(' FORMULAS \n') fprintf(' PROGRESIVA REGRESIVA CENTRAL ERROR DE TRUNCAMIENTO \n') fprintf(' h f(x0+h)-f(x0) f(x0)-f(x0-h) f(x0+h)f(x0-h) h \n'); fprintf(' h h 2h 2(1.8)^2 \n'); for i=1:n x=x0+h(i); f1=eval(f); x=x0-h(i); f2=eval(f); x=x0; f3=eval(f); g=((h(i))/(2*(x0)^2)); fprintf(' \n%4.4f \t \t %8.8f \t \t %8.8f \t \t %8.8f \t\t %8.8f \n ',h(i),(f1-f3)/(h(i)),(f3-f2)/(h(i)),(f1-f2)/(2*h(i)),g); end

respuesta: DIFERENCIACION PROGRESIVA , REGRESIVA Y CENTRAL ingrese valores de h como vector :[0.1,0.01,0.001] ingrese la funcion : log(x) ingrese el punto x0 : 1.8 FORMULAS PROGRESIVA

h

f(x0+h)-f(x0) h

REGRESIVA

CENTRAL

f(x0)-f(x0-h) h

f(x0+h)-f(x0-h) 2h

ERROR DE TRUNCAMIENTO h 2(1.8)^2

0.1000

0.54067221

0.57158414

0.55612818

0.01543210

0.0100

0.55401804

0.55710450

0.55556127

0.00154321

0.0010

0.55540129

0.55570993

0.55555561

0.00015432

5.fprintf('\n DIFERENCIACION DE 3 PUNTOS \n ') h=input('ingrese valores de h como vector :'); f=input('ingrese la funcion : ','s'); x0=input('ingrese el punto x0 : '); fprintf(' ERROr DE TRUNCAMIENTO \n') fprintf('\n h [-3f(x0)+4f(x0+h)-f(x0+2h)] h^2*f^3(ƒ(x0)) h^2*f^3(ƒ(x0+2h) \n '); fprintf(' 2h 3 3'); g=diff(diff(diff(f))); for i=1:(length(h)); x=x0; r1=((h(i)^2)*eval(g)/3); f0=eval(f); x=x0+h(i); f1=eval(f); x=(x0+2*h(i)); r2=((h(i)^2)*eval(g)/3); f2=eval(f); F=((-3*f0+4*f1-f2)/2*h(i)); e=h(i); fprintf('\n %5.3f \t\t \t\t %8.8f \t\t\t %8.8f \t\t %8.8f \n ',e,F,r1,r2); end

ejemplo. DIFERENCIACION DE 3 PUNTOS ingrese valores de h como vector :[0.1,0.2,0.3,0.4] ingrese la función : x^3+5*x^2-3*x+5 ingrese el punto x0 : 0.6 ERROR DE TRUNCAMIENTO h 0.100

[-3f(x0)+4f(x0+h)-f(x0+2h)] 2h 0.04060000

h^2*f^3(ƒ(x0)) 3 0.02000000

h^2*f^3(ƒ(x0+2h) 3 0.02000000

0.200

0.16000000

0.08000000

0.08000000

0.300

0.35100000

0.18000000

0.18000000

0.400

0.60160000

0.32000000

0.32000000

6.fprintf('\n DIFERENCIACION DE 5 PUNTOS \n ') h=input('ingrese valores de h como vector :'); f=input('ingrese la funcion : ','s'); x0=input('ingrese el punto x0 : '); fprintf(' ERROR DE TRUNCAMIENTO \n') fprintf('\n h [f(x0-2h)-8f(x0-h)+8f(x0+h)-f(x0+2h)] h^4*f^5(ƒ(x0-2h)) h^4*f^5(ƒ(x0+2h) \n'); fprintf(' 12h 30 30'); g=diff(diff(diff(diff(diff(f))))); for i=1:(length(h)); x=(x0-2*h(i)); f3=eval(f); x=(x0-h(i)); f4=eval(f); x=x0; r1=((h(i)^2)*eval(g)/3); f0=eval(f); x=x0+h(i); f1=eval(f); x=(x0+2*h(i)); r2=((h(i)^2)*eval(g)/3); f2=eval(f); F=((f3-8*f4+8*f1-f2)/12*h(i)); e=h(i); fprintf('\n %5.3f \t\t \t\t %8.8f \t\t\t\t\t %8.8f \t\t %8.8f \n ',e,F,r1,r2); end

ejemplo. DIFERENCIACION DE 5 PUNTOS ingrese valores de h como vector :[0.1,0.2,0.3,0.4] ingrese la función : x^5-4*x^4-x^3+5*x^2-3*x+5 ingrese el punto x0 : 0.8 ERROR DE TRUNCAMIENTO h 0.100

[f(x0-2h)-8f(x0-h)+8f(x0+h)-f(x0+2h)] 12h -0.03064400

h^4*f^5(ƒ(x0-2h)) 30 0.40000000

h^4*f^5(ƒ(x0+2h) 30 0.40000000

0.200

-0.12281600

1.60000000

1.60000000

0.300

-0.27867600

3.60000000

3.60000000

0.400

-0.50662400

6.40000000

6.40000000

7.fprintf('\n FORMULA DE LA 2DA DERIVADA \n ') h=input('ingrese valores de h como vector :'); f=input('ingrese la funcion : ','s'); x0=input('ingrese el punto x0 : '); fprintf(' ERROr DE TRUNCAMIENTO \n') fprintf('\n h \t\t [-2f(x0)+f(x0+h)+f(x0-h)] \t f^4(ƒ(x0h)) \t\t f^4(ƒ(x0+h) \n '); fprintf(' h^2 \t\t 12 \t\t 12'); g=diff(diff(diff(diff(f)))); for i=1:(length(h)); x=x0-h(i); r1=(eval(g)/12); f2=eval(f); x=x0; f0=eval(f); x=x0+h(i); f1=eval(f); r2=(eval(g)/12); F=((-2*f0+f1+f2)/2*h(i)); e=h(i); fprintf('\n %5.3f \t\t \t\t %8.8f \t\t\t\t\t %8.8f \t\t %8.8f \n ',e,F,r1,r2); end

ejemplo FORMULA DE LA 2DA DERIVADA ingrese valores de h como vector :[0.1,0.2,0.3,0.4] ingrese la funcion : x^5-4*x^4-x^3+5*x^2-3*x+5 ingrese el punto x0 : 0.8 ERROR DE TRUNCAMIENTO h 0.100

[-2f(x0)+f(x0+h)+f(x0-h)] h^2 -0.00764000

f^4(ƒ(x0-h)) 12 -1.00000000

f^4(ƒ(x0+h) 12 1.00000000

0.200

-0.06112000

-2.00000000

2.00000000

0.300

-0.20628000

-3.00000000

3.00000000

0.400

-0.48896000

-4.00000000

4.00000000

8.DIFERENCIACION PROGRESIVA , REGRESIVA Y CENTRAL ingrese valores de h como vector :[0.01] ingrese la función : cos(x) ingrese el punto x0 : 0.8 FORMULAS PROGRESIVA REGRESIVA CENTRAL h f(x0+h)-f(x0) f(x0)-f(x0-h) f(x0+h)-f(x0-h) h h 2h 0.01

-0.72082764

-0.71386063

ERROr DE TRUNCAMIENTO h 2(1.8)^2

-0.71734414

0.00781250

DIFERENCIACION DE 3 PUNTOS ingrese valores de h como vector :[0.01] ingrese la función : cos(x) ingrese el punto x0 : 0.8 ERROr DE TRUNCAMIENTO h

[-3f(x0)+4f(x0+h)-f(x0+2h)] 2h -0.00007174

0.010

h^2*f^3(ƒ(x0)) 3 0.00002391

h^2*f^3(ƒ(x0+2h) 3 0.00002437

DIFERENCIACION DE 5 PUNTOS ingrese valores de h como vector :[0.01] ingrese la función : cos(x) ingrese el punto x0 : 0.8 ERROR DE TRUNCAMIENTO h 0.010

[f(x0-2h)-8f(x0-h)+8f(x0+h)-f(x0+2h)] 12h -0.00007174

h^4*f^5(ƒ(x0-2h)) 30 -0.00002391

RESPUESTA: La que mejor se aproxima es la formula central

h^4*f^5(ƒ(x0+2h) 30 -0.00002437

9.FORMULA DE LA 2DA DERIVADA ingrese valores de h como vector :[0.1,0.01,0.001] ingrese la funcion : cos(x) ingrese el punto x0 : 0.8 ERROr DE TRUNCAMIENTO h 0.100

[-2f(x0)+f(x0+h)+f(x0-h)] h^2 -0.69612631

f^4(ƒ(x0-h)) 12 0.06373685

f^4(ƒ(x0+h) 12 0.05180083

0.010

-0.69670090

0.05865378

0.05745820

0.001

-0.69670665

0.05811864

0.05799908

d^2(cos(x))=-cos(x)=g(x) dx^2 g(0.8)= -0.69670670934717

10.PROGRAMA DE EXTRAPOLACION DE RICHARDSON clear d fprintf('\n PROGRAMA DE LA EXTRAPOLACION DE RICHARSON \n '); f=input('ingrese la funcion : ','s'); x0=input('ingrese el punto x0 : '); h=input('ingrese el valor de h : '); tol=input('ingrese la tolerancia : '); i=0; while 1 i=i+1; x=x0+h/2^(i-1); f1=eval(f); x=x0-h/2^(i-1); f2=eval(f); d(i,1)=(f1-f2)/(2*h/(2^(i-1))); x=x0+h/2^(i); g1=eval(f); x=x0-h/2^(i); g2=eval(f); d(i+1,1)=(g1-g2)/(2*h/(2^(i))); for k=1:i d(i+1,k+1)=(((4^k)*(d(i+1,k))-d(i,k))/((4^k)-1)); end p=(abs(d(i+1,i+1)-d(i,i))); if p <= tol; break else p > tol; end end d

11.PROGRAMA DE LA EXTRAPOLACION DE RICHARSON ingrese la funcion : x*(exp(x)) ingrese el punto x0 : 2 ingrese el valor de h : 0.2 ingrese la tolerancia : 10^(-4) d= 22.41416065702942 0 0 0 22.22878688030728 22.16699562139990 0 0 22.18256485779758 22.16715751696101 22.16716830999842 0 22.17101693188372 22.16716762324576 22.16716829699808 22.16716829679172 RESPUESTA: 22.16716829679172 12.PROGRAMA DE LA EXTRAPOLACION DE RICHARSON ingrese la funcion : (2^(x))*sin(x) ingrese el punto x0 : 1.05 ingrese el valor de h : 0.4 ingrese la tolerancia : 10^(-4) d= 2.20316569739156 0 0 0 2.25723724341336 2.27526109208729 0 0 2.27067416730635 2.27515314193734 2.27514594526068 0 2.27402826645954 2.27514629951060 2.27514584334882 2.27514584173117

Related Documents