0% encontró este documento útil (0 votos)
61 vistas11 páginas

Apuntes Matlab 1

Este documento presenta una introducción a MATLAB, incluyendo variables, operadores, entrada y salida de datos, y estructuras de control condicionales como if y if-else. Explica conceptos básicos como variables, operadores aritméticos, lógicos y relacionales, y funciones incorporadas como funciones trigonométricas y exponenciales. También cubre temas como almacenar y recuperar datos, y usar funciones como input, disp y fprintf para entrada y salida de datos.

Cargado por

Cinthya Acurio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
61 vistas11 páginas

Apuntes Matlab 1

Este documento presenta una introducción a MATLAB, incluyendo variables, operadores, entrada y salida de datos, y estructuras de control condicionales como if y if-else. Explica conceptos básicos como variables, operadores aritméticos, lógicos y relacionales, y funciones incorporadas como funciones trigonométricas y exponenciales. También cubre temas como almacenar y recuperar datos, y usar funciones como input, disp y fprintf para entrada y salida de datos.

Cargado por

Cinthya Acurio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

APUNTES DE PROGRAMACIÓN I

MATLAB

Junio 2020

1. Introducción
1.1. Variables o identificadores
Son los sı́mbolos para representar los valores y otros componentes de los
programas. Para escribir variables se pueden usar letras, mayúsulas y minúscu-
las, dı́gitos y el sub-guión. No se pueden usar tildes ni la letra ñ y deben
comenzar con una letra.
Se recomienda no usar nombres para variables que coincidan con las pa-
labras reservadas que tienen un significado especial para el lenguaje de pro-
gramación. Se sugiere usar nombres significativos, relacionados con los valores
que representarán.

1.2. Operadores
1.2.1. Operadores aritméticos
Estos operadores son los usuales y ya bien conocidos por todos:

Operación Sı́mbolo Expresión en Matlab


Suma + a+b
Resta − a−b
Multiplicación * a∗b
División / a/b
Potencia ∧ a∧b

1.2.2. Operadores lógicos


Los principales operadores lógicos son:

& : Operador AND y equivale a and(A,B). El resultado es verdadero si


ambas expresiones son verdaderas. Evalúa siempre las dos expresiones.

| : Operador OR, equivale a or(A,B). Evalúa siempre los dos operadores.


El resultado es verdadero si alguna expresión es verdadera.

|| : OR breve. Si el primer operando es true, no evalúa el segundo

∼ : Negación lógica. Equivale a not(A). El resultado invierte de true a


false o viceversa.

1
1.2.3. Operadores relacionales
Los operadores relacionales son sı́mbolos que se usan para comparar dos
valores. Si el resultado de la comparación es correcto la expresión considerada
es verdadera, en caso contrario es falsa.

Nombre Operador
Menor que <
Mayor que >
Menor igual ≤
Mayor igual ≥
No igual ∼=

1.2.4. Operador de asignación


La asignación se consigue por medio del signo igual =. No hay que olvidar
que asignar es una operación consistente en copiar un cierto valor en la me-
moria ocupada por una variable. Por tanto no es lo mismo asignar que igualar
en el sentido matemático. Lamentablemente el uso del signo = en ambos casos
no ayuda nada a clarificar la cuestión.

1.2.5. Operador de comparación


Además de las operaciones aritméticas de sobra conocidas existen opera-
ciones lógicas, como por ejemplo la comprobación de igualdad. Considere el
ejemplo siguiente consistente en una expresión de comprobación de igualdad:
>> x == y
La expresión x == y equivale a preguntar ¿Es el valor de x igual al valor de
y?. La respuesta obtenida puede ser cero (falso) o uno (verdadero).

1.3. Almacenar y recuperar los datos


Matlab permite guardar y cargar datos de los archivos del computador.
En el menú Home, la opción Save Workspace guarda todas las variables ac-
tuales e Import Data. . . carga variables de un espacio de trabajo guardado
previamente.

1.4. Observaciones
Matlab no tiene en cuenta los espacios.

Si queremos que Matlab evalúe la lı́nea pero que no escriba la respuesta,


