diapositivas sm
Post on 28-Dec-2015
39 Views
Preview:
TRANSCRIPT
BENEMÉRITA UNIVERSIDAD AUTÓNOMA
DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
Curso Básico de MATLAB
TEMARIO DEL CURSO:
1.- Introducción a MATLAB.
1.1 Desarrollo Histórico.
1.2 Campos de Aplicación.
1.3 Entorno a MATLAB.
1.4 Buscador de Ayuda.
2.- Operaciones con Matrices y Vectores.
2.1 Generar matrices y vectores en MATLAB.
2.2 Suma, resta y multiplicación de matrices y vectores.
2.3 Transpuesta y diagonal de matrices.
2.4 Sumatoria de elementos de la matriz.
2.5 Matrices aleatorias y matrices mágicas.
2.6 Inversa de una matriz.
2.7 Editar matrices.
3.- Expresiones para MATLAB.
3.1 Manejo de variables.
3.2 Representación de números reales y complejos.
3.3 Operadores.
3.4 Funciones elementales matemáticas.
4.- Archivos M-files.
4.1 Editor de Archivos M.
4.2 Comando load para extraer archivos .TXT y .DAT.
4.3 Tipos de formato (short, short e, long, bank, rat, hex. etc).
TEMARIO DEL CURSO:
5. - Toolbox Symbolic Math.
5.1 Representación de polinomios.
5.2 Comando sym y pretty.
5.3 Comando simplify (f). 5.4 Comando expand (f). 5.5 Comando factor (f). 5.6 Aplicaciones en cálculo.
6.- Gráficos.
6.1 Gráficos en 2D.
6.2 Personalizar Graficas.
6.3 Representación de funciones en gráficos.
TEMARIO DEL CURSO:
6.4 Comando subplot.
6.5 Comandos de colores.
6.6 Contornos y sombras.
6.7 Graficas en 3D.
6.8 Comando mesh.
7.- Programacion en MATLAB
7.1 Operadores relacionales.
7.2 Condicionales (if, ifelse).
7.3 Ciclo FOR.
7.4 Ciclo While.
TEMARIO DEL CURSO:
Visualizar los diferentes campos de aplicación de MATLAB.
Conocer y comprender el ambiente de trabajo de este software.
Conocer todas las funciones que nos brinda MATLAB para hacer
operaciones con matrices y vectores.
Poder resolver cualquier problema matemático de forma más versátil.
Utilizar los diferentes tipos de datos para aprender el lenguaje de
programación de MATLAB.
Representar nuestros resultados de forma grafica.
Simular sistemas dinámicos para el área de control mediante
SIMULINK (aplicación de MATLAB para sistemas no lineales).
No tengan ningún conocimiento previo MATLAB.
Estén relacionadas con las áreas de ciencias exactas e
ingeniería.
Estén interesadas en utilizar MATLAB como herramienta
para resolver problemas matemáticos, de ciencia e
ingeniería.
Matlab Surge de los proyectos LINPACK y EISPACK
La empresa MathWorks es fundada en 1984.
The Mathworks es líder en el desarrollo de software de computación
técnica, además la empresa tiene más de 1 millón de usuarios
alrededor del mundo.
The Mathworks tiene más de 1,000 empleados trabajando en el
desarrollo de las herramientas MATLAB y SIMULINK para innovar
tecnología en empresas, laboratorios gubernamentales, instituciones
financieras y en más de 3,500 Universidades.
MATLAB Matrix Laboratory
MATLAB es un software matemático muy versátil que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M), que es un conjunto de comandos o funciones que realizan tareas específicas y dispone de más de 30 librerías especializadas llamadas “Toolboxes” las cuales trabajan en áreas especiales como Control, Coumunicaciones, Procesamiento de Señales, etc.
Aplicaciones:
Matemáticas, estadística y análisis de datos.
Desarrollo de algoritmos.
Adquisición y procesamiento de datos.
Prueba, modelado y simulación de prototipos.
Análisis, manipulación y visualización de datos.
Diferentes tipos de Graficación.
Desarrollo de aplicaciones con Interfaces Gráficas de Usuario.
MATLAB dispone de varios menús los cuales varían de acuerdo a
la ventana que se encuentre activa
Dentro de las características que se pueden configurar con estos
menús se encuentran:
Crear, salvar e importar diferentes tipos de archivos usados por
MATLAB
Configurar algunas preferencias de usuario como: tipo y color de
letra, color de fondo del Command Window, formato numérico,
visualización de resultados, etc.
Manipulación y visualización de las ventanas dentro del Desktop
Búsqueda de palabras o archivos en las diferentes ventanas
Uso del Help en MATLAB
USO DEL COMANDO “help”
Utilizamos el comando help para conocer las características de
cierta función, en este caso, al escribir “help magic” vemos la
información de la funcion “magic”.
>> help magic
MAGIC Magic square. MAGIC(N) is an N-by-N
matrix constructed from the integers1 through
N^2 with equal row, column, and diagonal sums.
Produces valid magic squares for all N > 0
except N = 2.
MATLAB posee una gran variedad de funciones para trabajar con
matrices y vectores.
Las matrices se declaran de la siguiente manera:
Para declarar una nueva fila se escribe un punto y coma (;).
Para declarar una nueva columna se usa un espacio en blanco.
1 5 9 6
6 2 0 8
1 -9 5 -1
A = A = [1 5 9 6; 6 2 0 8; 1 -9 5 -1]
MATLAB soporta todas las operaciones aritméticas entre matrices o vectores siguiendo la teoría, por ejemplo: para sumar dos matrices, deben de ser del mismo tamaño; la multiplicación de una matriz A (mxn) por una matriz B (kxp) debe cumplir que n=k.
>>A + B (suma)
>>A - B (resta)
>>A * B (multiplicación)
>>A‟ (transpuesta)
>>A^2 (potenciación)
>>A \ B (división izquierda A*inv(B)) se usa para la solución de sistemas de ecuaciones
Diapositiva 34
Existe una gran variedad de funciones predefinidas para crear
matrices de todo tipo:
– Matriz de ceros. zeros(m,n)
– Matirz de unos. ones(m,n)
– Matriz identidad. eye(m,n)
– Matriz aleatoria. rand(m,n)
– Matriz mágica. magic(k)
Ayuda: Specialized Matrix Functions
Es posible también realizar manipulaciones y obtener información de las
matrices que se tienen:
– Tamaño de una matriz. size(A)
– Longitud de un vector. length(A)
– Concatenación de matrices. cat(dim, A, B)
– Rotación de matrices. rot90(A,k)
– Matrices triangulares. tril(A,k)
Ayuda: Summary of Matrix and Array Functions
Existen también algunas funciones un poco más elaboradas y complejas
en cuanto a su operación, las cuales realizan tareas como:
– Inversa de una matriz. Inv(A)
– Determinante. det(A)
– Suma de la diagonal. trace(A)
– Reducción de matrices por Gauss-Jordan. rref(A)
– Obtención del polinomio característico. poly(A)
– Obtención de los eigenvalores y eigenvectores. eig(A)
– Rango y nulidad en una matriz. rank(A)
Direccionamiento en vectores.
Para tener acceso a los elementos en un vector se debe de poner el
índice entre paréntesis, el índice siempre empezará siempre por el
número 1.
x = [ 10 3 2 . . . 3 ]
x(1) x(2) x(3) . . . x(n)
Pueden accederse varios elementos a la vez colocando entre paréntesis
un vector de índices
>>x([1 2 3]) acceso a los elementos 1,2 y 3 del vector x
Direccionamiento en vectores.
En lugar de un vector de índices se obtener una matriz con los elementos correspondientes a los índices.
>>x([1 5;9 4]) devuelve una matriz de 2x2 con los elementos que corresponden a los índices 1,5,9 y 4
x = [ 7 10 7 9 1 2 9 5 9 8 ]
x([1 5;9 4])
ans = 7 1
9 9
Direccionamiento de matrices
Existen 2 posibles formas de acceder a los elementos de una matriz:
Con 2 subíndices (i, j) en donde “i” es el número de fila y “j” es el número de
columna.
Con 1 subíndice (i) en donde los elementos se van contando por columnas.
A(2,2) = A(6) se accede al número 11
2 9 7 3
9 7 6 5
8 3 1 5
8 3 1 10
A=
Direccionamiento de matrices
También es posible hacer el direccionamiento por medio de 2 vectores
>>A( [1 3], [ 4 2] ) hace las combinaciones [(1,4) (1,2); (3,4) (3,2)]
A( [1 3], [ 4 2] )
ans = 1 2
4 10
6 2 1 1
4 9 9 5
5 10 7 4
6 6 8 2
A=
El operador dos puntos puede usarse de 3 formas distintas:
Creador de vectores con incrementos o decrementos.
x=1:10 crea un vector del 1 al 10 con incremento de 1.
x = 1:i:10 crea el mismo vector pero con incremento de i.
Direccionamiento “hasta”.
A(1,2:5) direcciona los elementos de la fila 1, desde la columna
2 “hasta” la columna 5.
x(5:8) direcciona del elemento 5 “hasta” el 8.
Direccionamiento “todo”.
A(3, :) direcciona “toda” la fila 3.
A(: , 1) direcciona “toda” la columna 1.
x(: , end) direcciona “toda” la última columna.
El punto y coma (;) al final de una expresión significa que va a realizar
la operación que se le indique pero no va a mostrar los resultados en
pantalla.
Los tres puntos (…) sirven para indicar que la expresión va a
continuar en la línea de abajo.
Cuando la operación no se le asigna a ninguna variable entonces
automáticamente se le asigna a la variable “ans”.
El signo igual(=) es para asignar resultados a una variable
>> variable = expresión.
MATLAB distingue entre mayúsculas y minúsculas en el nombre de
una variable, por ejemplo NO es lo mismo la variable “var” que la
variable “Var”.
El nombre de una variable debe empezar siempre con una letra
seguida de números o más letras u otros caracteres siempre y cuando
no sean caracteres especiales; el nombre puede tener un máximo de
31 caracteres.
Los shorcuts son una forma fácil y rápida de ejecutar un conjunto de
sentencias en MATLAB.
Un shorcut puede ser: una sola sentencia (o función), un conjunto de
sentencias o un archivo M.
Con solo dar click en el shorcut se ejecuta el conjunto de sentencias.
• Por default MATLAB almacena los números en formato de doble
precisión, es decir, en 8 bytes.
• MATLAB puede interpretar el concepto de Infinito con la palabra
“Inf ”(para MATLAB son los números más grandes de lo que es capaz
de representar).
• MATLAB tiene una representación para los números que no están
definidos como tal, llamados “NaN” (Not a Number).
Tanto la representación de NaN como la de infinito permite controlar la
fiabilidad de los resultados que presenta MATLAB.
• MATLAB puede representar y manipular números complejos, las
variables „ i ‟ y „ j ‟ están definidas como “la unidad imaginaria”.
>>z = 4 + 5j ó
>>z = complex(4,5)
• Se debe de tener especial cuidado con las variables „i‟ y „j‟, si se usan
para guardar algún valor numérico dejan de ser la unidad imaginaria.
• Se pueden realizar las operaciones aritméticas entre números
complejos y matrices o vectores que contengan a complejos.
Existen otros operadores llamados “operadores elemento a
elemento” los cuales realizan la operación indicada pero a cada uno de
los elementos que conforman al vector o a la matriz, dichos
operadores tienen la característica de que están precedidos por un
punto (.).
>>A.*B multiplicación: A(i, j) * B(i,j)
>>A.^n potencia: A(i, j)n
>>A .\ B división: B(i, j) / A(i,j)
>>A ./ B división: A(i, j) / B(i,j)
Un archivo-m, o script file, es un simple archivo de texto donde se introducen comandos o instrucciones de Matlab. Cuando se corre el archivo, Matlab lee los comandos y los ejecuta secuencialmente exactamente como si se los estuviera tipeando en ese momento en el prompt. Todo archivo-m debe tener extensión '.m' (ej. plot.m). Si crea un nuevo archivo-m con el nombre de uno que ya existe, Matlab elegirá aquel que aparezca primero en el listado de paths (help path para más información). Para facilitarse la vida, siempre cree sus archivos-m con nombre distinto que los existentes. Para ver si un archivo-m existe, tipee help nombre_archivo.m en el prompt del Matlab .
¿Qué es un Archivo-m?
Ingresar los comandos en el prompt (>> ) del Matlab
es rápido y eficiente si el problema es simple. Sin embargo, a
medida que aumenta la cantidad de comandos, o si se
requiere cambiar los valores de las variables cuando se trabaja
con prueba-error; tipear los comandos una y otra vez se
torna tedioso. De manera que los archivos-m resultan de
gran ayuda y muy necesarios en estos casos.
¿ Para qué usar los archivos-m?
Para crear un archivo-m, elija New en el menu File y
seleccione archivo-m. Este procedimiento levanta el editor
de texto en el cual se pueden escribir los comandos.
Para salvarlo , simplemente pinche en el menú File y elija
Save (recuerde salvar con extensión '.m' ).
Para abrir un archivo-m existente vaya al menú File y elija
Open .
¿ Cómo crear, salvar o abrir un archivo-m?
Después que un archivo-m fué salvado con el nombre
filename.m en la carpeta del Matlab, puede ejecutar los
comandos del archivo-m simplemente tipeando filename en
el prompt del Matlab.
Si no quiere correr todos los comandos del archivo-m ,
puede copiar los que sí quiera del archivo-m y pegarlos en el
prompt del Matlab.
¿ Cómo correr un archivo-m?
Las funciones permiten definir funciones enteramente análogas a las
de MATLAB, con su nombre, sus argumentos y sus valores de
retorno. Los ficheros *.m que definen funciones permiten extender las
posibilidades de MATLAB;
Ejemplo: Queremos crear una función llamada prom.m:
load archivo: lee las variables del fichero binario archivo.mat,
que ha sido previamente generado con MATLAB.
– load archivo.ext: lee el contenido del fichero ASCII
archivo.ext y lo almacena como una única variable de
nombre archivo.
Un objeto simbólico es una estructura de datos que almacena
una representación string de un símbolo. Este permite
representar variables, matrices y expresiones de forma
simbólica.
Para declarar una variable como simbólica se utiliza la
función sym, o en el caso de varias variables syms.
Objetos simbólicos
Diferencia entre variable
estandar y variable
simbólica:
>> sqrt(2)
>> sqrt(sym(2))
• Visualización:
>> pretty(f)
Objetos simbólicos
Sym & pretty:
>> f = sym('-2 * x^2 + 3* x - 6')
Suma f con g:
>> f = sym('-2 * x^2 + 3* x - 6')
>> g = sym(' x^2 - x +1')
>> h = f + g
O
>> h = sym('(-2 * x^2 + 3* x - 6)+(x^2 - x +1)')
Objetos simbólicos
Sumar, Restar, Multimplicar y Dividir:
>> f = sym('-2 * x^2 + 3* x - 6')
>> g = sym(' x^2 - x +1')
Ejercicios
Solución:
>> f = sym('(2 * a^3 - 39 * a^2 +15* a^4 -16 * a +10) /(2 - 4 * a - 5* a^2)')
>> simplify( f )
>> pretty(ans)
Objetos simbólicos
Multiplicacion de expreciones algebraicas:
expand( f )
Ejemplo:
>> f = sym('( x - 3) *( x^2 + 3* x + 9)')
>> expand( f )
>> pretty(ans)
Objetos simbólicos
Factorización:
Ejemplo:
>> f = sym(' x^3 + x^2 + 4 * x + 4')
>> factor( f )
>> pretty(ans)
Objetos simbólicos
Fracciones algebraicas:
Cuando se trabaja con fracciones algebraicas y fracciones
complejas se usa la función simple. En general esta función es
utilizada para simplificar cualquier tipo de expresión. También
es muy útil la función simplify.
Objetos simbólicos
Ejemplos:
Simplificar:
>> f = sym('( x^2 -1) /( x^2 + x - 2)')
>> pretty( f )
>> simple( f )
>> pretty(ans)
Objetos simbólicos
Simplificar:
>> k = sym('1/( x^2 -1) + 2 /( x +1)^2')
>> pretty( k)
>> simple(k )
>> pretty(ans)
Objetos simbólicos
Simplificar:
>> k = sym('( x^ (-1) * y^ (- 2) + x^ (- 2) * y^ (-1) /( y^ (- 2) - x^ (- 2)))')
>> pretty( k)
>> simple(k )
>> pretty(ans)
Objetos simbólicos
Operador
matemático
Comando de
MATLAB
Operador
matemático
Comando de
MATLAB
diff(f) o diff(f,x) limit(f)
diff(f, a) limit(f ,x ,a) o limit(f, a)
diff(f,b,2) limit(f, x, a, „left‟)
J=jacobian([r ; t] , [u , v] limit(f, x, a, „right‟)
Operador matemático Comando de MATLAB
Operador
int(x^n) o int(x^n, x)
int(sin(2*x), 0, pi/2 o int(sin(2*x), x, 0, pi/2
g=cos(a*t+b)
int(g)
o
int(g,t)
Int(besselj(1, z)) o Int(besselj(1, z), z)
Plot(x,y, 'color y forma')
Graficar datos
t= 0:pi/100: 2*pi;
y= sin(t);
plot(t,y)
y2= sin(t-0.25);
y3= sin(t-0.5);
plot(t,y,t,y2,t,y3)
Una de las funciones más importantes en Matlab es la función plot . Este comando ploteará
los elementos del vector x en el eje horizontal de una figura, y los elementos del vector y
en el eje vertical de la figura. Por defecto, cada vez que se use el comando plot , se borrará
la figura que estaba, quedando solo la nueva
hold on
plot(t,y)
hold on
plot(t,y2)
hold on
plot(t,y3)
Mantiene en la ventana gráfica los dibujos anteriores.
Figure(n) , close
x1=0 : 0 . 1 : 2 pi Y1=sin ( x1 ); figure ( 1 ); plot ( x1 , y1 ); x2=0 :0 . 05 : 2 pi; y2=cos ( x2 ); f igure ( 2 ); plot ( x2 , y2 );
El comando figure permite abrir nuevas ventanas .
h = figure
figure devuelve un identificador que se utiliza para manipular la figura.
Así, si tenemos varias ventanas
abiertas, con
figure(h2)seleccionamos la
ventana con el grafico relativa
al identificador h2 y con
close(h3) cerramos la ventana
h3. close all cierra todas las
ventanas abiertas.
La Estética de los Gráficos
El color y el marcador de un gráfico se pueden cambiar agregando un tercer parámetro (entre
apóstrofo 'esto') al comando plot .
tercera entrada consiste de uno a tres caracteres que especifican un color y/o o un tipo de
marcador.
Gráfico simple con asteriscos rojos
x = 0:0.1:4; y = 1./x; plot(x, y, „r*‟)
Símbolo Color Símbolo Forma Símbolo Estilo de línea
b Azul . Punto - Línea solida
g Verde o Circulo : Punteada
r Rojo x Cruz -. Punto y línea
c Cian + Signo + -- entrecortada
m Magenta * Asterisco
y Amarillo s Cuadrado
k Negro d Diamante
w Blanco v Triangulo
^ Triangulo
< Triangulo
> Triangulo
p Pentagrama
h Hexagrama
Más de un Gráfico en una ventana (Subplot)
En una misma figura puede ponerse más de una línea empleando el comando subplot. Permite
separar la figura en tantas figuras como se quiera , y ponerlas todas en una figura.
Este comando divide la figura en una matriz de m renglones y n columnas, por lo tanto crea mxn
gráficos en una figura.
x = linspace(0,2*pi,50); y = sin(x); z = cos(x); w = tan(x); subplot(2,2,1) plot(x,y) subplot(2,2,2) plot(x,z) subplot(2,2,3) plot(x,w)
Sintaxis:
subplot(m,n,p).
Todos los comandos mencionados se emiten luego de ejecutarse el comando plot actual.
title(„texto') Otra cosa que puede ser importante en sus gráficos es el etiquetado. Puede darle un título al
gráfico (con el comando title), se ubicará un título, centrado, por encima del gráfico con el
comando: title('cadena de título').
xlabel(„texto') Etiqueta al eje x (con el comando xlabel)
ylabel(„texto') Etiqueta al eje y (con el comando ylabel)
legend(„texto„, „texto') Etiqueta los gráficos
Ejemplo
x = 0:0.1:2*pi; y1 = sin(x); y2 = cos(x); subplot(2,1,1) plot(x,y1) title('y = sin(x)'); subplot(2,1,2) plot(x,y2) title('y = cos(x)');
axis([xmin; xmax; ymin; ymax])
k=0:0.01:5;
j=exp(5*k)-1;
plot(k,j)
axis([2.5; 5; 0; 40000000000])
El comando axiscambia los ejes del diagrama actual, de modo que se muestra sólo la
parte del eje que se desea. Puede personalizarse los ejes a sus necesidades. Cuando se usa
el comando subplot, pueden cambiarse los ejes de cada subplot emitiendo un
comando axis antes del próximo comando subplot. Hay más usos del comando axis que
puede ver si tipea help axis en la ventana de comandos del Matlab.
Otros comandos que pueden usarse con el comando plot son:
clf (borra el gráfico actual, lo deja en blanco) loglog (igual que plot, excepto que ambos ejes se escalan en Log10) semilogx (igual que plot, excepto que el eje x se escala en Log10) semilogy (igual que plot, excepto que el eje y se escala en Log10) grid (agrega una grilla al gráfico)
Ejercicios
x = 0:0.1:20;
y = exp(0.1*x);
y1 = y.*sin(x);
y2 = y.*cos(x);
Plot(x,y, 'color y forma')
plot (x, y, 'r', x, y1, 'y--', x, y2, 'k:')
x = [1 1 2 3 5 8]; ex = [0 1 0 0 1 0]; pie(x, ex);
pie(x,explode)
Las formas más habituales para la utilización de pie son:
pie(X)
pie(X, Explode)
Esta función muestra un gráfico de tarta con los valores de X. Opcionalmente, se pueden
resaltar porciones utilizando la segunda llamada.
bar(x,y, 'color y forma')
Las formas más habituales para la utilización de bar y barh son:
bar(Y)
bar(x,Y)
bar(..., width)
bar(...,'style')
Estas funciones realizan un gráfico de barras verticales (bar) u horizontales
(barh). Se puede regular la separación entre las barras con el parámetro
„width‟. Si la Y es una matriz entonces agrupa las barras o si se especifica
„stacked‟ en el parámetro style entonces apila las barras.
x = 0.5:0.5:4; y = 1./x; bar(x, y)
x = 0.5:0.5:4; y = 1./x; barh(x, y)
Ejemplo
Grupos de barras x = 0.5:0.5:4; y = 1./x; Y = [y' fliplr(y)']; bar(x, Y)
Barras apiladas x = 0.5:0.5:4; y = 1./x; Y = [y' fliplr(y)']; bar(x, Y, 'stacked')
y = exp(-x.*x); subplot(2,2,1) bar(x,y) title('2D bar') subplot(2,2,2) bar3(x,y,'r') title('3D bar') subplot(2,2,3) stairs(x,y) subplot(2,2,4) barh(x,y)
Ejemplo
t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t, 'r');
plot3(x,y,z)
mesh
x = -2:0.1:2; y = -2:0.1:2; [X,Y] = meshgrid(x,y); Z = X.*exp(-X.^2 - Y.^2); subplot(1,2,1); mesh(X,Y,Z); subplot(1,2,2); contour(X,Y,Z);
En los operadores relacionales si la condición se cumple regresa un 1
lógico, de lo contrario regresa un 0 lógico.
Este tipo de operadores se pueden usar también para comparar matrices
o vectores siempre y cuando sean del mismo tamaño, cuando esto
sucede la comparación se realiza elemento a elemento.
< menor que
> mayor que
<= menor o igual que
>= mayor o igual que
= = igual que
~ = diferente a
Los operadores lógicos se usan en combinación con los relacionales para
comprobar el cumplimiento de condiciones múltiples.
if (A>5)&(A<10)
~(A>20)
Los operadores lógicos toman como 1 lógico a todos los números
diferentes de cero, mientras que toma como 0 lógico solo a los
elementos que sean cero.
& AND
| OR
~ NOT
MATLAB soporta diferentes tipos de datos como dobles, simples,
cadenas, lógicos, etc. De hecho, el usuario puede hacer su propio tipo
de dato haciendo uso de las “Clases”.
Existen 15 tipos de datos fundamentales en MATLAB:
ARRAY
[Full or sparse]
logical char NUMERIC cell structure function
handle
User classes
Java classes
int8, uint8, int16,
uint16, int32,
uint32, int64, uint64
single double
Para declarar un dato de tipo cadena se coloca entre apóstrofes:
>> cad=„nombre‟
>> cad2=„mi correo@servidor‟
Cada carácter (cualquiera que este sea) escrito en la cadena se guarda
en 2 bytes de memoria.
La opción “help strings” da una pequeña ayuda acerca de las cadenas de
caracteres.
Se pueden crear matrices de cadenas de caracteres, siempre y cuando
las cadenas sean de la misma longitud.
La librería que alberga a todas las funciones que actúan sobre cadenas
de caracteres es „strfun‟.
La librería strfun cuenta con más de 30 funciones para manipulación
de cadenas, algunas de las más usadas y más elementales son:
size(c): obtiene el número de caracteres.
double(c): obtiene el código ASCII de la cadena.
char(c): convierte de código ASCII a carácter.
char(„Pedro‟, ‟Juan Jose‟): crea una matriz de cadenas.
disp(c): imprime la cadena „c‟ en pantalla.
Las estructuras son agrupaciones de datos (llamados “campos”) de
diferente tipo bajo un mismo nombre. Por ejemplo, la estructura
alumno puede contener los campos nombre (cadena de caracteres) y
edad (un número).
ARRAY
alumno
Alumno(2) Alumno(1) Alumno(3)
•Nombre
•Edad
•Examen
Tania
Arrieta
21
•Nombre
•Edad
•Examen
Aleida
Cosme
18
•Nombre
•Edad
•Examen
Carmen
Flores
20
8 9
7 10
7 6
8 8
10 8
10 9
1° Forma.- se pueden crear estructuras con la utilización del punto(.).
Simplemente se van añadiendo los campos que se requieren con su
valor correspondiente. Cabe mencionar que un campo puede ser de
cualquier clase (entero, doble, char, cell array, vector, matriz, etc.)
alumno.nombre = „Carmen Flores'; alumno.edad = 20; Alumno.examen = [10 8; 10 9];
Un cell array proporciona un mecanismo de almacenamiento para
diferentes tipos de datos. Los datos pueden ser de todo tipo: matrices,
vectores, estructuras e incluso más cell arrays.
Celda 1,1 Celda 1,2 Celda 1,3
Celda 2,1 Celda 2,2 Celda 2,3
3 9 8
4 7 5
2 5 1
0.9 i 16 - 32i
17 + i 2 + .7i
„Carmen Flores'
„11/9/88‟
„Clase II‟
„Obs. 1‟
„Obs. 1‟
4.31 8.92 3.87 7.65
3 -16 2
8 -52 34
0 14 8
„texto‟ 5 4
6 9
2.2 4 .7
0.9 4.1 10 + 0.4i
Un cell array se puede crear de dos formas, usando paréntesis y
usando llaves.
Si se usan paréntesis, entonces los valores deben ser dados entre llaves.
Si se usan llaves, entonces los valores se dan tal cual.
Cuando se quiere preguntar por el contenido de un elemento del cell
array se puede hacer de dos formas: A(1,2) regresa el tipo de dato que es y el tamaño, pero no me muestra el contenido en si.
A{1,2} me muestra el contenido del elemento (1,2) del cell array, se recomienda esta
forma.
A(1,1) = {[1 4 3; 0 5 8; 7 2 9]};
A(1,2) = {„Tania Arrieta'};
A{1,1} = [1 4 3; 0 5 8; 7 2 9];
A{1,2} = „Tania Arrieta ';
MATLAB posee su propio lenguaje de programación, con sus sentencias
y sintaxis. Existen dos elementos básicos en cualquier lenguaje de
programación:
Sentencia IF
Condición 1
Condición 2
Bloque 3
Bloque 1
Bloque 2
if condición
sentencias
end
if condición
sentencias
else
sentencias
end
if condicion1
bloque1
elseif condicion2
bloque2
elseif condicion3
bloque3
else
bloque4
end
Sentencia WHILE
Sentencia BREAK: solamente se usa para romper los ciclos for o while
Condición
Sentencias
while condición
sentencias
end
while condición
sentencias
if condición2
break
end
sentencias
end
Sentencia SWITCH
Sentencia FOR
switch expresión
case case_expr1,
bloque1
case {case_expr2, case_expr3, ...}
Bloque2
case {case_expr4, case_expr5,...}
Bloque2
...
otherwise, % opción por defecto
bloque3
end
for i=1:n
sentencias
end
for i=vector de valores
sentencias
end
Sentencia CONTINUE: esta
sentencia sirve solamente dentro de
ciclos, se usa para pasar a la siguiente
iteración.
Sentencia TRY, CATCH: normalmente se ejecutan las sentencias
A, pero si ocurre algún tipo de error en
dichas sentencias, encones se ejecutan las
sentencias B.
try
sentencias A
catch
sentencias B
end
for i=1:n
sentencias
if condición2 continue
end
sentencias B
end
Para la lectura de variables se ocupa la función „input‟ la cual imprime
un mensaje en pantalla e inmediatamente después se queda en espera
de un valor de cualquier tipo manejado por MATLAB.
Para la escritura de variables se ocupa la función „disp‟ la cual puede
imprimir el contenido de cualquier tipo de variable en la pantalla del
command window.
val=input(„da un valor: „)
cad=input(„da una cadena: „, „s‟)
disp(val)
disp(„fin del programa‟)
top related