UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE
Ronny Josue Moreano Cevallos
V Nivel
Departamento de Ciencias Exactas
Docente Mgs. Fabian Ordonez
25 de Noviembre del 2014
1
Metodos Numericos 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 1113.1. Programa para el sen(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113.2. Programa para el cos(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213.3. Programa para el arctan(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
14. Ejercicio 14 1414.1. a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1414.2. b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1414.3. c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
15. Ejercicio 15 15
Ronny Moreano 2
Metodos Numericos Deber 1
1. Ejercicio 1
Crear una funcion M-file con la que se pueda graficar la siguiente funcion:
f (t) =
{x(t) = sin( t2
2 ) + sin( t3
6 )
y(t) = cos( t2
2 ) + cos( t3
6 )
donde t ε [a,b] y a,b reales. Los parametros de entrada seran los extremos del intervalo y h el numero de puntosa 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
Metodos Numericos Deber 1
2. Ejercicio 2
Tabla de conversion de temperaturas. La relacion de diversas escalas de temperatura con la escaka Celsius(C) es la siguiente:
Escala Farenheit: F= 95 C + 32
Escala Kelvin : K= C+273,15Escala Reamur: R = 4
5 C
Construir un programa en Matlab que permita pasar de una escala a otra. El programa debe solicitar alusuario el ingreso de la informacion necesaria para su funcionamiento. Para transformar las escalas entre sı, seutiiza el comando switch y se lo subdivide en 4 casos. que son las cuatro escalas solicitadas. Primeramente, sesolicita a traves de la instruccion input en que escala se ingresa los datos. luego se pide su valor para luego ycon la construccion display se preenta en las otra tres escalas su valor.
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 correcta’);
end
switch escala
case 1
disp(’Su valor en las tres escalas es: ’);
F=((9/5)*(valor))+32
K=valor+273.15
R=(4/5)*valor
case 2
disp(’Su valor en las tres escalas es: ’);
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 es: ’);
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 es: ’);
C=(5/4)*(valor)
F=((9/4)*(valor))+32
K=((5/4)*(valor))+273.15
end
Ejecucion del Programa
>> 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
Metodos Numericos Deber 1
K =
303.1500
R =
24
3. Ejercicio 3
Crear una funcion M-file con la cual se grafique la siguiente funcion:
z(t) =
{x(t) = (R− r)sin(t)− rsin( R−r
r ∗ t))y(t) = (R− r)sin(t)− rsin( R−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
Metodos Numericos Deber 1
4. Ejercicio 4
Escribir una funcion (M-file), llamada simpar (j), que realice lo siguiente: la suma de cuadrados de todoslos numeros enteros impares menores o iguales a n.Codigo Matlab
function simpar(j)
n=input(’Ingrese el n~Aomero 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
Ejecucion del Programa
simpar
Ingrese el n~Aomero 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 ecuacionparametrica 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
Metodos Numericos Deber 1
Figura 3: Ejercicio5
6. Ejercicio 6
Disene un programa para calcular las raıces de una ecuacion de segundo gradoCodigo 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
Ejecucion del Programa
>> ejercicio_6
Ingrese a: 2
Ingrese b: 5
Ingrese c: 1
x1 =
-0.8769
Ronny Moreano 7
Metodos Numericos Deber 1
x2 =
-9.1231
7. Ejercicio 7
Desarrollar un programa que permita calcular las notas finales de los estudiantes con tres notas parciales,quien 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);
Ejecucion del Programa
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
Escriba una funcion que calcule el n-esimo termino de la serie definida por Un =√
Un−1 + 2, con U0 = 1
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);
Ejecucion del Programa
ejercicio_8(10)
El valor de la serie es 26.834791
Ronny Moreano 8
Metodos Numericos Deber 1
9. Ejercicio 9
Escriba un programa que dibuje un cuadrado de nxn asteriscos. El valor del entero n es el argumento deentradaCodigo 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
Ejecucion del Programa
ejercicio_9
Ingrese el valor de n: 12
Cuadrado nxn de Asteriscos
A =
************
************
************
************
************
************
************
************
************
************
************
************
10. Ejercicio 10
Escriba una funcion que imprima la suma de los cuadrados de los numeros enteros comprendidoes en unintervalo dado como argumentos.
function ejercicio_10(a,b)
a=input(’Ingrese el n~Aomero entero inicial del intervalo: ’);
b=input(’Ingrese el n~Aomero entero final del intervalo: ’);
sum=0;%contador
for i=a:1:b
sum=sum+i^2;
end
j=sum
Ronny Moreano 9
Metodos Numericos Deber 1
Ejecucion del Programa
ejercicio_10
Ingrese el n~Aomero entero inicial del intervalo: 1
Ingrese el n~Aomero 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-rencia: Consulte la instruccion floor.
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);
Ejecucion del Programa
ejercicio_11
Ingrese el tiempo en segundos: 15645
Su tiempo es 4 h 20 min 45 seg
12. Ejercicio 12
Con la ayuda de la funcion max, escriba un programa que imprima los dos primeros numeros mas grandesde un vector
function ejercicio_12(v)
v=input(’Ingrese su vector: ’);
max1=max(v)
[max1 pos]=max(v);
v(pos:pos)=[];
max2=max(v)
Ejecucion del Programa
ejercicio_12
Ingrese su vector: [2 34 5 6 12 45]
max1 =
45
Ronny Moreano 10
Metodos Numericos 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 tablapara 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);
Ejecucion del Programa sen(x):
ejercicio_13_1
Ronny Moreano 11
Metodos Numericos Deber 1
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.09983333
2 0.09983333
3 0.09983342
13.2. 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);
Ejecucion del Programa cos(x):
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
Metodos Numericos Deber 1
3 0.99500417
13.3. 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);
Ejecucion del Programa arctan(x):
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
Metodos Numericos Deber 1
14. Ejercicio 14
En cada uno de los siguientes casos, halle el error absoluto y relativo y determine el numero de cifras de laaproximacion.
%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,71828182x = 2,7182
Ejecucion del Programa
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 = 98350y = 98000
Ejecucion del Programa
ingrese X = 98350
ingrese X-rayado = 98000
Ea =
350
Er =
Ronny Moreano 14
Metodos Numericos Deber 1
0.0036
El numero de cifras significativas de la aproximacion es
2
14.3. c)
z = 0,000068z = 0,00006
Ejecucion del Programa
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 calculo:
∫ 14
0ex2
dx =∫ 1
4
0(1 + x2 +
x4
2!+
x6
3!)dx = p
Determine que tipo de error se presenta en esta situacion y compare su resultado con el valor exactop=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
Metodos Numericos 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)
Ejecucion del Programa:
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
Top Related