basta escribir punto y coma (;) al final de la sentencia.

Tecleando clear podemos borrar todas las variables del espacio de tra-
bajo, pero no borra lo de las demás ventanas, es decir, no desaparece lo
que hay escrito en la ventana de comandos.

Tecleando clc borramos lo que hay en la ventana de comandos pero no


borra las variables de la memoria del espacio de trabajo.

2
2. Funciones incorporadas en MATLAB
Hay funciones matemáticas elementales que operan sobre escalares. Estas
funciones, que comprenden las funciones matemáticas trascendentales y otras
funciones básicas, actúan sobre cada elemento de la matriz como si se tratase
de un escalar. Se aplican de la misma forma a escalares, vectores y matrices.
Algunas de las funciones de este grupo son las que se relacionan a continua-
ción. Se debe entender que si el argumento o argumentos sobre los que actúa
la función son matrices o vectores entonces dicha función actúa termino a ter-
mino. Ası́, si x es una matriz, sin(x) devuelve una matriz cuyos elementos son
los senos de los elementos de la matriz x.
Se muestran a continuación algunas de las funciones mas usuales:

2.1. Funciones trigonométricas

2.2. Funciones exponenciales

3
2.3. Funciones de redondeo

Importante: Si usted desea visualizar toas las funciones que MATLAB


trae incorporadas puede hacerlo con el siguiente comando:

>> help elf un

3. Entrada y salida de datos


3.1. Entrada de datos
En muchas oportunidades, no tendremos definidas las variables al iniciar el
programa, debemos agregarlas mediante el ingreso por teclado. Para realizar
esto, tenemos la sentencia input, que funciona de la siguiente manera:

variable=input(’Ingrese el valor de la variable: ’)

La sentencia finaliza con punto y coma si queremos que no se muestre el valor


de la variable.

3.2. Mostrar datos


MATLAB imprime los resultados de los cálculos y los guarda bien en una
variable o en ans, si no se especifica. En muchos casos, esto es suficiente, pero
en programas más largos es necesario identificar o describir el resultado de un
determinado cálculo. MATLAB dispone de una función f printf muy versátil
para mostrar distintos datos con formato, alternativamente se puede utilizar
la función disp.

3.2.1. La función disp


La función disp de MATLAB se utiliza para mostrar un escalar, un mensaje
(string), un vector o una matriz. En la lı́nea de comandos escribimos:

>> y = 22;
>> disp(y)

se mostrará el valor de y.

4
Esta función también nos permite mostrar un mensaje:

>> disp(0 Hola M AT LAB 0 )

3.2.2. La función fprint


fprintf es otra función para mostrar un mensaje o un resultado, que permite
mezclar texto y valores numéricos de las variables y tiene un mejor control
sobre el formato de los números. Esta función tiene muchas posibilidades,
mostramos una de las posibles formas a usar:

fprintf (’texto %.2f texto adicional’, variable)


% es el sı́mbolo que indica formato.

.2, indica la precisión, indica el número de decimales que se mostrarán


a la derecha del punto decimal.

f, indica que la variable que se va a mostrar es de tipo decimal. i se


utiliza para indicar que escribiremos una variable entera. s indica que la
variable es una cadena de caracteres.

variable es cualquier variable y efectivamente, debe coincidir con el tipo


que se ha especificado previamente.

Ejemplo:

nombre = ’Adriana’;
edad = 30;
sprintf(’ %s tiene %i años.’,nombre,edad)

4. Sentencias de control
Hasta ahora, todas las sentencias se han ejecutado de modo consecutivo,
una detrás de la otra. No disponemos todavı́a de herramientas que permitan
controlar de algún modo la ejecución o realizar operaciones mas complejas.
Estas estructuras permitirán que nuestra capacidad de pensar se enfoque en
el desarrollo de un algoritmo e implementarlo, es decir, entramos a la progra-
mación como tal.

4.1. Estructura de control condicional if


La primera de esas estructuras y una de las mas importantes es el con-
dicional. La estructura condicional aparece en los lenguajes de programación
normalmente mediante la palabra reservada if. En MATLAB lo hace de ese
modo también. La sintaxis es:

