Ejemplos de Programas

25
Ejemplos de Programas Matlab v. 5.3

description

Ejemplos de Programas. Matlab v. 5.3. % Programa sumav1.m % Este programa suma de las diez componentes de un vector (1,10) % Autor: Juan Carlos Gorostizaga (18/10/2007) v = fix(10 * rand(1,10)); s = 0; for i = 1:10 s = s + v(i); end disp(v); - PowerPoint PPT Presentation

Transcript of Ejemplos de Programas

Page 1: Ejemplos de Programas

Ejemplos de Programas

Matlab v. 5.3

Page 2: Ejemplos de Programas

% Programa sumav1.m% Este programa suma de las diez componentes de un vector (1,10)% Autor: Juan Carlos Gorostizaga (18/10/2007)

v = fix(10 * rand(1,10));s = 0;

for i = 1:10 s = s + v(i);enddisp(v);disp('la suma de las componentes es:'), disp(s)

Page 3: Ejemplos de Programas
Page 4: Ejemplos de Programas

Escalas de Temperaturas

( Farenheit Celsius)

5 329

C F

( Farenheit Celsius)

9 * 325

F C

Page 5: Ejemplos de Programas

% autor: Angel Gonzalez% Fecha: 9 /11/2006% Programa Celsius para cambiar de grados celsius a farenheit y viceversa

x = input('Introducir (1)... para Celsius --> Farenheit. (2) Para Farenheit --> Celsius ');

