FACULTAD DE INGENIERIA
INGENIERIA DE LA PROGRAMACION
MATRICES – TEXTO - ESTRUCTURA
UNIVERSIDAD PERUANA DEL CENTRO
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
MSc. Hugo F. CAÑARI MARTICORENA
TEXTO
 Una cadena de caracteres es texto rodeado por comillas simples
(') y se manejan como vectores filas. Se direccionan y manipulan
igual que los vectores. Son posibles las operaciones matemáticas
sobre cadenas. Una vez hecha una operación matemática sobre
una cadena, ésta se ve como un vector de números en ASCII.
 Para ver la representación ASCII de una cadena, podemos
utilizar las funciones abs, double o sumamos cero. Para
restaurarla y verla de nuevo como cadena de caracteres, usamos
la función setstr. Si queremos cambiar a minúsculas añadiremos
la diferencia entre 'a' y 'A'.
 Si queremos que escriba algo en pantalla podemos utilizar el
comando disp.
 Ejemplos:
 >> a = 'casa'; b = 'gato'; % a y b son cadenas de caracteres (se
manejarán como vectores)
 >> a + b
 ans = 202 194 231 208
 >> a + 0 % vemos la representación ASCII de la cadena
 ans = 99 97 115 97
 >> abs (a)% otra forma de ver la representación ASCII de la cadena
 ans = 99 97 115 97
 >> double (a)% otra tercera forma de ver la representación ASCII de la
cadena
 ans = 99 97 115 97
 >> setstr (ans) % convertimos un vector de número enteros en
caracteres
 ans = casa
 >> abs ('a') – abs ('A') % calculamos la diferencia entre minúsculas y
mayúsculas
 ans = 32
 >> setstr (a-32) % escribimos los caracteres conociendo la
representación ASCII
 ans = CASA
 >> disp (a) % escribe el valor almacenado en la variable a casa

 >> disp ('escribe esto')% escribe el texto que vaya entre las comillas
escribe esto
ESTRUCTURAS
 Respecto al resto de funciones debemos tener en cuenta que:

Las funciones que operan sobre escalares, como sin, cos, etc., se
aplican sobre hipermatrices elemento a elemento (igual que ocurre
al aplicarlas sobre vectores y matrices).

Las funciones que operan sobre vectores, como sum, max, etc., se
aplican a matrices e hipermatrices según la primera dimensión,
resultando un array de una dimensión inferior.

Las funciones matriciales propias del álgebra lineal, como det, inv,
etc., no se pueden aplicar a hipermatrices, para aplicarlas habría
que extraer las matrices correspondientes.
 Ejemplos:
 >> alumno.nombre = 'Pablo'; % introducimos el campo nombre en la estructura alumno
 >> alumno.apellido1 = 'Fernández'; % introducimos el campo apellido1 en la estructura alumno
 >> alumno.apellido2 = 'García'; % introducimos el campo apellido2 en la estructura alumno
 >> alumno.edad = 15; % introducimos el campo edad en la estructura alumno
 >> alumno % escribe por pantalla la información almacenada en la estructura alumno
 alumno =
 nombre: 'Pablo' apellido1: 'Fernández' apellido2: 'García'
 edad: 15
 >> alumno2 = struct ('nombre','Fermín','apellido1','Martínez','apellido2','Gil','edad',16) % otro modo
de introducir los campos
 alumno2 =
 nombre: 'Fermín' apellido1: 'Martínez' apellido2: 'Gil'
 edad: 16
Pueden crearse vectores y matrices de
estructuras, por ejemplo:

 >> alumno (1) = struct ('nombre','Pablo','apellido1','fernández','apellido2','García','edad',15);
 >> alumno (2) = struct ('nombre','Fermín','apellido1','Martínez','apellido2','Gil','edad',16);
 >> alumno % nos devuelve información sobre los campos que tiene la estructura alumno
 alumno =
 1x2 struct array with fields: nombre
 apellido1 apellido2 edad
 >> alumno (1) % nos devuelve los datos del primer elemento del vector de la estructura
 ans =
 nombre: 'Pablo' apellido1: 'fernández' apellido2: 'García'
 edad: 15
 >> alumno (2) % nos devuelve los datos del segundo elemento del vector de la estructura
 ans =
 nombre: 'Fermín' apellido1: 'Martínez' apellido2: 'Gil'
 edad: 16
 Para ver un campo concreto de todos los alumnos bastaría teclear:
 >> alumno.nombre % escribe los datos de todos los campo nombre de la estructura en
orden
 ans =
 Pablo
 ans
 = Fermín
OPERAR CON ESTRUCTURAS
Función ¿Qué hace?
fieldnames (E) devuelve el nombre de los campos de la estructura E
isfield (E, 'c') devuelve 1 si c es un campo de la estructura E y 0 si no lo es
isstruct (E) devuelve 1 si E es una estructura y 0 si no lo es
rmfield (E, 'c') elimina el campo c de la estructura E
(E es una estructura y c es un campo)
 Ejemplos:
 >> fieldnames (alumno) % devuelve los campos de la estructura alumno
 ans =
 'nombre’
 'apellido1’
 'apellido2’
 'edad'
 >> isfield (alumno,'nombre')% devuelve 1 por ser cierto que nombre es un campo de alumno
 ans =
 1
 >> isstruct (alumno) % devuelve 1 porque es cierto que alumno es una estructura
 ans =
 1
 >> rmfield (alumno,'edad’) % elimina el campo edad de la estructura alumno
 ans =
 1x2 struct array with fields:
 nombre
 Apellido1
 apellido2
VECTORES Y MATRICES DE CELDAS
CÓMO DEFINIRLOS
 Un vector de celdas es un vector cuyos elementos son
cada uno de ellos una variable de cualquier tipo. En
todo vector sus elementos pueden ser números o
cadenas de caracteres, pero en un vector de celdas el
primer elemento puede ser un número, el segundo una
matriz, el tercero una estructura, etc.

 Para crear un vector de celdas usaremos llaves ({}).
>> celda (1) = {[0 1 2]}; % creamos un vector de
celdas definiendo celda a celda
>> celda (2) = {'cadena de caracteres'};
>> celda (3) = {eye(2)};
>> celda (4) = {-7};
>> celda
 celda =
[1x3 double] [1x20 char][2x2 double] [-7]
 >> cel {1} = [0 1 2]; % creamos otro vector de celdas definiendo celda a
celda de forma distinta
 >> cel {2} = 'cadena de caracteres';
 >> cel {3} = eye (2);
 >> cel {4} = -7;
 >> cel
 cel =
 [1x3 double] [1x20 char] [2x2 double] [-7]
 >> c = { [0 1 2] ,'cadena de caracteres',eye(2),-7}; % otra forma de crear un
vector de celdas.
 Si queremos crear una matriz o una hipermatriz de celdas se haría de forma
similar.
OPERAR CON VECTORES Y MATRICES DE CELDAS
Función ¿Qué hace?
cell (m,n) crea una matriz de celdas con m filas y n
columnas
celldisp (c) muestra el contenido de todas las celdas de c
cellplot (c) muestra la representación gráfica de las celdas
de c
iscell (c) devuelve 1 si es una matriz de celdas y 0 si no lo
es
num2cell (x) convierte el vector o matriz numérica en celdas
(m y n números naturales, c celdas y x vector o matriz)
 Ejemplos:

 >> cell (2,3) % crea una matriz de celdas vacías
 ans =
 [] [] []
 [] [] []
 >> celldisp (c) % escribe el contenido de las celdas de c
 c{1} = 0 1 2
 c{2} = cadena de caracteres
 c{3} =
 1 0
 0 1
 c{4} =-7

 >> cellplot (c) % representa gráficamente cómo son las celdas de c
CLASE 05.pdf
 >> iscell (c)
 ans =
 1

 >> A = eye (3,2);
 >> num2cell (A)
 ans =
 [1] [0]
 [0] [1]
 [0] [0]
OPERACIONES RELACIONALES Y LÓGICAS
Como entradas a las expresiones
relacionales y lógicas, Matlab considera
que cero es falso y que cualquier
número distinto de cero es verdadero.
La salida de expresiones de este tipo
produce 1 si es verdadero y 0 si es falso.
OPERADORES RELACIONALES
Operador ¿Qué significa?
< menor que
<= menor o igual que
> mayor que
>= mayor o igual que
== igual a
~= distinto de
La salida de las operaciones lógicas se puede utilizar también en operaciones matemáticas.
OPERADORES LÓGICOS
Operador ¿Qué significa?
& y
| o
~ no
Además de los operadores relacionales y lógicos básicos anteriores, Matlab proporciona una serie de funciones
relacionales y lógicas adicionales que incluyen:
Función ¿Qué significa?
xor (x,y) operación “o” exclusiva, devuelve 0 si ambas son falsas o ambas
verdaderas y devuelve 1 si una es falsa y la otra verdadera
any (x) devuelve 1 si algún elemento en un vector x es no nulo y devuelve 0 si son
todos nulos, si se trata de una matriz da una respuesta por cada columna
all (x) devuelve 1 si todos los elementos en un vector x son no nulos y 0 si existe
alguno nulo y si se trata de una matriz da una respuesta por cada columna
exist ('x') devuelve uno si existe y cero si no existe
isnan (x) devuelve unos en magnitudes no numéricas (NaN) en x
isinf (x) devuelve unos en magnitudes infinitas (Inf) en x
isfinite (x) devuelve unos en valores finitos en x
 Podemos ver muchos más casos pero todos serían similares:
ischar, isempty, isequal, isfloat, isinteger, islogical, isnumeric,
isprime, isreal, isscalar, isspace, …

 Existe un orden de precedencia para operadores aritméticos, lógicos y
relacionales, en la siguiente tabla van de mayor a menor precedencia:
Orden de precedencia de operadores
1º ^ .^ ' .'
2º * /  .* ./ .
3º + - ~ +(unario) -(unario)
4º : > < >= <= == ~=
5º | &
 Ejemplos:

 >> a = 1:9, b = 5-a % definimos dos vectores
 a =
 1 2 3 4 5 6 7 8 9
 b =
 4 3 2 1 0 -1 -2 -3 -4
 >> r1 = a<6 % pregunta si a es menor que 6, devuelve 1 cuando es verdadero y 0 cuando es
falso
 r1 =
 1 1 1 1 1 0 0 0 0
 >> r2 = a==b % pregunta si a es igual a b, devuelve 1 cuando es verdadero y 0 cuando es
falso
 r2 =
 0 0 0 0 0 0 0 0 0
 >> r3 = a~=b % pregunta si a es distinto a b, devuelve 1 cuando es
verdadero y 0 cuando es falso
 r3 =
 1 1 1 1 1 1 1 1 1
 >> r4 = (a>b)&(b>-3) % pregunta si a>b y b>-3, devuelve 1 cuando es
verdadero y 0 cuando es falso
 r4 =
 0 0 1 1 1 1 1 0 0
 >> c = [Inf 0 5 -8 NaN 94];
 >> exist ('c’) % pregunta si existe alguna variable llamada c
 ans =
 1
 >> isnan (c) % pregunta cuando c es NaN, devuelve 1 cuando es verdadero y 0
cuando es falso
 ans =
 0 0 0 0 1 0

 >> isinf (c) % pregunta cuando c es Inf, devuelve 1 cuando es verdadero y 0 cuando es
falso
 ans =
 1 0 0 0 0 0

 >> isfinite (c) % pregunta cuando c es finito, devuelve 1 cuando es verdadero y 0 cuando
es falso
 ans =
 0 1 1 1 0 1
GRACIAS

Más contenido relacionado

PPTX
Tema 5 otros_tipos_de_arreglos
PPTX
Tema 5 otros_tipos_de_arreglos
PDF
Matlab basico
PPTX
Tema 5 otros_tipos_de_arreglos - copia
PPTX
Tema 5 otros_tipos_de_arreglos
PDF
18 tipos-de-datos
PDF
Seminario de matlab
ODP
Fundamentos de programación en scilab
Tema 5 otros_tipos_de_arreglos
Tema 5 otros_tipos_de_arreglos
Matlab basico
Tema 5 otros_tipos_de_arreglos - copia
Tema 5 otros_tipos_de_arreglos
18 tipos-de-datos
Seminario de matlab
Fundamentos de programación en scilab

Similar a CLASE 05.pdf (20)

DOC
Matlab introducción-clase3
PDF
Intro matlab msantos
PDF
Programacion matlab
PPTX
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
PDF
PPTX
Lenguaje c
PDF
Introduccion a Matlab
PDF
Introduccion matlab
PDF
cap8.pdf
DOCX
TIPOS DE DATOS MATLAB
PDF
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
PDF
Operadores y Expresiones en C++
PDF
Clase 5
PPT
VectoresMatricesI.ppt
PPT
VectoresMatricesI.ppt
ODP
Fundamentos de computación(ICM) en octave
PDF
ReferenciaPython.pdf
PPTX
programación Milton.pptx
PDF
Matlab adv esp
DOCX
Trabajo matlab
Matlab introducción-clase3
Intro matlab msantos
Programacion matlab
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Lenguaje c
Introduccion a Matlab
Introduccion matlab
cap8.pdf
TIPOS DE DATOS MATLAB
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Operadores y Expresiones en C++
Clase 5
VectoresMatricesI.ppt
VectoresMatricesI.ppt
Fundamentos de computación(ICM) en octave
ReferenciaPython.pdf
programación Milton.pptx
Matlab adv esp
Trabajo matlab

Más de NandoMartiHufer (10)

PDF
EL INGENIERO Y SU ETHOS.pdf
PDF
clase 06 VALORES ING CIVIL.pdf
PDF
clase 06 VALORES ING CIVIL.pdf
PDF
clasificacioneseticas - CLASE 2.pdf
PDF
CLASE 04.pdf
PDF
practica 6.pdf
PDF
GRAFICOS POLARES CLASE 8 2023.pdf
PDF
clase 7 GRAFICOS 2D.pdf
PDF
CLASE 01.pdf
PPTX
clase 1.pptx
EL INGENIERO Y SU ETHOS.pdf
clase 06 VALORES ING CIVIL.pdf
clase 06 VALORES ING CIVIL.pdf
clasificacioneseticas - CLASE 2.pdf
CLASE 04.pdf
practica 6.pdf
GRAFICOS POLARES CLASE 8 2023.pdf
clase 7 GRAFICOS 2D.pdf
CLASE 01.pdf
clase 1.pptx

Último (20)

PDF
manual-sostenibilidad-vivienda-yo-construyo (1).pdf
PDF
MODULO 1 Base Legal Nacional y sus aplicaciones.pdf
PPT
flujo de caja paa la evaluacion de proyectos
PPTX
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
PDF
manual-sap-gratuito _ para induccion de inicio a SAP
PPTX
PROCESOS DE REGULACION DE CRECIMIENTO.pptx
PDF
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
PPTX
TRABAJOS DE ALTO RIESGO ELEC - LOTO.pptx
PDF
2. FICHA EMERGTENCIA VIAL PUCABAMBA - PAN DE AZUCAR.pdf
PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
PDF
La 5ª Edición del Manual de Ingeniería de Sistemas ( SEH5E ) como base d...
PDF
SESION 10 SEGURIDAD EN TRABAJOS CON ELECTRICIDAD.pdf
PDF
alimentos de bebidas45rtrtytyurrrr 1.pdf
PPTX
CNE-Tx-ZyD_Comite_2020-12-02-Consolidado-Version-Final.pptx
PDF
silabos de colegio privado para clases tema2
PDF
experto-gestion-calidad-seguridad-procesos-quimicos-industriales-gu.pdf
PPTX
Investigacioncientificaytecnologica.pptx
PPTX
EQUIPOS DE PROTECCION PERSONAL - LEY LABORAL.pptx
PDF
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
PPTX
DEBL Presentación PG 23.pptx [Autoguardado].pptx
manual-sostenibilidad-vivienda-yo-construyo (1).pdf
MODULO 1 Base Legal Nacional y sus aplicaciones.pdf
flujo de caja paa la evaluacion de proyectos
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
manual-sap-gratuito _ para induccion de inicio a SAP
PROCESOS DE REGULACION DE CRECIMIENTO.pptx
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
TRABAJOS DE ALTO RIESGO ELEC - LOTO.pptx
2. FICHA EMERGTENCIA VIAL PUCABAMBA - PAN DE AZUCAR.pdf
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
La 5ª Edición del Manual de Ingeniería de Sistemas ( SEH5E ) como base d...
SESION 10 SEGURIDAD EN TRABAJOS CON ELECTRICIDAD.pdf
alimentos de bebidas45rtrtytyurrrr 1.pdf
CNE-Tx-ZyD_Comite_2020-12-02-Consolidado-Version-Final.pptx
silabos de colegio privado para clases tema2
experto-gestion-calidad-seguridad-procesos-quimicos-industriales-gu.pdf
Investigacioncientificaytecnologica.pptx
EQUIPOS DE PROTECCION PERSONAL - LEY LABORAL.pptx
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
DEBL Presentación PG 23.pptx [Autoguardado].pptx

CLASE 05.pdf

  • 1. FACULTAD DE INGENIERIA INGENIERIA DE LA PROGRAMACION MATRICES – TEXTO - ESTRUCTURA UNIVERSIDAD PERUANA DEL CENTRO ESCUELA PROFESIONAL DE INGENIERIA CIVIL MSc. Hugo F. CAÑARI MARTICORENA
  • 2. TEXTO  Una cadena de caracteres es texto rodeado por comillas simples (') y se manejan como vectores filas. Se direccionan y manipulan igual que los vectores. Son posibles las operaciones matemáticas sobre cadenas. Una vez hecha una operación matemática sobre una cadena, ésta se ve como un vector de números en ASCII.  Para ver la representación ASCII de una cadena, podemos utilizar las funciones abs, double o sumamos cero. Para restaurarla y verla de nuevo como cadena de caracteres, usamos la función setstr. Si queremos cambiar a minúsculas añadiremos la diferencia entre 'a' y 'A'.  Si queremos que escriba algo en pantalla podemos utilizar el comando disp.
  • 3.  Ejemplos:  >> a = 'casa'; b = 'gato'; % a y b son cadenas de caracteres (se manejarán como vectores)  >> a + b  ans = 202 194 231 208  >> a + 0 % vemos la representación ASCII de la cadena  ans = 99 97 115 97  >> abs (a)% otra forma de ver la representación ASCII de la cadena  ans = 99 97 115 97  >> double (a)% otra tercera forma de ver la representación ASCII de la cadena  ans = 99 97 115 97
  • 4.  >> setstr (ans) % convertimos un vector de número enteros en caracteres  ans = casa  >> abs ('a') – abs ('A') % calculamos la diferencia entre minúsculas y mayúsculas  ans = 32  >> setstr (a-32) % escribimos los caracteres conociendo la representación ASCII  ans = CASA  >> disp (a) % escribe el valor almacenado en la variable a casa   >> disp ('escribe esto')% escribe el texto que vaya entre las comillas escribe esto
  • 5. ESTRUCTURAS  Respecto al resto de funciones debemos tener en cuenta que:  Las funciones que operan sobre escalares, como sin, cos, etc., se aplican sobre hipermatrices elemento a elemento (igual que ocurre al aplicarlas sobre vectores y matrices).  Las funciones que operan sobre vectores, como sum, max, etc., se aplican a matrices e hipermatrices según la primera dimensión, resultando un array de una dimensión inferior.  Las funciones matriciales propias del álgebra lineal, como det, inv, etc., no se pueden aplicar a hipermatrices, para aplicarlas habría que extraer las matrices correspondientes.
  • 6.  Ejemplos:  >> alumno.nombre = 'Pablo'; % introducimos el campo nombre en la estructura alumno  >> alumno.apellido1 = 'Fernández'; % introducimos el campo apellido1 en la estructura alumno  >> alumno.apellido2 = 'García'; % introducimos el campo apellido2 en la estructura alumno  >> alumno.edad = 15; % introducimos el campo edad en la estructura alumno  >> alumno % escribe por pantalla la información almacenada en la estructura alumno  alumno =  nombre: 'Pablo' apellido1: 'Fernández' apellido2: 'García'  edad: 15  >> alumno2 = struct ('nombre','Fermín','apellido1','Martínez','apellido2','Gil','edad',16) % otro modo de introducir los campos  alumno2 =  nombre: 'Fermín' apellido1: 'Martínez' apellido2: 'Gil'  edad: 16
  • 7. Pueden crearse vectores y matrices de estructuras, por ejemplo:   >> alumno (1) = struct ('nombre','Pablo','apellido1','fernández','apellido2','García','edad',15);  >> alumno (2) = struct ('nombre','Fermín','apellido1','Martínez','apellido2','Gil','edad',16);  >> alumno % nos devuelve información sobre los campos que tiene la estructura alumno  alumno =  1x2 struct array with fields: nombre  apellido1 apellido2 edad  >> alumno (1) % nos devuelve los datos del primer elemento del vector de la estructura  ans =  nombre: 'Pablo' apellido1: 'fernández' apellido2: 'García'  edad: 15
  • 8.  >> alumno (2) % nos devuelve los datos del segundo elemento del vector de la estructura  ans =  nombre: 'Fermín' apellido1: 'Martínez' apellido2: 'Gil'  edad: 16  Para ver un campo concreto de todos los alumnos bastaría teclear:  >> alumno.nombre % escribe los datos de todos los campo nombre de la estructura en orden  ans =  Pablo  ans  = Fermín
  • 9. OPERAR CON ESTRUCTURAS Función ¿Qué hace? fieldnames (E) devuelve el nombre de los campos de la estructura E isfield (E, 'c') devuelve 1 si c es un campo de la estructura E y 0 si no lo es isstruct (E) devuelve 1 si E es una estructura y 0 si no lo es rmfield (E, 'c') elimina el campo c de la estructura E (E es una estructura y c es un campo)
  • 10.  Ejemplos:  >> fieldnames (alumno) % devuelve los campos de la estructura alumno  ans =  'nombre’  'apellido1’  'apellido2’  'edad'  >> isfield (alumno,'nombre')% devuelve 1 por ser cierto que nombre es un campo de alumno  ans =  1  >> isstruct (alumno) % devuelve 1 porque es cierto que alumno es una estructura  ans =  1  >> rmfield (alumno,'edad’) % elimina el campo edad de la estructura alumno  ans =  1x2 struct array with fields:  nombre  Apellido1  apellido2
  • 11. VECTORES Y MATRICES DE CELDAS CÓMO DEFINIRLOS  Un vector de celdas es un vector cuyos elementos son cada uno de ellos una variable de cualquier tipo. En todo vector sus elementos pueden ser números o cadenas de caracteres, pero en un vector de celdas el primer elemento puede ser un número, el segundo una matriz, el tercero una estructura, etc.   Para crear un vector de celdas usaremos llaves ({}).
  • 12. >> celda (1) = {[0 1 2]}; % creamos un vector de celdas definiendo celda a celda >> celda (2) = {'cadena de caracteres'}; >> celda (3) = {eye(2)}; >> celda (4) = {-7}; >> celda  celda = [1x3 double] [1x20 char][2x2 double] [-7]
  • 13.  >> cel {1} = [0 1 2]; % creamos otro vector de celdas definiendo celda a celda de forma distinta  >> cel {2} = 'cadena de caracteres';  >> cel {3} = eye (2);  >> cel {4} = -7;  >> cel  cel =  [1x3 double] [1x20 char] [2x2 double] [-7]  >> c = { [0 1 2] ,'cadena de caracteres',eye(2),-7}; % otra forma de crear un vector de celdas.  Si queremos crear una matriz o una hipermatriz de celdas se haría de forma similar.
  • 14. OPERAR CON VECTORES Y MATRICES DE CELDAS Función ¿Qué hace? cell (m,n) crea una matriz de celdas con m filas y n columnas celldisp (c) muestra el contenido de todas las celdas de c cellplot (c) muestra la representación gráfica de las celdas de c iscell (c) devuelve 1 si es una matriz de celdas y 0 si no lo es num2cell (x) convierte el vector o matriz numérica en celdas (m y n números naturales, c celdas y x vector o matriz)
  • 15.  Ejemplos:   >> cell (2,3) % crea una matriz de celdas vacías  ans =  [] [] []  [] [] []  >> celldisp (c) % escribe el contenido de las celdas de c  c{1} = 0 1 2  c{2} = cadena de caracteres  c{3} =  1 0  0 1  c{4} =-7   >> cellplot (c) % representa gráficamente cómo son las celdas de c
  • 17.  >> iscell (c)  ans =  1   >> A = eye (3,2);  >> num2cell (A)  ans =  [1] [0]  [0] [1]  [0] [0]
  • 18. OPERACIONES RELACIONALES Y LÓGICAS Como entradas a las expresiones relacionales y lógicas, Matlab considera que cero es falso y que cualquier número distinto de cero es verdadero. La salida de expresiones de este tipo produce 1 si es verdadero y 0 si es falso.
  • 19. OPERADORES RELACIONALES Operador ¿Qué significa? < menor que <= menor o igual que > mayor que >= mayor o igual que == igual a ~= distinto de La salida de las operaciones lógicas se puede utilizar también en operaciones matemáticas.
  • 20. OPERADORES LÓGICOS Operador ¿Qué significa? & y | o ~ no Además de los operadores relacionales y lógicos básicos anteriores, Matlab proporciona una serie de funciones relacionales y lógicas adicionales que incluyen: Función ¿Qué significa? xor (x,y) operación “o” exclusiva, devuelve 0 si ambas son falsas o ambas verdaderas y devuelve 1 si una es falsa y la otra verdadera any (x) devuelve 1 si algún elemento en un vector x es no nulo y devuelve 0 si son todos nulos, si se trata de una matriz da una respuesta por cada columna all (x) devuelve 1 si todos los elementos en un vector x son no nulos y 0 si existe alguno nulo y si se trata de una matriz da una respuesta por cada columna exist ('x') devuelve uno si existe y cero si no existe isnan (x) devuelve unos en magnitudes no numéricas (NaN) en x isinf (x) devuelve unos en magnitudes infinitas (Inf) en x isfinite (x) devuelve unos en valores finitos en x
  • 21.  Podemos ver muchos más casos pero todos serían similares: ischar, isempty, isequal, isfloat, isinteger, islogical, isnumeric, isprime, isreal, isscalar, isspace, …   Existe un orden de precedencia para operadores aritméticos, lógicos y relacionales, en la siguiente tabla van de mayor a menor precedencia: Orden de precedencia de operadores 1º ^ .^ ' .' 2º * / .* ./ . 3º + - ~ +(unario) -(unario) 4º : > < >= <= == ~= 5º | &
  • 22.  Ejemplos:   >> a = 1:9, b = 5-a % definimos dos vectores  a =  1 2 3 4 5 6 7 8 9  b =  4 3 2 1 0 -1 -2 -3 -4  >> r1 = a<6 % pregunta si a es menor que 6, devuelve 1 cuando es verdadero y 0 cuando es falso  r1 =  1 1 1 1 1 0 0 0 0  >> r2 = a==b % pregunta si a es igual a b, devuelve 1 cuando es verdadero y 0 cuando es falso  r2 =  0 0 0 0 0 0 0 0 0
  • 23.  >> r3 = a~=b % pregunta si a es distinto a b, devuelve 1 cuando es verdadero y 0 cuando es falso  r3 =  1 1 1 1 1 1 1 1 1  >> r4 = (a>b)&(b>-3) % pregunta si a>b y b>-3, devuelve 1 cuando es verdadero y 0 cuando es falso  r4 =  0 0 1 1 1 1 1 0 0  >> c = [Inf 0 5 -8 NaN 94];  >> exist ('c’) % pregunta si existe alguna variable llamada c  ans =  1
  • 24.  >> isnan (c) % pregunta cuando c es NaN, devuelve 1 cuando es verdadero y 0 cuando es falso  ans =  0 0 0 0 1 0   >> isinf (c) % pregunta cuando c es Inf, devuelve 1 cuando es verdadero y 0 cuando es falso  ans =  1 0 0 0 0 0   >> isfinite (c) % pregunta cuando c es finito, devuelve 1 cuando es verdadero y 0 cuando es falso  ans =  0 1 1 1 0 1