Ejercicios de Métodos Numéricos

October 8, 2017 | Autor: Ronny Moreano | Categoría: Engineering
Share Embed


Descripción

UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE Ronny Josu´e Moreano Cevallos V Nivel Departamento de Ciencias Exactas ˜ Docente Mgs. Fabi´an Ordo´ nez 25 de Noviembre del 2014

1

M´etodos Num´ericos

Deber 1

´ Indice 1. Ejercicio 1

3

2. Ejercicio 2

4

3. Ejercicio 3

5

4. Ejercicio 4

6

5. Ejercicio 5

6

6. Ejercicio 6

7

7. Ejercicio 7

8

8. Ejercicio 8

8

9. Ejercicio 9

9

10. Ejercicio 10

9

11. Ejercicio 11

10

12. Ejercicio 12

10

13. Ejercicio 13 13.1. Programa para el sen(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2. Programa para el cos(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3. Programa para el arctan(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 11 12 13

14. Ejercicio 14 14.1. a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2. b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3. c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14 14 14 15

15. Ejercicio 15

15

Ronny Moreano

2

M´etodos Num´ericos

1.

Deber 1

Ejercicio 1 ´ M-file con la que se pueda graficar la siguiente funcion: ´ Crear una funcion ( 3 2 x (t) = sin( t2 ) + sin( t6 ) f (t) = 2 3 y(t) = cos( t2 ) + cos( t6 )

´ donde t e [a,b] y a,b reales. Los par´ametros de entrada ser´an los extremos del intervalo y h el numero de puntos a utilizar. ´ Solucion: function ejercicio_1(a,b,n) t= linspace(a,b,n);%Permite iniciar a la variable t en el intervalo %[a,b] con n puntos x=sin(t.^2/2)+sin(t.^3/6); y=cos(t.^2/2)+cos(t.^3/6); plot(x,y); % Grafica las ecuaciones dadas xlabel(’x=sin(t^2/2)+sin(t^3/6), Eje X’); ylabel(’y=cos(t^2/2)+cos(t^3/6), Eje Y’);

Figura 1: Ejercicio1

Ronny Moreano

3

M´etodos Num´ericos

2.

Deber 1

Ejercicio 2

´ de temperaturas. La relacion ´ de diversas escalas de temperatura con la escaka Celsius Tabla de conversion (C) es la siguiente: Escala Farenheit: F= 95 C + 32 Escala Kelvin : K= C+273,15 Escala Reamur: R = 54 C Construir un programa en Matlab que permita pasar de una escala a otra. El programa debe solicitar al ´ necesaria para su funcionamiento. Para transformar las escalas entre s´ı, se usuario el ingreso de la informacion utiiza el comando switch y se lo subdivide en 4 casos. que son las cuatro escalas solicitadas. Primeramente, se ´ input en que escala se ingresa los datos. luego se pide su valor para luego y solicita a trav´es de la instruccion ´ display se preenta en las otra tres escalas su valor. con la construccion escala=input(’Elija su escala [1(C),2(F),3(K),4(R)]: ’); valor=input(’Ingrese el valor: ’); if escala>4 disp(’ERROR: La escala elejida no es la end switch escala case 1 disp(’Su valor en las tres escalas F=((9/5)*(valor))+32 K=valor+273.15 R=(4/5)*valor case 2 disp(’Su valor en las tres escalas C=(5/9)*(valor-32) K=((5/9)*(valor-32))+273.15 R=(4/9)*(valor-32) case 3 disp(’Su valor en las tres escalas C=valor-273.15 F=((9/5)*(vslor-273.15))+32 R=(4/5)*(valor-273.15) case 4 disp(’Su valor en las tres escalas C=(5/4)*(valor) F=((9/4)*(valor))+32 K=((5/4)*(valor))+273.15 end

correcta’);

es: ’);

es: ’);

es: ’);

es: ’);

´ del Programa Ejecucion >> ejercicio_2 Elija su escala [1(C),2(F),3(K),4(R)]: 1 Ingrese el valor: 30 Su valor en las tres escalas es: F = 86

Ronny Moreano

4

M´etodos Num´ericos

Deber 1

K = 303.1500

R = 24

3.

Ejercicio 3 ´ M-file con la cual se grafique la siguiente funcion: ´ Crear una funcion ( r x (t) = ( R − r )sin(t) − rsin( R− r ∗ t )) z(t) = r y(t) = ( R − r )sin(t) − rsin( R− r ∗ t ))

function ejercicio_3(R,r,a,b,n) t= linspace(a,b,n); x=(R-r)*sin(t)-r*sin((R-r)*t/r); y=(R-r)*0.5*sin(t)-r*sin((R-r)*t/r); plot(x,y) xlabel(’x = (R-r)*sin(t)-r*sin((R-r)*t/r), Eje X’) ylabel(’y = (R-r)*0.5*sin(t)-r*sin((R-r)*t/r), Eje Y’)

Figura 2: Ejercicio3

Ronny Moreano

5

M´etodos Num´ericos

4.

Deber 1

Ejercicio 4

´ (M-file), llamada simpar (j), que realice lo siguiente: la suma de cuadrados de todos Escribir una funcion ´ los numeros enteros impares menores o iguales a n. ´ Codigo Matlab function simpar(j) n=input(’Ingrese el n~ Ao mero hasta el que quiere calcular: ’); sum=1;%contador for i=1:n a=(2*i)+1; sum=sum+a^2; if a>=n j=sum break; end end ´ del Programa Ejecucion simpar Ingrese el n~ Ao mero hasta el que quiere calcular: 34 j = 7770

5.

Ejercicio 5

´ ´ Desarrolle un codigo que permita dibujar un c´ırculo con centro (X0, y0,r). Sugerencia : Utilice la ecuacion param´etrica del c´ırculo function ejercicio_5(x0,y0,r) x0=input(’Ingrese la coordenada X: ’); y0=input(’Ingrese la coordenada Y: ’); r=input(’Ingrese el radio: ’); t= linspace(x0-(r+5),x0+(r+5)); x=x0+r*cos(t); y=y0+r*sin(t); plot(x,y);%Grafica el c~ Arculo xlabel(’x=x0+rcos(t), Eje X’); ylabel(’y=y0+rsin(t), Eje Y’);

Ronny Moreano

6

M´etodos Num´ericos

Deber 1

Figura 3: Ejercicio5

6.

Ejercicio 6

´ de segundo grado Disene un programa para calcular las ra´ıces de una ecuacion Codigo MatLab

function ejercicio_6(a,b,c) a=input(’Ingrese a: ’); b=input(’Ingrese b: ’); c=input(’Ingrese c: ’); disc=b^2-4*a*c; if a==0 fprintf(’ERROR: El valor para a no es valido’); else x1=(-b+sqrt(disc))/2*a x2=(-b-sqrt(disc))/2*a end ´ del Programa Ejecucion >> ejercicio_6 Ingrese a: 2 Ingrese b: 5 Ingrese c: 1 x1 = -0.8769 Ronny Moreano

7

M´etodos Num´ericos

Deber 1

x2 = -9.1231

7.

Ejercicio 7

Desarrollar un programa que permita calcular las notas finales de los estudiantes con tres notas parciales, qui´en pasa de 21 escribe 1 y si no 0. Codigo MatLab

function ejercicio_7(p1,p2,p3) p1=input(’Ingrese la nota del 1er parcial: ’); p2=input(’Ingrese la nota del 2do parcial: ’); p3=input(’Ingrese la nota del eer parcial: ’); %Se verifica que el estudiante pase de 21 if p1+p2>=21 a=1; else a=0; end sum=p1+p2+p3; prom=sum/3; fprintf(’Cod Suma Promedio\n’) fprintf(’%2.0f %7.2f %7.2f \n’, a, sum, prom); ´ del Programa Ejecucion ejercicio_7 Ingrese la nota del 1er parcial: 10 Ingrese la nota del 2do parcial: 12 Ingrese la nota del eer parcial: 20 Cod Suma Promedio 1 42.00 14.00

8.

Ejercicio 8 ´ que calcule el n-´esimo t´ermino de la serie definida por Un = Escriba una funcion

function ejercicio_8(n) U0=0;%contador for i=1:n Un=sqrt(i+2); U0=U0+Un; end fprintf(’El valor de la serie es %2.6f \n’, U0); ´ del Programa Ejecucion ejercicio_8(10) El valor de la serie es 26.834791 Ronny Moreano

8



Un−1 + 2, con U0 = 1

M´etodos Num´ericos

9.

Deber 1

Ejercicio 9

Escriba un programa que dibuje un cuadrado de nxn asteriscos. El valor del entero n es el argumento de entrada Codigo MatLab

function ejercicio_9(n) n=input(’Ingrese el valor de n: ’); for i=1:n for j=1:n A(i,j)=’*’; j=j+1; end i=i+1; end disp(’Cuadrado nxn de Asteriscos’) A ´ del Programa Ejecucion ejercicio_9 Ingrese el valor de n: 12 Cuadrado nxn de Asteriscos A = ************ ************ ************ ************ ************ ************ ************ ************ ************ ************ ************ ************

10.

Ejercicio 10

´ que imprima la suma de los cuadrados de los numeros ´ Escriba una funcion enteros comprendidoes en un intervalo dado como argumentos.

function ejercicio_10(a,b) a=input(’Ingrese el n~ Ao mero entero inicial del intervalo: ’); b=input(’Ingrese el n~ Ao mero entero final del intervalo: ’); sum=0;%contador for i=a:1:b sum=sum+i^2; end j=sum

Ronny Moreano

9

M´etodos Num´ericos

Deber 1

´ del Programa Ejecucion ejercicio_10 Ingrese el n~ Ao mero entero inicial del intervalo: 1 Ingrese el n~ Ao mero entero final del intervalo: 20 j = 2870

11.

Ejercicio 11

Escribir un programa que exprese en horas, minutos y segundos un tiempo expresado en segundos. Suge´ floor. rencia: Consulte la instruccion

function ejercicio_11(t) t=input(’Ingrese el tiempo en segundos: ’); a=t/60; seg=rem(t,60); b=a/60; c=floor(a); min=rem(c,60); h=floor(b); fprintf(’Su tiempo es %2.0f h %2.0f min %2.0f seg \n’, h, min, seg); ´ del Programa Ejecucion ejercicio_11 Ingrese el tiempo en segundos: 15645 Su tiempo es 4 h 20 min 45 seg

12.

Ejercicio 12

´ max, escriba un programa que imprima los dos primeros numeros ´ Con la ayuda de la funcion m´as grandes de un vector

function ejercicio_12(v) v=input(’Ingrese su vector: ’); max1=max(v) [max1 pos]=max(v); v(pos:pos)=[]; max2=max(v) ´ del Programa Ejecucion ejercicio_12 Ingrese su vector: [2 34 5 6 12 45] max1 = 45 Ronny Moreano

10

M´etodos Num´ericos

Deber 1

max2 = 34

13.

Ejercicio 13

Utilzando los desarrollos de Taylor para las funciones seno, coseno, arctan(x), construya funciones (M-file) que calculen su valor para diferentes Polinomios de Taylor (3 en cada caso). Presente estos datos en una tabla para cada ejercicio.

13.1.

Programa para el sen(x)

%EJERCICIO 13.1: Polinomio de taylor f(x)=sin(x) %este programa calcula el valor del sin(x) evaluado en tres %polinomios de taylor centrados en 0 de diferente grado function ejercicio_13_1(n1,n2,n3,valor) n1=input(’Ingrese el primer grado del polinomio: ’); n2=input(’Ingrese el tercer grado del polinomio: ’); n3=input(’Ingrese el tercer grado del polinomio: ’); valor=input(’Ingrese el valor que desea evaluar: ’); sen0=valor; sum1=0; sum2=0; sum3=0; %Primer polinomio for i=1:n1 a=(((-1)^i)*(valor^(2*i+1)))/(factorial(2*i+1)); sum1=sum1+a; end for j=1:n1 b=(((-1)^j)*(valor^(2*j+1)))/(factorial(2*j+1)); sum2=sum2+b; end for g=1:n3 c=(((-1)^g)*(valor^(2*g+1)))/(factorial(2*g+1)); sum3=sum3+c; end eval1=sen0+sum1; eval2=sen0+sum2; eval3=sen0+sum3; poli=[1 2 3]; resp=[eval1 eval2 eval3]; table=[poli;resp]; fprintf(’Polinomio Valor \n’); fprintf(’%5.0f %15.8f \n’,table); ´ del Programa sen(x): Ejecucion ejercicio_13_1 Ronny Moreano

11

M´etodos Num´ericos

Ingrese el Ingrese el Ingrese el Ingrese el Polinomio 1 2 3

13.2.

Deber 1

primer grado del polinomio: 1 tercer grado del polinomio: 5 tercer grado del polinomio: 10 valor que desea evaluar: 0.1 Valor 0.09983333 0.09983333 0.09983342

Programa para el cos(x)

%EJERCICIO 13.2: Polinomio de taylor f(x)=cos(x) %este programa calcula el valor del cos(x) evaluado en tres %polinomios de taylor centrados en 0 de diferente grado function ejercicio_13_2(n1,n2,n3,valor) n1=input(’Ingrese el primer grado del polinomio: ’); n2=input(’Ingrese el tercer grado del polinomio: ’); n3=input(’Ingrese el tercer grado del polinomio: ’); valor=input(’Ingrese el valor que desea evaluar: ’); cos0=1; sum1=0; sum2=0; sum3=0; %Primer polinomio for i=1:n1 a=(((-1)^i)*(valor^(2*i)))/(factorial(2*i)); sum1=sum1+a; end for j=1:n1 b=(((-1)^j)*(valor^(2*j)))/(factorial(2*j)); sum2=sum2+b; end for g=1:n3 c=(((-1)^g)*(valor^(2*g)))/(factorial(2*g)); sum3=sum3+c; end eval1=cos0+sum1; eval2=cos0+sum2; eval3=cos0+sum3; poli=[1 2 3]; resp=[eval1 eval2 eval3]; table=[poli;resp]; fprintf(’Polinomio Valor \n’); fprintf(’%5.0f %15.8f \n’,table); ´ del Programa cos(x): Ejecucion ejercicio_13_2 Ingrese el primer grado del polinomio: 1 Ingrese el tercer grado del polinomio: 5 Ingrese el tercer grado del polinomio: 10 Ingrese el valor que desea evaluar: 0.1 Polinomio Valor 1 0.99500000 2 0.99500000 Ronny Moreano

12

M´etodos Num´ericos

3

13.3.

Deber 1

0.99500417

Programa para el arctan(x)

%EJERCICIO 13.3: Polinomio de taylor f(x)=arctan(x) %este programa calcula el valor del arctan(x) evaluado en tres %polinomios de taylor centrados en 0 de diferente grado function ejercicio_13_3(n1,n2,n3,valor) n1=input(’Ingrese el primer grado del polinomio: ’); n2=input(’Ingrese el tercer grado del polinomio: ’); n3=input(’Ingrese el tercer grado del polinomio: ’); valor=input(’Ingrese el valor que desea evaluar: ’); arctan0=valor; sum1=0; sum2=0; sum3=0; %Primer polinomio for i=1:n1 a=(((-1)^i)*(valor^(2*i+1)))/(2*i+1); sum1=sum1+a; end for j=1:n1 b=(((-1)^j)*(valor^(2*j+1)))/(2*j+1); sum2=sum2+b; end for g=1:n3 c=(((-1)^g)*(valor^(2*g+1)))/(2*g+1); sum3=sum3+c; end eval1=arctan0+sum1; eval2=arctan0+sum2; eval3=arctan0+sum3; poli=[1 2 3]; resp=[eval1 eval2 eval3]; table=[poli;resp]; fprintf(’Polinomio Valor \n’); fprintf(’%5.0f %15.8f \n’,table); ´ del Programa arctan(x): Ejecucion ejercicio_13_3 Ingrese el primer grado del polinomio: 1 Ingrese el tercer grado del polinomio: 5 Ingrese el tercer grado del polinomio: 10 Ingrese el valor que desea evaluar: 0.1 Polinomio Valor 1 0.09966667 2 0.09966667 3 0.09966865

Ronny Moreano

13

M´etodos Num´ericos

14.

Deber 1

Ejercicio 14

´ En cada uno de los siguientes casos, halle el error absoluto y relativo y determine el numero de cifras de la ´ aproximacion. %En cada uno de los siguientes casos, halle el error absoluto y relativo y %determine el numero de cifras signi?cativas de la aproximacion.} x=input(’ingrese X = ’); y=input(’ingrese X-rayado = ’); Ea=abs(x-y) Er=(abs(x-y))/abs(x) cont=0; while floor(Er)==0; Er=Er*10; cont=cont+1; end cf=cont-1; fprintf(’El numero de cifras significativas de la aproximacion es \n %.0f \n ’,cf)

14.1.

a)

x = 2,71828182 xˆ = 2,7182 ´ del Programa Ejecucion ingrese X = 2.71828182 ingrese X-rayado = 2.7182 Ea = 8.1820e-05

Er = 3.0100e-05 El numero de cifras significativas de la aproximacion es 4

14.2.

b)

