Deber 1 Enriquez Cristian 1156
Deber 1 Enriquez Cristian 1156
Deber 1 Enriquez Cristian 1156
METODOS NUMÉRICOS
DEBER No 1
Enrı́quez Christian
>> Ejer1
Escriba un numero entreo positivo:100
El numero ingresado es par
ans =
100
t=-pi:0.001:pi;
x=6.5*cos(t)+3;
y=6.5*sin(t);
plot(x,y),grid
En este ejercicio se utilizo un Script para poder realizar su gráfica con el uso de los siguientes
comandos:
x=-5:0.1:-1;
y=exp(-x);
plot(x,y)
hold on
dy=-exp(-x);
plot(x,dy)
x1=-1:0.1:1;
y1=abs(x1);
plot(x1,dy1)
dy1=(abs(x1)/x1);
plot(x1,dy1)
x2=1:0.1:5;
y2=x2.^2+1;
plot(x2,y2)
dy2=2*x2;
plot(x2,dy2)
EJERCICIO 4:Elabore un programa que permita calcular las raı́ces reales de un polinomio
de segundo grado de la forma ax2 + bx + c = 0. Tenga en cuenta que dependiendo del valor
del discriminante (D = b2-4ac) el sistema puede dar raı́ces reales (D ≥ 0) o raı́ces complejas
(D<0). El programa debe informar al usuario si el sistema no tiene raı́ces reales. Además se
debe indicar si las raı́ces reales son iguales (D = 0) o diferentes (D>0).
Para desarrollar este ejercicio empleamos una function M-file con los comandos que se mostraran
a continuación:
>> Ejer4
Ingrese el valor a:1
Ingrese el valor b:4
5
x =
-2.0000 + 2.0000i
y =
-2.0000 - 2.0000i
i=0;
while i~=5
disp(’Conversion de Temperaturas’)
disp(’1 Fahrenheit’)
disp(’2 Kelvin’)
disp(’3 Celsius’)
disp(’4 Rankine’)
disp(’5 Salir’)
i=input(’Escoja una opcion:’);
switch i
case 1
disp(’Fahrenheit’)
F=input(’Ingrese su temperatura:’)
disp(’Celsius’)
C=(5/9)*(F-32); disp(C)
disp(’Kelvin’)
K=C+273; disp(K)
disp(’Rankine’)
R=(9/5)*C+491; disp(R)
case 2
disp(’Kelvin’)
K=input(’Ingrese su temperatura:’)
disp(’Celsius’)
6
C=K+273; disp(C)
disp(’Fahrenheit’)
F=C*1.8+32; disp(F)
disp(’Rankine’)
R=(9/5)*C+491; disp(R)
case 3
disp(’Celsius’)
C=input(’Ingrese su temperatura:’)
disp(’Fahrenheit’)
F=(C*1.8)+32; disp(F)
disp(’Kelvin’)
K=C+273; disp(K)
disp(’Rankine’)
R=(9/5)*C+491; disp(R)
case 4
disp(’Rankine’)
R=input(’Ingrese su temperatura:’)
disp(’Celsius’)
C=(5/9)*(R-4912); disp(C)
disp(’Fahrenheit’)
F=(C*1.8)+32; disp(F)
disp(’Kelvin’)
K=C+273; disp(K)
case 5
otherwise
disp(’Salir’)
end
end
>> Ejer5
Conversion de Temperaturas
1 Fahrenheit
2 Kelvin
3 Celsius
4 Rankine
5 Salir
Escoja una opcion:3
Celsius
Ingrese su temperatura:6
C =
Fahrenheit
42.8000
Kelvin
279
7
Rankine
501.8000
EJERCICIO 6: Crear una función M.file con la que se pueda graficar la función paramétri-
ca siguiente:
x(t) = (R + r)cos(t) − rcos( R+r
r
t)
z(t) = R+r
y(t) = (R + r)sen(t) − rsen( r t)
Los parámetros de entrada deben ser R; r; a; b y el número n de puntos. t ∈ (a, b); a, b ∈ R Para
ejecutar el programa llamamos a la función de la siguiente forma dando unos valores aleatorios.
Creamos una Función M-file llamada parametrica1 que se ve a continuación.
R=300;
r=50;
a=100;
b=200;
n=500;
t=linspace(a,b,n);
for i=1:n
x=(R+r)*cos(t)-r*cos(((R+r)./r)*t);
y=(R+r)*sin(t)-r*sin(((R+r)./r)*t);
end
axis equal
plot(x,y)
usuario ingresa una tabla con el número de sustancia en la primera columna y las mediciones
realizadas en las otras 4 columnas. Mostrar en pantalla el número de muestra, las mediciones,
el peso eliminado y el peso promedio de cada sustancia pesada.
Para realizar este ejercicio creamos la siguiente funcion M-File:
a=input(’Ingrese datos\n’);
[i,j]=size(a);
for b=1:i
f=a(b,2:j);
minimo(b)=min(f);
promedio(b)=(sum(a(b,2:j))-minimo(b))/3;
end
a(:,j+1)=minimo;
a(:,j+2)=promedio;
disp(’Id Muestra Peso1 Peso2 Peso3 Peso4 Mini Prom’)
disp(a)
>> Ejer7
Ingrese datos
[1 4 6 2 8 19 ;2 5 9 20 14 2;3 7 9 10 34 15;4 2 6 12 45 67]
Id Muestra Peso1 Peso2 Peso3 Peso4 Mini Prom
1.0000 4.0000 6.0000 2.0000 8.0000 19.0000 2.0000 12.3333
2.0000 5.0000 9.0000 20.0000 14.0000 2.0000 2.0000 16.0000
3.0000 7.0000 9.0000 10.0000 34.0000 15.0000 7.0000 22.6667
4.0000 2.0000 6.0000 12.0000 45.0000 67.0000 2.0000 43.3333
n=2;
syms x;
syms y;
u=[x-10 y-10];
u=u’;
E=[3 -1;-1 4];
a=exp(-(1/2)*((x-u)’)*(E^(-1))*(x-u));
d=det(E);
d=sqrt(d);
d=d*((2*pi).^(n/2));
a=a/d;
a=inline(a);
p=linspace(r,b,c);
h=linspace(r,b,c);
for i=1:length(p)
9
for j=1:length(p)
z(i,j)=a(p(i),h(j));
end
end
surfc(p,z,h)
El resultado que nos da en Matlab:
EJERCICIO 9:Escriba un programa que busque los números amigables y diferentes entre
1 y 1000. Dos números son amigables si el primero es la suma de los divisores del segundo y
viceversa.
Realizamos una función M-File
for i=1:1000
a=0;
for j=1:i-1
if mod(i,j)==0
a=a+j;
end
end
for r=i+1:1000
f=0;
for j=1:r-1
if mod(r,j)==0
f=f+j;
end
end
if a==r && f==i
disp([i,r]);
end
end
end
El resultado que nos da en Matlab:
>> Ejer9
220 284
EJERCICIO 10:Realizar una función tal que ingresado un numero N, se impriman por
pantalla todos los números primos de 1 hasta N. Ej: Ingreso el número 13 y se imprimen por
pantalla: 1, 3, 5, 7, 11, 13.
solución:
10
a=input(’Ingrese el numero:’);
p=[]
for i=1:a
b=1:i;
c=i./b;
w=find((c./floor(c))==1);
if length(w)==2;
p(i)=i;
p(1)=1;
end
end
t=find(p==0);
p(t)=[];
disp(p)
>> Ejer10
Ingrese el numero:5
p =
1 2 3 5