Publicado el 17 de Agosto del 2018
1.137 visualizaciones desde el 17 de Agosto del 2018
65,3 KB
2 paginas
Creado hace 10a (07/12/2014)
Operador condicional en el lenguaje de MATLAB
Objetivos. Conocer el operador condicional if.
Requisitos. Se supone que el estudiante ya tiene experiencia de escribir programas
(scripts) en MATLAB o en alguno de sus análogos libres (GNU Octave, Scilab, Free-
Mat).
En los siguientes ejemplos se trata de GNU Octave, pero casi lo mismo se aplica en
MATLAB, Scilab y FreeMat.
1. Ejemplo. En cualquier editor crear el siguiente archivo de texto y guardarlo en el
formato “texto simple” con el nombre test3.m:
function result = test3(x),
if mod(x, 3) == 0,
result = ’is divisible by 3’;
else,
result = ’is not divisible by 3’;
endif
endfunction
Abrir GNU Octave, moverse a la carpeta donde está guardado el archivo test3.m y
ejecutar los siguientes comandos:
test3(18)
test3(5)
2. Ejemplo (sumar las componentes positivas de un arreglo).
function s = sumpositives(a),
s = 0;
for j = 1 : length(a),
if a(j) > 0,
s = s + a(j);
endif
endfor
endfunction
Operador condicional en el lenguaje de MATLAB, página 1 de 2
3. Ejemplo (números de Collatz/Ulam/Kakutani/Thwaites/Hasse). Definimos
una función f : {1, 2, . . .} → {1, 2, . . .} por la regla
f (n) =
3n + 1,
n/2,
si n es impar;
si n es par.
Dado un número n, vamos a generar la sucesión f (n), f (f (n)), f (f (f (n))), etc., hasta
llegar a 1. Primero guardamos la siguiente función en un archivo collatz.m:
function result = collatz(n),
result = [n];
while n > 1,
if mod(n, 2) == 0,
n = n / 2;
else,
n = 3 * n + 1;
endif
result = [result, n];
endwhile
endfunction
Luego llamamos esta función con varios valores del argumento:
collatz(5)
collatz(12)
collatz(39)
Operador condicional en el lenguaje de MATLAB, página 2 de 2
Comentarios de: Operador condicional en el lenguaje de MATLAB (0)
No hay comentarios