Archivo2 Matlab Programacion
Archivo2 Matlab Programacion
Archivo2 Matlab Programacion
dados sus catetos. El programa deberá entregar como resultados los valores de los catetos entrados así
como la hipotenusa calculada, en el siguiente formato:
RESULTADOS.
2.- Algoritmo:
%calcula la hipotenusa
hip=sqrt(co^2+ca^2);
%imprime a pantalla
fprintf('Para cateto opuesto = %f,\n',co)
fprintf('Para cateto adyacente = %f,\n',ca)
fprintf('Para cateto opuesto = %f.\n',hip)
FUNCIONES EN MATLAB.
Notas:
>> [r1, r2, …] = nombre(1.1,-2.5,7, …) % yo elijo los nombres r1, r2, etc. Pueden ser
% incluso out1, out2, etc.
o bien:
>>a=1.1,b=-2.5,c=7
>> [r1, r2, …] = nombre(a,b,c, …) % puedo usar variables que tengan valores
% como argumentos (podría ser in1=1.1, in2=-2.5,
% etc.)
DIFERENCIAS Y SEMEJANZAS ENTRE SCRIPTS Y FUNCIONES.
Forma de ejecutar >> nombre >> [out1, out2,…] = nombre(in1, in2, in3, …)
RESULTADOS.
--------------------------------------
Para un circulo de diametro _______,
El radio vale:_________,
La circunferencia es:__________
y el area = ____________.
PROBLEMA 2.- Genera un archivo de comandos matlab (script) que convierta una temperatura de
grados centígrados a grados Fahrenheit. Escribe el programa de manera que te solicite la
temperatura en grados centígrados y que imprima en pantalla el resultado de la siguiente manera:
RESULTADOS.
PROBLEMA 3.- Escribe un programa que acepte valores de tres lados de un triángulo, a, b y c, y
posteriormente calcule el perímetro y área de dicho triángulo. La respuesta y los valores de los
lados del triángulo deberán desplegarse de la siguiente forma:
RESULTADOS:
¿Qué observas en los incisos c y d? ¿Tienes una explicación? Discute con tus compañeros.
La sentencia for ejecuta una sentencia o grupo de sentencias un número predeterminado de veces. Su sintaxis general es:
bloque de sentencias
end
Ejemplo:
for i=1:2:11
fprintf('i=%d\n',i)
end
NOTAS IMPORTANTES:
for tiene una pareja (end) . Cuando uses un for, escribe inmediatamente su end.
Matlab pone por default una sangría que sirve para leer mejor y distinguir los ciclos iterativos, respétala.
var -- es la variable contadora del loop, su valor cambia conforme avanza el ciclo
valor_inicial -- es el primer valor que toma var
incremento -- es el valor en el cual se va incrementando var en cada paso del ciclo iterativo
valor_final -- cuando var alcance este valor (o menor) el ciclo concluirá.
El incremento puede ser negativo, pero en este caso se debe tener
valor_inicial > valor_final (la variable contadora irá hacia atrás)
El contador var se puede usar en las sentencias dentro del ciclo (para cálculos).
Si tienes necesidad de salir del loop, se puede usar el comando break. Éste deberá ir dentro de una sentencia
control de flujo ( if ), que veremos más adelante.
Cuando incremento no se especifica, matlab usa un incremento de 1. O sea:
bloque de sentencias
end
(aquí var tendrá inicialmente el valor de valor_inicial y se irá incrementando de 1 en 1 hasta valor_final).
2
EJERCICIOS: Introduce los siguientes loops en matlab. Genera un script de comandos en tu memoria. Llama al
programa “ciclosfor.m”.
IMPORTANTE: Los ciclos iterativos pueden ir anidados (unos dentro de otros), ejecutándose completamente primero
los más interiores. Por ejemplo:
3
PROBLEMAS
El método iterativo “divide y promedia” sirve para encontrar una aproximación de la raíz cuadrada de cualquier
número positivo “a”. Consiste en, partiendo de una suposición inicial x0 determinar aproximaciones sucesivas
x1, x2, x3, … cada vez más cercanas (se espera) a la raíz cuadrada del número “a”.
; n=1,2,…
Es decir,
n=1 implica
n=2 implica
n=3 implica
etc.
Observando que los datos para este problema son el número “a” del cual queremos la raíz aproximada, y la
suposición inicial, x0, podemos calcular x1 sin problema.
Luego, usando nuevamente “a” (este no cambia) y la nueva solución x1, encontramos una nueva aproximación
x2, y así sucesivamente. Efectúa cálculos manuales para ver si funciona. Usa a=23 e itera 4 veces.
4
ALGORITMO.
Pruébalo con otros valores cualesquiera que desees (itermax no necesita ser tan grande)
5
Genera un programa (script) implementando esta fórmula iterativa, de manera similar al problema anterior.
Ejecútalo para a=23, con un itermax necesario para lograr un valor aceptable, tú decides cuánto.
3.1
3.2
PROBLEMA.- Encuentra el primer número entero “n” para el cual n! (n factorial) es mayor o
igual que algún número “NUM” introducido por el usuario.
Por ejemplo, para el caso de NUM=20, n=4 porque 1x2x3x4=24 (no es 3 porque 3! no es mayor
que 20; no es 5 por que, aunque 5! es mayor que 20, también 4! lo es, 4 es el primer número
cuyo factorial es mayor que 20).
ALGORITMO:
n=n+1
4.- Imprime n