if x ==1 C = input('introduce grados Celsius '); F = C * (9/5)+32; disp(‘ los grados Farenheit son: '); disp(F); else F = input(‘ introduce grados Farenheit '); C = (F-32) * (5/9); disp(‘ los grados Celsius son: '); disp(C);end

Page 6: Ejemplos de Programas
Page 7: Ejemplos de Programas

Método de Newton para calcular raíces cuadradas:

Ejemplo: 5Paso 1º: Una aproximación inicial → x0 = 5/2 = 2.5

Paso 2º: Dividir 5 entre x0 sumarle x0 y esto dividirlo entre 2.

2

5

00

1x

xx

Paso 3º: Dividir 5 entre x1 sumarle x1 y esto dividirlo entre 2.

2

5

11

2x

xx

Etc., etc.

Page 8: Ejemplos de Programas

% Programa raiz5 para cálculo de la raíz de 5 por el método de Newton% Autor: Juan C. Gorostizaga (17/10/2007)

x0 = 2.5; % semilla inicialT = 10; % cantidad total de iteraciones

for i = 1:T x = 1/2 * (x0 + 5/x0); x0 = x;end;disp('Raíz de 5 = '), disp(x)

Page 9: Ejemplos de Programas
Page 10: Ejemplos de Programas

function v1 = raiznewton(x)% raiznewton(x) fuciòn que computa la raiz cuadrada por el métod de Newton% autor: Juan C. Gorostizaga 9/10/2005

% Comprobar si x es positivoif x <= 0, error('En raiznewton(x) : el argumento x debe ser positivo');end;

% aproximación inicialx0 = (1+x)/2;

% ciclo iterativo para computar la raiz cuadrada

for i = 1:100 xn = (x0 + x/x0)/2; if abs(xn - x0)/xn < eps, break, end; x0 = xn; endv1 = xn;

Page 11: Ejemplos de Programas
Page 12: Ejemplos de Programas

Programas y funciones a realizar (en Matlab)

1. Construir una función llamada toabsg(g,m,s) que convierta un ángulo dado en grados, minutos, segundos en “grados absolutos”. Ejemplo de utilización:

toabsg(35, 47, 29) → 35.7913888

2. Construir una función llamada togms(g) que convierta un ángulo dado en grados absolutos en grados, minutos, segundos. Ejemplo de utilización:

togms(35.7913888) → 35º 47’ 29.000 “

Page 13: Ejemplos de Programas

3. Construir una función llamada tor(g,m,s) que convierta un ángulo en grados, minutos, segundos en radianes. Ejemplo de utilización:

tor(120, 36, 41) → 2.1050658

4. Construir una función llamada tog(r) que convierta radianes en grados-minutos-segundos. Ejemplo de utilización:

tog(2.1050658) → 120º 36’ 41.000”

Page 14: Ejemplos de Programas

5. Construir una función llamada validoT1(a, b, c, B, C) que indique si es válido el T.E. Rectángulo con los datos: a, b, c, B y C introducidos en grados absolutos (e. g: 54.3, 120.25 , etc. ). En caso de que no sea válido el triángulo, que indique las propiedades en que falla.

Page 15: Ejemplos de Programas

% ------------ Propiedad 2 -------------------------cont = 0;if ~((b<90 & B<90) | (b>90 & B>90)) cont=cont+1; disp(‘ falla propiedad 2 (b-B) ')endif ~((c<90 & C<90) | (c>90 & C>90)) cont=cont+1; disp(‘ falla propiedad 2 (c-C) ')end

% --------- Fin Propiedad 2 ----------------------------

COMIENZO DEL PROGRAMA

Page 16: Ejemplos de Programas

6. Construir una función llamada validoT2(b, c, A, B, C) que indique si es válido el T.E. Rectilatero con los datos: a, b, c, B y C introducidos en grados absolutos (e. g: 54.3, 120.25 , etc. ). En caso de que no sea válido el triángulo, que indique las propiedades en que falla.

Page 17: Ejemplos de Programas

CLAVES A UTILIZAR:

Conocido los datos Triángulo rectángulo: T1 “ rectilátero: T2 “ oblicuángulo: T3

Lados: L1, L2, L3

Ángulos: A1, A2, A3

Page 18: Ejemplos de Programas

Ejemplos:

Triáng. Rectángulo, conocidos a, B: T1L1A2

Triáng. Rectilatero, conocidos B, C: T2A23

Triáng. Acutángulo, conocidos a, b, C:T3L12A3

Page 19: Ejemplos de Programas

Grupo A: T1L12, (T1L13)

Grupo B: T1L23

Grupo C: T1L1A2, (T1L1A3)

Grupo D: T1A23

Grupo E: T1L2A3, (T1L3A2)

Grupo F: T1L2A2, (T1L3A3)

Page 20: Ejemplos de Programas

Grupo A: T2A12, (T2A13)

Grupo B: T2A23

Grupo C: T2L2A1, (T2L3A1)

Grupo D: T2L23

Grupo E: T2L2A3, (T2L3A2)

Grupo F: T2L2A2, (T2L3A3)

Page 21: Ejemplos de Programas

EJEMPLO:

Función para resolver

Triángulos rectángulos conocidos B y C.

T1A23

Page 22: Ejemplos de Programas

Formulas:

BCc

CBb

CBa

sincoscos

sincoscos

tan.tan1cos

Page 23: Ejemplos de Programas

function T1A23(Bg,Bm,Bs,Cg,Cm,Cs)% Datos: Los dos ángulos, B y C ---> Se calculan a, b, c.% autor: Juan Carlos Gorostizaga (26/3/2008)

lada = acos(1/(tan(tor(Bg,Bm,Bs))*tan(tor(Cg,Cm,Cs)))); ladb = acos(cos(tor(Bg,Bm,Bs))/sin(tor(Cg,Cm,Cs))); ladc = acos(cos(tor(Cg,Cm,Cs))/sin(tor(Bg,Bm,Bs)));

[ladag, ladam, ladas] = tog(lada); [ladbg, ladbm, ladbs] = tog(ladb); [ladcg, ladcm, ladcs] = tog(ladc);

fprintf('Lado a = %14.8g\n', ladag, ladam, ladas); fprintf('Lado b = %14.8g\n', ladbg, ladbm, ladbs); fprintf('Lado c = %14.8g\n', ladcg, ladcm, ladcs);

Page 24: Ejemplos de Programas

EJEMPLO:

Resolvamos el Triángulo rectángulo:

B = 78º 27’ 31”

C = 109º 12’ 54”

Page 25: Ejemplos de Programas