if (Condición)
Instrucciones
end

Condición: Es la expresión que se le asignará un grado de verdad (verdad


o falso).

5
Instrucciones: Si Condición es verdadera entonces permite la ejecución
del código o bloque de código.

end: Indica la finalización de la estructura.

Ejemplo:Verificar si un numero ingresado por teclado es positivo.


1 x=input ( ’ I n g r e s e un v a l o r : ’ )
2 i f ( x>0)
3 disp ( ’ Su numero e s p o s i t i v o ’ )
4 end

4.1.1. Estructura de control condicional if-else


En el caso de que queramos que se ejecuten determinadas sentencias cuando
la condición sea falsa, deberemos complementar if con else. De este modo, si
condición es cierta se ejecutara el primer bloque y si es falsa el segundo, como
se muestra en el siguiente esquema:

if (condición)
bloque1
else
bloque2
end

Ejemplo: Verificar si un número ingresado es positivo o negativo.


1 x=input ( ’ I n g r e s e un v a l o r : ’ )
2 i f ( x>0)
3 disp ( ’ Su numero e s p o s i t i v o ’ )
4 else
5 disp ( ’ Su numero e s n e g a t i v o ’ )
6 end

Ejercicios

1. Cree una función que reciba un numero r y devuelva el área del circulo de
radio r si r > 0 y -1 en caso contrario, utilizando la estructura if − else.

2. Cree un bloque de código que reciba un valor x y devuelva, utilizando la


estructura if − else, el valor y de la función definida a trozos:

4.1.2. Condicionales anidados


Las estructuras de control pueden contener dentro de sus bloques de ins-
trucciones internos otras estructuras de control. Es habitual que dentro de un
bucle hay condicionales, o que dentro del bloque de un condicional haya un
bucle y también es habitual que dentro del bloque de un condicional haya otro
condicional. Esto lo reflejamos en el siguiente esquema.

6
if (condición 1)
bloque 1
if (condición 2)
bloque 2
end
bloque3
else
bloque2
end

Ejemplo: Función que devuelve el signo de un número entero n.


1 n=input ( ’ I n g r e s e un v a l o r para n : ’ )
2 i f n<0
3 s i g n o =−1;
4 else
5 i f n==0
6 s i g n o =0;
7 else
8 s i g n o =1;
9 end
10 end

4.1.3. Estructura de control elseif


La idea es que si una condición es cierta se ejecuten unas sentencias, pero
si esta es falsa, se compruebe una segunda condición y si esta es cierta, se
ejecuten el correspondiente segundo grupo de sentencias, pero si la segunda
condición es falsa, se pase a una tercera y ası́ sucesivamente. Finalmente, la
orden terminara con una sentencia else cuyo bloque de instrucciones posterior
se ejecutara si ninguna de las condiciones ha resultado cierta. Pretendemos
reflejar esto con el siguiente esquema:

if (condición 1)
bloque 1
elseif (condición 2)
bloque 2
elseif (condición 3)
bloque 3
else
bloque n
end

Si la condición 1 es cierta, se ejecutará el bloque 1 de sentencias, y a poste-


riori se pasara directamente a las sentencias posteriores a la sentencia end.Si
la condición 1 fuese falsa, se evaluará la condición 2 y si esta fuese cierta, se
ejecutara el bloque 2, pasando directamente a las sentencias posteriores a la
sentencia end. Si ninguna de las condiciones fuese cierta, se pasara directa-
mente a la ejecución del bloque n.

Ejemplo: Esta función devuelve el signo de un número entero n.

7
Si bien este bloque de código emite los mismos resultado que el ejemplo
anterior, podemos notar que tiene otro sentido en cuanto a la estructura del
código.
1 x =100;
2 i f ( x<0)
3 disp ( ’ El numero e s n e g a t i v o ’ )
4 e l s e i f ( x>0)
5 disp ( ’ El numero e s p o s i t i o ’ )
6 else
7 disp ( ’EL numero e s n e g a t i v o ’ )
8 end