y = 98350 yˆ = 98000 ´ del Programa Ejecucion ingrese X = 98350 ingrese X-rayado = 98000 Ea = 350

Er = Ronny Moreano

14

M´etodos Num´ericos

Deber 1

0.0036 El numero de cifras significativas de la aproximacion es 2

14.3.

c)

z = 0,000068 zˆ = 0,00006 ´ del Programa Ejecucion ingrese X = 0.000068 ingrese X-rayado = 0.00006 Ea = 8.0000e-06

Er = 0.1176 El numero de cifras significativas de la aproximacion es 0

15.

Ejercicio 15

Complete el siguiete c´alculo: 1 4

Z 0

2

e x dx =

1 4

Z 0

(1 + x 2 +

x4 x6 + )dx = p 2! 3!

´ y compare su resultado con el valor exacto Determine que tipo de error se presenta en esta situacion p=0.2553074606 %Determine que tipo de error se presenta en esta situacion y compare su %resultado con el valor exacto p=0.2553074606 syms x; e=0; f=1; for i=1:1:3 fac=1; for j=1:1:i fac=fac*j; end e=e+1; f=f+(x^(2*e))/fac ; end disp(’la serie de e^(x^2) es ’); F=inline(char(f),’x’) F=int(f); F2=inline(char(F),’x’); Ronny Moreano

15

M´etodos Num´ericos

Deber 1

a=input(’ingrese el limite inferior: ’); b=input(’ingrese el limite superior: ’); li=F2(a); %evalua el limite inferior ls=F2(b); %evalua el limite superior pr = ls-li; %(p-rayado) p=0.2553074606; Ea=abs(p-pr) Er=abs((p-pr)/p) ct=0; while floor(Er)==0; Er=Er*10; ct=ct+1; end f=ct-1; fprintf(’El numero de cifras significativas de la aproximacion es \n %.0f \n ’,f) ´ del Programa: Ejecucion ejercicio_15 la serie de e^(x^2) es F = Inline function: F(x) = x^2 + x^4/2 + x^6/6 + 1 ingrese el limite inferior: 0 ingrese el limite superior: 1/4 Ea = 1.7799e-08

Er = 6.9715e-08 El numero de cifras significativas de la aproximacion es 7

Ronny Moreano

16

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.