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);enddisp(v);disp('la suma de las componentes es:'), disp(s)
Escalas de Temperaturas
( Farenheit Celsius)
532
9C F
( Farenheit Celsius)
9* 32
5F C
% 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
Método de Newton para calcular raíces cuadradas:
Ejemplo: 5
Paso 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
1
xx
x
Paso 3º: Dividir 5 entre x1 sumarle x1 y esto dividirlo entre 2.
2
5
11
2
xx
x
Etc., etc.
% 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)
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;
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 “
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”
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.
% ------------ 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
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.
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
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
Grupo A: T1L12, (T1L13)
Grupo B: T1L23
Grupo C: T1L1A2, (T1L1A3)
Grupo D: T1A23
Grupo E: T1L2A3, (T1L3A2)
Grupo F: T1L2A2, (T1L3A3)
Grupo A: T2A12, (T2A13)
Grupo B: T2A23
Grupo C: T2L2A1, (T2L3A1)
Grupo D: T2L23
Grupo E: T2L2A3, (T2L3A2)
Grupo F: T2L2A2, (T2L3A3)
EJEMPLO:
Función para resolver
Triángulos rectángulos conocidos B y C.
T1A23
Formulas:
B
Cc
C
Bb
CBa
sin
coscos
sin
coscos
tan.tan
1cos
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);
EJEMPLO:
Resolvamos el Triángulo rectángulo:
B = 78º 27’ 31”
C = 109º 12’ 54”