Documentos de Académico
Documentos de Profesional
Documentos de Cultura
a Matlab
PROGRAMACIÓN NUMÉRICA
Agenda
3
Modelo
𝑦 = 𝑓 𝑡, 𝑝𝑎𝑟á𝑚𝑒𝑡𝑟𝑜𝑠, 𝑓𝑢𝑛𝑐𝑖𝑜𝑛𝑒𝑠 𝑓𝑜𝑟𝑧𝑎𝑛𝑡𝑒
Variable Dependiente (y) es una característica que usualmente refleja el
comportamiento o estado del Sistema.
4
Ejemplo
Suponiendo que un saltador de bungee está en pleno vuelo, un modelo
analítico para la velocidad del saltador, teniendo en cuenta la
resistencia, es
𝑔𝑚 𝑔𝑐𝑑
𝑣 𝑡 = 𝑡𝑎𝑛ℎ 𝑡
𝑐𝑑 𝑚
6
Modelado Numérico
Algunos modelos de sistemas se presentan como funciones implícitas o
como ecuaciones diferenciales que pueden resolverse mediante métodos
analíticos o numéricos.
Ejemplo: la ecuación de velocidad del saltador de bungee es la solución
analítica de la ecuación diferencial:
𝑑𝑣 𝑐𝑑 2
=𝑔− 𝑣
𝑑𝑡 𝑚
donde el cambio de velocidad viene determinado por las fuerzas gravitatorias
que actúan sobre el saltador frente a la fuerza de resistencia.
7
Métodos Numéricos
Para resolver el problema utilizando
un método numérico, observe que la
tasa de cambio de velocidad en el
tiempo puede aproximarse como:
𝑑𝑣 ∆𝑣 𝑣 𝑡𝑖+1 − 𝑣 𝑡𝑖
≈ =
𝑑𝑡 ∆𝑡 𝑡𝑖+1 − 𝑡𝑖
Resolviendo para
𝑐𝑑 2
𝑣 𝑡𝑖+1 = 𝑣 𝑡𝑖 + g − 𝑣 𝑡𝑖 𝑡𝑖+1 − 𝑡𝑖
𝑚
new = old + slope × step
9
Resultado Numérico
La siguiente gráfica se obtiene
al aplicar el método de Euler en
intervalos de 2 segundos.
¿Como podemos mejorar la
solución?
10
Bases para los modelos
numéricos
Las leyes de conservación constituyen la base de muchos
modelos. Diferentes campos de la ingeniería y la ciencia aplican
estas leyes a diferentes paradigmas dentro del campo. Entre
estas leyes se encuentran:
◦ Conservación de la masa.
◦ Conservación del momento.
◦ Conservación de la carga.
◦ Conservación de la energía.
11
Métodos Numéricos
12
Introducción a Matlab
Programación Numérica
MATLAB
Matlab (Matrix laboratory) es un sistema interactivo de software para
computo numérico y graficación. Como su nombre lo sugiere, Matlab
es especialmente diseñado para computo matricial.
Matlab cuenta con una gran variedad de capacidades gráficas y
puede ser extendido a través de programas escritos en su propio
lenguaje de programación.
Matlab está diseñado para resolver problemas numéricos, es decir
aritmética de precisión finita.
15
Modo calculadora
La ventana de comandos de MATLAB puede utilizarse como una
calculadora en la que se pueden escribir comandos línea a línea.
Cada vez que se realice un cálculo, MATLAB asignará el resultado a
la variable incorporada ans
Ejemplo:
>> 55 - 16
ans =
39
16
Variables
Aunque utilizar la variable ans puede ser útil para realizar cálculos
rápidos, su naturaleza transitoria la hace menos útil para la
programación.
MATLAB permite asignar valores a los nombres de las variables.
MATLAB puede almacenar valores individuales, así como matrices;
puede almacenar datos numéricos y texto.
MATLAB no requiere que usted pre-inicialice una variable; si no existe,
MATLAB la creará.
17
Escalares
Para asignar un único valor a una variable, basta con escribir
el nombre de la variable, el signo = y el valor:
>> a = 4
a =
4
Los nombres de las variables deben empezar con una letra,
pueden contener letras, números y el símbolo de subrayado
(_)
18
Convención de nombres de
variables
Los nombres de variables deben iniciar con una letra y no deben contener espacios en blanco, o
caracteres especiales. Matlab es sensible a las mayúsculas por lo que las siguientes variables
son distintas:
» suma = 25;
» SUMA = 30;
En el curso se usará la convención de nombres conocida como Camelcase, donde las palabras se
delimitan por mayúsculas a excepción de la letra inicial, ejemplo:
◦ primerRaiz
◦ sumaTotal
◦ nuevoValor
Escalares
MATLAB no muestra el resultado de un cálculo si añades el
punto y coma (;) al final de una línea. El cálculo se realiza,
pero no se muestra el resultado en pantalla.
Puede pedir a MATLAB que informe del valor almacenado en
una variable escribiendo su nombre:
>> a
a =
4
20
Escalares
Puede utilizar la variable compleja i (o j) para representar el número
imaginario unitario.
Puede decirle a MATLAB que le devuelva los valores con varios formatos
diferentes utilizando el comando format. Algunos ejemplos son:
short - formato de punto fijo escalado con 5 dígitos.
long - formato de punto fijo escalado con 15 dígitos para doble y 7 dígitos
para simple.
short eng - formato de ingeniería con al menos 5 dígitos y una potencia
que es múltiplo de 3 (útil para prefijos SI).
21
Ejemplos
>> format short; pi
ans =
3.1416
>> format long; pi
ans =
3.14159265358979
>> format short eng; pi
ans =
3.1416e+000
>> pi*10000
ans =
31.4159e+003
Nota - el formato sigue siendo el mismo a menos que se emita otro comando
de formato.
22
Matrices, vectores y arreglos
MATLAB puede manejar automáticamente matrices rectangulares
de datos: las matrices unidimensionales se denominan arreglos y
las bidimensionales matrices.
En MATLAB, las matrices se separan mediante paréntesis
cuadrados [ y ].Las entradas dentro de una fila se separan
mediante espacios o comas.
Las filas se separan con punto y coma
23
Arreglos
>> a = [1 2 3 4 5 ]
a =
1 2 3 4 5
>> b = [2;4;6;8;10]
b =
2
4
6
8
10
24
Matrices
Una matriz bidimensional de datos se introduce fila por fila, con
espacios (o comas) separando las entradas dentro de la fila y
punto y coma separando las filas:
>> A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
25
Ejercicio
Define las siguientes matrices o vectores
1 4 𝑏 = 10 −10 21
𝐴= 2 5
3 6
0
𝑐= 1
0
Comandos de arreglos útiles
El operador de transposición (apóstrofo) puede utilizarse para
transponer una matriz. Por ejemplo,
◦ Sí b es un vector fila, b' es un vector columna.
◦ Sí b es complejo, b' contiene el conjugado complejo de b.
El comando who le informará de los nombres de las variables
utilizadas; whos también le dará el tamaño, la memoria y los tipos
de datos de las matrices.
27
Accediendo elementos de un
arreglo
Las entradas individuales de una matriz pueden leerse y establecerse
utilizando el índice de la posición en la matriz o el renglón y la columna.
El valor del índice comienza con 1 para la entrada en la esquina superior
izquierda de una matriz y aumenta hacia abajo una columna - lo siguiente
muestra los índices para una matriz de 4 renglones, 3 columnas:
1 5 9
2 6 10
3 7 11
4 8 12
28
Accediendo arreglos
C =
2 4 9
3 3 16
3 0 8
10 13 17 Los elementos pueden también
C(2) reportara 3 accederse por renglón y columna:
C(2,1) reportara 3
C(4) reportara 10
C(3,2) reportara 0
C(13) reportara un error C(5,1) reportara un error
29
Creando Arreglos
zeros(r,c) creará una matriz de ceros de r filas por c columnas.
zeros(n) creará una matriz n por n de ceros.
ones(r,c) creará una matriz de unos de r filas por c columnas.
ones(n) creará una matriz n por n de unos.
help elmat tiene, entre otras cosas, una lista de las matrices
elementales
30
Ejercicio
Reporta el resultado de las siguientes instrucciones:
A = ones(5,5); D = [1,2;3,4];
B = 25*A; I = [1,0;0,1];
B(5) C = D-I;
C(2,2) = 25;
C
Creando Arreglos
El operador dos puntos : es útil en varios contextos. Puede utilizarse para
crear una matriz de puntos linealmente espaciados utilizando la notación
inicio:difval:límite donde inicio es el primer valor de la matriz,
difval es la diferencia entre valores sucesivos de la matriz y límite es el
límite del último valor (el último valor es menor o igual a límite).
>>1:0.6:3
ans =
1.0000 1.6000 2.2000 2.8000
32
Operador dos puntos :
Si diffval se omite, el valor default es 1:
>>3:6
ans =
3 4 5 6
Para crear una serie decreciente, diffval debe ser negativo:
>> 5:-1.2:2
ans =
5.0000 3.8000 2.6000
Si start+diffval>limit para una serie creciente o start+diffval<limit para una serie
decreciente, resulta en un arreglo vacío. Por ejemplo:
>>5:2
ans =
Empty matrix: 1-by-0
Para crear una columna, aplica la transpuesta al arreglo resultante. Ejemplo, (3:6)′ no 3:6′
33
Creando Arreglos - linspace
Para crear un vector de renglones con un número específico de puntos
linealmente espaciados entre dos números, utilice el comando linspace.
linspace(x1, x2, n) creará una matriz linealmente espaciada de n
puntos entre x1 y x2
>>linspace(0, 1, 6)
ans = 0 0.2000 0.4000 0.6000 0.8000 1.0000
Si se omite n, se crean 100 puntos. Para generar una columna, transponga
la salida del comando linspace.
34
Creando Arreglos - logspace
Para crear un vector renglón con un número especifico de puntos espaciados
logarítmicamente entre dos números use logspace.
logspace(x1, x2, n) crea un arreglo logarítmicamente espaciad de n puntos
entre 10𝑥1 y 10𝑥2
>>logspace(-1, 2, 4)
ans =
0.1000 1.0000 10.0000 100.0000
35
Ejercicio 1
Genera un arreglo de que contenga los valores del 0 al 20 en pasos de 0.5
A=0:0.5:20
Genera un arreglo de 10 a 0 en pasos de 0.5
B=10:-0.5:0
Genera un arreglo de 50 elementos que inicie en -100 y termine en 100
c=linspace(-100,100,50)
Genera un arreglo 100 elementos de -45 hasta 45
c=linspace(-45,45,100)
Números Complejos
Todas las operaciones anteriores pueden utilizarse con cantidades complejas
(es decir, valores que contienen una parte imaginaria introducidos mediante
i o j y visualizados mediante i)
>> x = 2+i*4; (or 2+4i, or 2+j*4, or 2+4j)
>> y = 16;
>> 3 * x
ans =
6.0000 +12.0000i
>> x+y
ans =
18.0000 + 4.0000i
>> x'
ans =
2.0000 - 4.0000i
37
Operaciones Matemáticas
Las operaciones matemáticas en MATLAB pueden realizarse tanto en escalares
como en matrices. Dentro de cada nivel de precedencia, los operadores se
evalúan de izquierda a derecha. Los operadores comunes, por orden de
prioridad, son:
∧ Exponenciación 4∧2= 8
− Negación (operador unario) −8 = −8
∗ Multiplicación y División 2 ∗ pi = 6.2832
∕ pi/4 = 0.7854
∖ División izquierda 6\2 = 0.3333
+ Suma y resta 3+5=8
− 3 − 5 = −2
38
Orden de operaciones
El orden de las operaciones se establece por su precedencia, siendo los
paréntesis los de más alta precedencia, y posteriormente de izquierda a
derecha:
◦ y = −4 ^ 2 resulta en y = −16
40
Cálculos vectoriales y matriciales
El operador * para matrices se define como el producto exterior o lo que comúnmente se
llama "multiplicación de matrices".
41
Cálculos elemento por elemento
Matlab puede realizar cálculos elemento por elemento en una matriz o
vector. MATLAB define .* y ./ (observe los puntos) como los operadores de
multiplicación y división de elemento a elemento.
Para las operaciones de matriz, ambas matrices deben tener el mismo
tamaño o una de las matrices debe ser 1 por 1 (es decir, un escalar).
La exponenciación de matrices (elevar cada elemento a la potencia
correspondiente en otra matriz) se realiza con .^.De nuevo, para las
operaciones de matrices, ambas matrices deben ser del mismo tamaño o
una de las matrices debe ser de 1 por 1.
42
Ejercicio 2
Utilizando los arreglos anteriormente creados obtén el resultado
de las siguientes operaciones:
𝑝 𝑥 = 25𝑥 2 + 𝑥 − 15, 0 al 20 en pasos de 0.5
𝑞 𝑥 = 1Τ𝑥 2 , de 10 a 0 en pasos de 0.5
𝑟 𝑥 = 𝑥 5 − 12𝑥 3 + 25𝑥 2 + 6𝑥 − 1, arreglo de 50 elementos que
inicie en -100 y termine en 100
Funciones Integradas
Existen varias funciones integradas para crear y manipular datos. La función
de ayuda incorporada puede darle información tanto sobre lo que existe
como sobre cómo se utilizan esas funciones:
◦ help elmat enumerará las funciones elementales de creación y manipulación de
matrices, incluidas las funciones para obtener información sobre matrices.
◦ help elfun enumerará las funciones matemáticas elementales, incluidas las
funciones trigonométricas, exponenciales, complejas, de redondeo y de resto.
La función lookfor buscará texto en los archivos de ayuda y puede ser útil
si conoce el propósito de una función, pero no su nombre.
44
Archivos-M
Mientras que los comandos se pueden introducir directamente en
la ventana de comandos, MATLAB también le permite poner
comandos en archivos de texto llamados archivos-M.
Los archivos M se llaman así porque se almacenan con una
extensión .m, existen dos tipos principales de archivos:
◦ Scripts (guion)
◦ Funciones
45
Script
Un archivo de script es simplemente un conjunto de comandos de MATLAB que se
guardan en un archivo - cuando MATLAB ejecuta un archivo de script, es como si se
introdujeras los comandos almacenados en el archivo en la ventana de comandos.
Los scripts pueden ejecutarse escribiendo su nombre (sin extensión .m) en la
ventana de comandos, seleccionando el comando Depurar, Ejecutar (o Guardar y
Ejecutar) en la ventana de edición, o pulsando la tecla F5 mientras se está en la
ventana de edición.
Las dos últimas opciones guardarán cualquier edición que haya realizado, mientras
que la primera ejecutará el archivo tal y como existe en la unidad.
46
Gráficas
MATLAB dispone de un potente conjunto de funciones gráficas
integradas.
Dos de las funciones principales son:
◦ plot (para trazar datos bidimensionales) y
◦ plot3 (para trazar datos tridimensionales).
47
Gráficación
hold on indica a MATLAB que mantenga los datos actuales trazados y
añada los resultados de cualquier otro comando de trazado al gráfico. Esto
continúa hasta el comando hold off, que indica a MATLAB que borre el
gráfico y comience de nuevo si se da otro comando de trazado. hold on
debe utilizarse después de realizar el primer trazado de una serie.
subplot(m, n, p)
◦ Subplot, divide la ventana de la figura en una matriz m×n de ejes. Nota - el
primer subplot está arriba a la izquierda, luego la numeración continúa a través
del renglón.
48
Ejemplo
t = [0:2:20]’;
g = 9.81; m = 68.1; cd =
0.25;
v = sqrt(g*m/cd) *
tanh(sqrt(g*cd/m)*t);
plot(t, v)
54
Estilos de línea
Estilo de línea Descripción Línea resultante
"-" Línea continua
"--" Línea discontinua
":" Línea de puntos
Línea de puntos y
"-."
rayas
Marcador
Marcador Descripción
resultante
"o" Círculo
"+" Signo más
"*" Asterisco
"." Punto
"x" Cruz
Marcadores "_"
"|"
Línea horizontal
Línea vertical
"square" Cuadrado
"diamond" Rombo
Triángulo hacia
"^"
arriba
Triángulo hacia
"v"
abajo
Triángulo hacia la
">"
derecha
Triángulo hacia la
"<"
izquierda
"pentagram" Pentagrama
"hexagram" Hexagrama
Colores
Código de color
Nombre del color Nombre corto Triplete RGB Apariencia
hexadecimal
"red" "r" [1 0 0] "#FF0000"
"green" "g" [0 1 0] "#00FF00"
"blue" "b" [0 0 1] "#0000FF"
"cyan" "c" [0 1 1] "#00FFFF"
"magenta" "m" [1 0 1] "#FF00FF"
"yellow" "y" [1 1 0] "#FFFF00"
"black" "k" [0 0 0] "#000000"
"white" "w" [1 1 1] "#FFFFFF"
Cadenas
Constantes alfanuméricas se encierran entre apostrofes (‘)
>> f = 'Miles ';
>> s = 'Davis’
Las cadenas pueden ser unidad (concatenadas) de la siguiente manera
>> x = [f s]
x =
Miles Davis
Elipsis (...): Se utiliza para continuar líneas largas
>> a = [1 2 3 4 5 ...
6 7 8]
a =
1 2 3 4 5 6 7 8
58
Cadenas
No puede utilizar una elipsis entre comillas simples para continuar una
cadena. Pero puede unir cadenas más cortas con elipsis
>> quote = ['Any fool can make a rule,' ...
' and any fool will mind it']
quote =
Any fool can make a rule, and any fool will mind it
59
Algunas funciones útiles de los
caracteres
Función Descripción
n = length(s) Numero de caracteres, n, en una cadena, s.
Compara dos cadenas, s1 and s2; si son iguales regresa verdadero (b
b = strcmp(s1,s2)
= 1). Si no son iguales regresa falso (b = 0).
n = str2num(s) Convierte una cadena, s, en un número, n.
s = num2str(n) Convierte un número, n, en una cadena, s.
s2 = strrep(s1,c1,c2) Reemplaza caracteres en una cadena
Regresa el índice de inicio de cualquiera ocurrencia de la cadena s2 en
i = strfind(s1,s2)
la cadena s1
S = upper(s) Convierte una cadena a mayúsculas
s = lower(S) Convierte una cadena a minúsculas
60
Salida
La forma más sencilla de mostrar el valor de una matriz es
escribir su nombre, pero eso no funcionará en archivos de función
o script. En su lugar, utilice la función disp.
disp(value)
61
disp
disp(X) muestra el valor de la variable X name = 'Alice';
sin imprimir el nombre de la variable. Otra
age = 12;
forma de mostrar una variable es escribir su
nombre, que muestra X = delante del X = [name,' will be ',num2str(age),'
valor. this year.'];
Si una variable contiene un arreglo vacío, disp(X)
disp no muestra nada.
Entrada
La forma más fácil de obtener un valor del usuario es a través de
la función input:
◦ n = input('promptstring’)
En la Ventana de comandos aparecera los caracteres promptstring, y
cualquier valor que sea escrito se almacenara en n. Por ejemplo, si
escribes pi, n tendra el valor 3.1416…
◦ n = input('promptstring', 's’)
El valor que escribas se almacenara como una cadena. Por ejemplo, si
escribes pi, n tendrá las letras p y i en un arreglo de caracteres de 21.
63
input
x = input(prompt) muestra el texto en prompt y espera a que el usuario introduzca un valor
y termine con la tecla Return. El usuario puede introducir expresiones, como pi/4 o rand(3), y
utilizar variables en el área de trabajo.
Si el usuario presiona la tecla Return sin introducir nada, input devuelve una matriz vacía.
𝑓 𝑥 = 𝑒 2𝑥+1
9.81
𝑔 𝑡 = 𝑡𝑎𝑛ℎ 𝑡
0.25
25−𝑡 2 −𝑡
ℎ 𝑡 =
𝑙𝑛 𝑡
𝑝 𝑥 = 25𝑥 3 − 10𝑥 2 + 𝑥 − 5
Operadores Relacionales
Ejemplo Operador Relación
x == 0 == Igual
unit ~= ‘m’ ~= Diferente
a < 0 < Menor que
s > t > Mayor que
3.9 <= a/3 <= Menor o igual que
r >= 0 >= Mayor o igual que
67
Operadores Lógicos
~x (Not): verdadero si x es falso (o cero); falso de otra
manera.
69
Estructuras de Decisión
Las decisiones se toman en MATLAB utilizando estructuras if, que también
pueden incluir varias ramas elseif y posiblemente una rama else.
La decisión de qué rama se ejecuta se basa en el resultado de condiciones
que son verdaderas o falsas. Si un árbol if llega a una condición verdadera,
esa rama (y sólo esa rama) se ejecuta, entonces el árbol termina.
Si un árbol if llega a una condición else sin ejecutar ninguna rama
anterior, se ejecutará esa rama. Si la condición es una matriz, se considera
verdadera si y sólo si todas las entradas son verdaderas (o distintas de cero).
70
Ejemplo
if expression If (x > y)
else else
end end
Ejemplo
%Mostrando un scrip para graficar x^3-2x^2+x
disp('Este programa grafica x^3-2x^2+x en el intervalo establecido por el
usuario');
low = input('Proporciona el limite inferior: ')
high = input('Proporciona el limite superior: ')
n = input('Cuantos puntos deseas considerar? ')
if(low > high)
temp = low;
low = high;
high = temp;
end
x = linspace(low, high, n);
p = x.^3-2*x.^2+x;
plot(x,p);
title('p(x) = x^3-2x^2+x');
xlabel('x');ylabel('p(x)');grid
Salida formateada
Para darle formato a los datos de salida puedes utilizer la función
fprintf :
fprintf('format', x, y,...)
donde format es una cadena que especifica como quieres que
el valor de la viarables x, y, se muestren en pantalla, puedes
incluir frases que deseas que se muestren en pantalla.
Los valores de las variables se mostraron de acuerdo al formato
especificado.
73
Formatos y Código de Control
Los siguientes formatos especifican como deseas que se muestren los datos:
%d – formato entero
%e - formato científico con e minúscula
%E - formato científico con E mayúscula
%f – formato decimal
%g – versión corta %e o %f
\n – inicia una nueva línea
\t - tabulador
\\ - imprime el carácter \
Ejemplo
fprintf('The value of pi is %8.4f \n',pi)
74
Tipo de valor Conversión Detalles
Entero, con
%d o %i Base 10
signo
%u Base 10
Entero, sin %o Base 8 (octal)
signo %x Base 16 (hexadecimal), letras minúsculas a–f
%X Igual que %x, letras mayúsculas A–F
Notación de punto fijo (use un operador de precisión
%f para especificar el número de dígitos después del
79
Selección
switch switch_expression n = input('Enter a number: ');
switch n
case case_expression case -1
statements disp('negative one')
case case_expression case 0
disp('zero')
statements case 1
... disp('positive one')
otherwise
otherwise
disp('other value')
statements end
end
Ejemplo
x = [12 64 24];
plottype = 'pie3';
switch plottype
case 'bar'
bar(x)
title('Bar Graph')
case {'pie','pie3'}
pie3(x)
title('Pie Chart')
otherwise
warning('Unexpected plot type. No plot created.')
end
Ejercicio 6
Realiza un script que permite elegir el intervalo de graficación, y la función a graficar. El script
deberá solicitar el rango de graficación [low, high] y deberá desplegar el siguiente menú:
1. 2𝑥 2 + 𝑥 − 5
2. log 2𝑥 2 + 1
3. sinh 𝜋𝑡 + 𝜋Τ2
83
for
for index = start:step:finish
statements
end
84
Vectorizacion
A veces, es más eficiente hacer que MATLAB realice cálculos en
un arreglo entero en lugar de procesar un arreglo elemento por
elemento. Esto se puede hacer a través de la vectorización.
for Vectorización
i = 0; t = 0:0.02:50;
for t = 0:0.02:50 y = cos(t);
i = i + 1;
y(i) = cos(t);
end
85
Ejemplo
s=10;
H = zeros(s);
for c = 1:s
for r = 1:s
H(r,c) = 1/(r+c-1);
end
end
Ejercicio
Desarrolla la versión vectorizada del siguiente código:
89
Terminación temprana
A veces será útil salir antes de tiempo de un ciclo for o while - esto puede
hacerse utilizando una sentencia break, generalmente junto con una
estructura if. Ejemplo :
x = 24
while (1)
x = x − 5
if x < 0, break, end
end
Produce los valores 24, 19, 14, 9, 4, y -1, entonces se detiene.
90
Corrección
x = 24 x = 24
while (1) while ( x >= 0)
x = x − 5
x = x − 5
if x < 0
end
break
end
end
continue
La sentencia continue salta hasta el final del ciclo end y regresa a la sentencia inicial (for o
while) permitiendo que el ciclo continue hasta que el ciclo termine. Ejemplo:
for i = 1:100
if mod (i, 17)~=0
continue
end
disp([num2str(i) ' is evenly divisible by 17'])
end
Muestra todos los números menores o iguales a 100 que son múltiplos del 17.
92
Corrección
for i = 1:100
if mod (i, 17)~=0
continue
end
disp([num2str(i) ' is evenly divisible by 17'])
end
for i = 1:100
if mod (i, 17)==0
disp([num2str(i) ' is evenly divisible by 17’])
end
end
Ejercicio 8
Solicite al usuario un numero 𝑥. Utilice un ciclo while para mostrar
todos los múltiplos de x que son menores a 100.
Por ejemplo:
Si x=10, el script deberá mostrar 10, 20, 30, 40, 50, 60, 70, 80
Si x= 8, el script deberá mostrar 8, 16, 24, 32, 40, 48, 56, 64, 72,
80, 88, 96
Ejercicio 9
Calcule la siguiente sumatoria utilizando un ciclo while
𝑠 = 𝑥𝑖
𝑖
Los números que serán sumados deberán ser solicitados al usuario. Indique que,
para terminar la lectura de datos, el usuario deberá ingresar un valor negativo.
Asegúrese de no incluir el numero negativo en la sumatoria.
Por ejemplo: El usuario proporciona los valores 7,5,3,9,2,-1, el programa termina y el
resultado es 26
Ejercicio 10
Una forma de aproximar la raíz cuadrada de un numero 𝑎 es utilizando iterativamente la siguiente
ecuación:
𝑥𝑜𝑙𝑑 + 𝑎Τ𝑥𝑜𝑙𝑑
𝑥𝑛𝑒𝑤 =
2
𝑥𝑜𝑙𝑑 es el valor inicial de la aproximación a la raíz cuadrad que debe ser inicializada a algún valor, por
ejemplo: 𝑥𝑜𝑙𝑑 = 𝑎. El error de la aproximación se calcula con la siguiente ecuación:
𝑥𝑛𝑒𝑤 − 𝑥𝑜𝑙𝑑
𝜀=
𝑥𝑛𝑒𝑤
Cuando se alcanzado un valor menor a una tolerancia especificada por el usuario, por ejemplo 0.001,
se ha alcanzado el valor de la raíz cuadrada de a. Implementa este método utilizando un ciclo while.
Nota: Recuerda que el valor de 𝑎 debe ser positivo, de lo contrario esta aproximación es invalida.