4.1.4. Ejercicios:
1. Construya un bloque de código que reciba una calificación (entre 0 y
10) y devuelva 0 si es suspenso (calificación estrictamente menor que
5), 1 si es aprobado (calificación mayor o igual que 5 y menor que 7),
2 si es notable (calificación mayor o igual que 7 y menor que 9), 3 si es
sobresaliente (calificación mayor o igual que 9 y menor o igual que 10)
y -1 si el argumento no esta entre 0 y 10.

2. Construya un bloque de código que reciba un valor x y devuelva el valor


y de la función definida a trozos:

4.2. Bucles
En muchos problemas de matemáticas se requiere repetir o iterar un mismo
procedimiento. Es por ello que todos los lenguajes de programación contienen
la posibilidad de crear bucles. Un bucle en programación es una sentencia que
se realiza repetidas veces. Un bucle se utiliza para hacer un acción repetida
sin tener que repetir varias veces el mismo código, lo que ahorra tiempo, deja
el código mas claro y facilita su modificación en el futuro.

4.2.1. El bucle while


Un bloque while ejecuta las órdenes mientras todos los elementos de la
condición a verificar sea verdadera. La sintaxis es la siguiente:

while (condición)
Instrucciones
...
end

Ejemplo: Estas instrucciones calculan la suma de los números compren-


didos entre 1 y el 10.

8
1 i =1;
2 suma=0;
3 while ( i <=10)
4 suma=suma+i ;
5 i=i +1;
6 end
7 f p r i n t f ( ’ La suma e s : %.2 f \n ’ , suma )

4.2.2. El bucle for


El bucle for es completamente equivalente al while y es más simple, su
estructura es la siguiente:

for i = rango-numérico
Instrucciones
...
end

En este caso la condición es el rango numérico que se ha de completar para


que el bucle termine, y pueden ser expresados rangos tales como:

1 : 100

1 : 0,2 : 1000

−5 : 0,25 : 100

−0,25 : 0,01 : 4,55

Es decir, aquello que en Matlab es un rango, y que como hemos visto tiene la
forma:

a:p:b

Lo cual abarca un rango desde a hasta b con un paso de p. El bucle se repite


una y otra vez hasta que la variable iterativa ı̈”(o el nombre que la demos)
haya recorrido todo el rango de valores.

Ejemplo: Estas instrucciones calculan la suma de los números compren-


didos entre 1 y el 10.
1 suma2=0;
2 f o r ( i =1:10)
3 suma2=suma2+i ;
4 end
5 f p r i n t f ( ’ La suma e s : %.2 f \n ’ , suma2 )

4.2.3. Sentencia break


Si queremos que en un momento dado termine la ejecución de un bucle for
o un bucle while usaremos break.

9
4.2.4. La sentencia continue
La sentencia continue hace que se pase inmediatamente a la siguiente ite-
ración del bucle for o del bucle while saltando todas las órdenes que hay entre
el continue y el fin del bucle en la iteración actual.

4.2.5. Ejercicios
1. Construye una función que reciba un numero n, recorra los valores

sin(1); sin(2); sin(3); ... ; sin(n);

y muestre solo aquellos resultados positivos.

2. Construye una función que reciba un número n, recorra los valores

sin(1); sin(2); sin(3); ... ; sin(n);

y devuelva el producto de los que son positivos.

3. Crea una función que reciba un numero n y muestre los primeros n


términos de la sucesión de Fibonacci.

x0 = 0, x1 = 1, x2 = 1, x3 = 2, x4 = 3, x5 = 5, ..., xi = xi−1 + xi−2

4. Construya un código que muestre los números primos comprendidos en


el intervalo [0, n], dónde n es un número ingresado por teclado.

5. Construya un código que calcule el número de primos menores o iguales


que un numero n.

6. Construya un código que reciba dos naturales, m y n, con m < n y


muestre la suma de los números primos entre m y n.

7. Aproxime el valor de π usando la siguiente expresión:

10
1 #i n c l u d e <i o s t r e a m >
2 u s i n g namespace std ;
3 i n t main ( )
4 {
5 cout <<‘‘ Hola Mundo ’ ’<<e n d l ;
6 }

11

También podría gustarte