Você está na página 1de 15

Latex y Programacin Matlab

Capt de E Vctor Hugo Ypez Proao


November 8, 2015

1 EJERCICIO: Escribir un programa en Matlab que le pida al usuario


un nmero entero positivo menor que un milln (1000000) y devuelva
a pantalla el nmero e indique si es par o impar. Ejemplo: Ingresar:
550 Nmero par
1.1

CODIGO EN MATLAB

1. %EJERCICIO 1
2. %Numero > 1000000 par impar?
3. clc
4. clear
5. n=input('Ingrese un num entero positivo menor a un millon ');
6. R=rem(n,2);
7. E=mod(n,1);
8. if n>0
9. if E==0
10. if(R==0)
11. disp(n)
12. disp('El numero es par')
13. else
14. disp(n)
15. disp('El numero es impar')
16. end
17. else
18. disp('Numero decimal')
19. end
20. else
21. end

1.2

Command Window

2 EJERCICIO: Realizar un programa en Matlab que permita visualizar


un crculo de radio 6.5 y centro 3.
2.1

CODIGO EN MATLAB

1. %EJERCICIO
2. %Circulo de radio 6.5 y centro en 3
3. clc
4. clear x=-3.5:0.1:9.5;
5. y1=sqrt((6.5).^2-(x-3).^2)+3;
6. y2=-sqrt((6.5).^2-(x-3).^2)+3;
7. plot(x,y1,'r');
8. hold on
9. grid on
10. plot(x,y2,'r');
11. line([-3.5 9.5],[3 3])
12. line([3 3],[-3.5 9.5])
13. title('Circulo de radio 6.5 y centro en 3')

2.2

Command Window

3 EJERCICIO: Gracar la siguiente funcin y sus derivadas, en un solo


grco, de manera superpuesta

3.1

CODIGO EN MATLAB

1. %EJERCICIO 3
2. %Graco de funcion y derivada
3. clc
4. clear
5. x1=[-10:0.01:-1];
6. x2=[-1:.01:1];
7. x3=[1:0.01:10];
8. y1=exp(1).^(-x1);
9. y2=abs(x2);

10. y3=x3.^2+1;
11. plot (x1,y1)
12. hold on
13. grid on
14. plot(x2,y2)
15. plot(x3,y3)

3.2

Command Window

4 EJERCICIO: Elabore un programa que permita calcular las races


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 races reales (D>= 0) o races complejas
(D < 0). El programa debe informar al usuario si el sistema no tiene
races reales. Adems se debe indicar si las races reales son iguales
(D = 0) o diferentes (D > 0).
4.1

CODIGO EN MATLAB

1. %EJERCICIO 4
2. %CALCULO DE RAICES FUNCION CUADRATICA
3. clc

4. clear
5. disp('Calculo de raices de una funcion')
6. disp('de la forma ax^2 + bx+c=0')
7. a=input('Ingrese el valor de a ');
8. b=input('Ingrese el valor de b ');
9. c=input('Ingrese el valor de c ');
10. d=(b^2-4*a*c)
11. vector1=[a b c]
12. if d >=0
13. if d==0
14. disp('Raices Iguales')
15. roots(vector1)
16. else
17. disp('Raices diferentes')
18. roots(vector1)
19. end
20. else
21. disp('Raices Imaginarias')
22. roots(vector1)
23. end

4.2

Command Window

5 EJERCICIO: Tabla de conversin de temperatura. La relacin de


diversas escalas de temperatura con la escala Celsius (C), es la siguiente:
F = 95C + 32
K = C + 273; 15
R = 810C

Construir un programa en Matlab que permita pasar de una escala a


otra. El programa debe solicitar al usuario el ingreso de la informacin
necesaria para su funcionamiento. Adems, el programa siempre esperar
informacin hasta que se pulse la tecla s.
5.1

CODIGO EN MATLAB

1. %EJERCICIO 5
2. %Celsius a Farenheit, Kelvin y Rankine
3. clc
4. clear
5. while 1
6. disp('CONVERSION DE C,F, K y R')
7. condicion=input('DESEA CONTINUAR Si[S] No[N]:','s');
8. condicion=upper(condicion);
9. if isequal(condicion,'S')
10. seleccion= input('Ingrese 1 de C a F, K y R, 2 de F a C, K y R, 3 de K a R,C y F 4 de R aC, K y F ' );
11. condicion1=input('DESEA CONTINUAR Si[S] No[N]:','s');

12. condicion1=upper(condicion1);
13. if isequal(condicion1,'S')
14. switch seleccion
15. case 1
16. disp('Celsius a Farenheit, Kelvin y Rankine')
17. disp(' ')
18. c=input('Ingrese la temperatura en grados celsius ')
19. disp('su equivalente en grados farenheit es ')
20. f=9*c/5+32
21. disp('su equivalente en grados kelvin es ')
22. k=c+273.15
23. disp('su equivalente en grados rankine es ')
24. r=8*c/10
25. case 2
26. disp('Farenheit a Celsius, Kelvin y Rankine')
27. disp(' ')
28. f=input('Ingrese la temperatura en grados farenheit ')
29. disp('su equivalente en grados celsius es ')
30. c=5*(f-32)/9
31. disp('su equivalente en grados kelvin es ')
32. k=c+273.15
33. disp('su equivalente en grados rankine es ')
34. r=8*c/10
35. case 3
36. disp('Kelvin a Celsius, Farenheit y Rankine')
37. disp(' ')
38. k=input('Ingrese la temperatura en grados kelvin ')
39. disp('su equivalente en grados celsius es ')
40. c=273.15-k
41. disp('su equivalente en grados farenheit es ')
42. f=9*c/5+32
43. disp('su equivalente en grados rankine es ')
44. r=8*c/10
45. case 4
46. disp('Rankine a Celsius, Farenheit y Kelvin')

47. disp(' ')


48. r=input('Ingrese la temperatura en grados rankine ')
49. disp('su equivalente en grados celsius es ')
50. c=10*r/8
51. disp('su equivalente en grados farenheit es ')
52. f=9*c/5+32
53. disp('su equivalente en grados rankine es ')
54. k=c+273.15
55. otherwise
56. disp('No existe esa opcion')
57. end
58. else
59. break;
60. end
61. else
62. break;
63. end
64. end

5.2

Command Window

6 EJERCICIO: Crear una funcin M.le con la que se pueda gracar la


funcin paramtrica siguiente:

Los parmetros de entrada deben ser R; r; a; b y el nmero n de puntos.


t [a; b] y a; b R:
6.1

CODIGO EN MATLAB

1. function paramdeber1( R,r,a,b,n )


2. t=linspace(a,b,n);
3. s=length(t);
4. for i=1:s
5. x(i)=(R+r)*cos(t(i))-r*cos(t(i)*(R+r)/r);
6. y(i)=(R+r)*sin(t(i))-r*sin(t(i)*(R+r)/r);
7. end
8. plot(x,y)
9. end

6.2

Command Window

7 EJERCICIO: Realizar un programa en donde el peso de una muestra


se determina realizando 4 pesadas, se descarta el menor peso y se
promedian los otros tres. Considere que el usuario ingresa una tabla
con el nmero de sustancia en la primera columna y las mediciones
realizadas en las otras 4 columnas. Mostrar en pantalla el nmero
de muestra, las mediciones, el peso eliminado y el peso promedio de
cada sustancia pesada.
7.1

CODIGO EN MATLAB

1. %EJERCICIO 7
2. %Pesos de muestras
3. clc
4. clear
5. disp('Pesos de muestras (4 pesos por muestras)')
6. disp()
7. nmuestra=input('Ingrese el numero de muestras pesadas ');
8. disp()
9. for i = 1:nmuestra
10. disp()
11. fprintf(' Muestra Numero %6.1f\n',i)
12. disp()
13. for j=1:4
14. fprintf('Ingrese el peso %6.1f\n ',j)
15. peso=input();
16. muestra(i,j)=peso;
17. end
18. end
19. ordenada=sort(muestra,2);
20. for i = 1:nmuestra
21. m(i)=(ordenada(i,1)+ordenada(i,2)+ordenada(i,3)+ordenada(i,4))/3;
22. columna(i)=i;
23. elim(i)=ordenada(i,1);
24. end
25. v=[columna' muestra elim' m'];
26. disp(' Muestra peso1 peso2 peso3 peso4 Eliminado Promedio')
27. disp(v)

10

7.2

Command Window

8 EJERCICIO: Represente en Matlab la supercie 3D dada por la funcin

Para el caso n = 2 , usar los siguientes valores de las constantes = (10; 10)
signica el determinante de la matriz .

8.1

CODIGO EN MATLAB

1. %EJERCICIO 8
2. %Graca 3D
3. clc
4. clear
5. n=2;
6. E=[3 -1;-1 4]
7. u=[10 10]';
8. x1=linspace(0,20,35);

11


,

3
1

1
4


. El smbolo ||

9. y1=linspace(0,20,35);
10. [x y]=meshgrid(x1, y1);
11. z=x;
12. c=(1)/(((2*pi)^(n/2))*(det(E)^(1/2)));
13. for i=1:1225
14. aux=[x(i) y(i)];
15. z(i)=c*exp((-1/2)*((aux'-u)'*inv(E)*(aux'-u)));
16. end
17. surf(x,y,z)

8.2

Command Window

9 EJERCICIO: Escriba un programa que busque los nmeros amigables


y diferentes entre 1 y 1000. Dos nmeros son amigables si el primero
es la suma de los divisores del segundo y viceversa.
9.1

CODIGO EN MATLAB

1. %EJERCICIO 9
2. %Numeros amigos entre 1 y 1000
3. clc

12

4. clear
5. cont=0;
6. cont1=1;
7. a=1000;
8. while a ~=0
9. b=a;
10. d=0;
11. acum=0;
12. for i =1:a
13. b=b-1;
14. c=a/b;
15. e=rem(c,1);
16. if e==0
17. d=d+1;
18. acum =acum+b;
19. end
20. end
21. acum;
22. b=acum;
23. d=0;
24. acum1=0;
25. for i =1:acum
26. b=b-1;
27. c=acum/b;
28. e=rem(c,1);
29. if e==0
30. d=d+1;
31. acum1 =acum1+b;
32. end
33. end
34. acum1;
35. acum;
36. if acum1==a
37. if a~=acum
38. cont=cont+1;

13

39. x(cont)=a;
40. y(cont)=acum;
41. end
42. end
43. a=a-1;
44. cont1=cont1+1;
45. end
46. namigo=[x' y']

9.2

Command Window

10 EJERCICIO: Realizar una funcin tal que ingresado un numero N,


se impriman por pantalla todos los nmeros primos de 1 hasta N.
Ej: Ingreso el nmero 13 y se imprimen por pantalla: 1, 3, 5, 7, 11,
13.
10.1

CODIGO EN MATLAB

1. function numprimo( n )
2. A=[];
3. i=1;
4. while i<n+1
5. if isprime(i)==1
6. A=[A,i];
7. end
8. i=i+1;
9. end
10. display(A)
11. end

14

10.2

Command Window

15

Você também pode gostar