Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

MATLAB: Conceptos Básicos y Programación (página 2)



Partes: 1, 2, 3

Partes: 1, , 3

 

Una primera mirada
a MATLAB

Cargue el programa MATLAB en su
computador
.

El entorno de MATLAB está organizado mediante
ventanas

Command Window: es
la ventana de comandos para
ejecución de instrucciones

Command History: es
el registro de
los comandos que han sido ingresados.

Workspace: contiene
la descripción de las variables
usadas en cada sesión.

Inicialmente, se sugiere dejar activa únicamente
la ventana de comandos, cerrando las otras ventanas con el
botón x.

Para restaurarlas use la opción
view de la barra de
herramientas
de MATLAB.

Los ejemplos de este manual debe
probarlos en la ventana de comandos

El símbolo >> indica que el programa
está listo para recibir sus instrucciones.

Escriba cada ejemplo y presione la tecla de ingreso para
finalizar.

MATLAB muestra el
resultado inmediatamente, o un mensaje si hubo algún
error.

Al final de cada ejemplo hemos incluido con
letra azul una breve
explicación.

Por supuesto, usted no tiene que escribir en el computador
estas explicaciones.

>>
exp(2)/3
calcule y muestre inmediatamente el
resultado

ans =

2.4630 respuesta
mostrada por Matlab, ans proviene de answer

>>
x=exp(2)/3;
calcule y asigne el resultado a la variable
x

>>
x
escriba
la variable para conocer su contenido

x =

2.4630 respuesta mostrada
por MATLAB

>>
x=exp(2)/3
al
omitir ; el resultado se muestra inmediatamente

x =

2.4630 respuesta
mostrada por MATLAB

>>
y=2*x+1
puede usar el
contenido de las variables

y =

5.9260 respuesta
mostrada por MATLAB

>>
x=x+1
puede modificar el
contenido de las variables

x =

3.4630 respuesta
mostrada por MATLAB

Puede reutilizar comandos con las teclas del cursor
­
¯ .
Pruébelo.

>> x=exp(2)/3;
y=2*x+1, z=3*x
Puede escribir
y ejecutar varios

comandos en una misma
línea

y =

5.9260 respuestas
mostradas por MATLAB

z =

7.3891

El sistema de ayuda
de MATLAB

Ofrece una descripción detallada del uso de cada
comando.

>> help despliega temas de ayuda

>> help ops despliega comandos de un tema. Ej. lista de
operadores

>> help exp uso de un comando específico. Ej. función
exponencial

Adicionalmente, presionando el ícono
Help usted puede entrar
al sistema de ayuda de MATLAB organizado por contenido,
índice, búsqueda y demostraciones.

Algunos ejemplos para apreciar el poder de
MATLAB

  1. 2x + 3y = 4

    5x – 2y = 6

    >> a=[2, 3; 5,
    -2];
    ingrese
    la matriz de
    coeficientes

    >> b=[4;
    6];
    ingrese
    el vector columna de constantes

    >>
    x=inv(a)*b;
    obtenga la solución con la función
    para invertir

    >>
    x
    muestre el
    vector solución

  2. Resuelva el sistema:

    >> ezplot('sin(x)*exp(x)', 0,
    pi);
    escriba la
    función entre comillas simples

    >> grid
    on;
    muestre
    cuadrículas en el gráfico

  3. Grafique la función f(x)=sen(x)
    ex
    en el intervalo 0 £ x £
    p

    >> a=[5, 2, -3,
    1];
    ingrese los
    coeficientes de la ecuación

    >>
    x=roots(a)
    obtenga y muestre las raíces de la
    ecuación

  4. Resuelva la ecuación cúbica
    5×3 + 2×2 – 3x + 1 =
    0;

    >> y=dsolve('Dy-x-y=0','y(0)=1',
    'x');
    defina la
    ecuación, condición y variable

    >> y muestre la solución analítica
    obtenida

    >> ezplot(y, 0, 2);
    grafique la solución para 0
    £ x £ 2

    >> grid on muestre cuadrículas

  5. Obtenga la solución de la ecuación
    diferencial ordinaria: y´-x-y = 0, y(0)=1

    >>
    f=int('x*sin(x)') obtenga el resultado analítico

    >>
    s=int('x*sin(x)',0,pi)
    integre entre 0 y p

  6. Integre la función f(x) = x
    sen(x)
  7. Manejo simbólico de expresiones

>> syms x defina x con tipo
simbólico

>> y=x^3-8 una expresión con x

>> t=factor(y) factorar la espresión asignada a
y

>> e=taylor(exp(x), 5); expandir ex con 5 términos
de la serie de Taylor

Símbolos especiales que usa
MATLAB

[ ] para definir
vectores y
matrices

( ) para definir precedencia en expresiones y para
subíndices

, para separar
elementos de un vector use comas o espacios

; para separar
filas y para evitar mostrar contenido de variables

% para iniciar un
comentario (programas y
funciones)

para continuar un
comando en la siguiente línea

CÁLCULO
NUMÉRICO

Formatos de exhibición de números en la
pantalla

>> format long muestra 14 decimales

>> x=exp(2) un
ejemplo para visualizar

>> format bank 2 decimales

>> x

>> format rat notación racional (fracciones)

>> x

>> format short e notación científica

>> x

>> format long e notación científica con 14
decimales

>> x

>> format + muestra signos +, ,

>> x

>> format short 4 decimales (MATLAB lo usa por
omisión)

>>
x

>> format compact suprime líneas adicionales en la
salida

>> x

>> format loose inserta líneas en blanco en la
salida(recomendado)

>>
x

>> format hex formato hexadecimal

>> x

>> vpa(sqrt(2), 100) variable precision arithmetic

(muestra la raíz
cuadrada de 2 con 100 dígitos

>> format short regrese al formato normal de MATLAB

Operadores aritméticos

+ – * / ^ ( ) ^ se usa para
potenciación

/ es división a la
derecha

es división a la
izquierda

>> help ops liste los operadores y caracteres especiales

Funciones matemáticas

exp, log, sqrt, sin, cos, tan, …..

>> help elfun liste las funciones matemáticas elementales

Practique con expresiones
aritméticas

>> x=sin(3)+3*exp(2)

Operadores relacionales y
lógicos

< <= > >= == ~= & |
~
los tres últimos
corresponden a: Ù
Ú ù

== representa al
símbolo =

~= representa al símbolo
¹

Practique con operadores relacionales y
lógicos

>> t=sin(2) < 0.8 & log(2) >
0.5
el resultado es un valor
lógico (0 o 1)

Símbolos numéricos
especiales

>> 2/0

Inf es el
símbolo ¥

>> 0/0

NaN significa
"Not A Number" (valor indeterminado)

>> pi contiene la constante
p

>> eps es la precisión del
tipo real en MATLAB

>> realmin el menor número real en MATLAB

>> realmax el mayor número real en MATLAB

>> i representa al símbolo complejo Ö -1

Practique con números complejos

>> x=3+2i asigne un número complejo

>> t=2*x + 3 – 5i operación con números
complejos

>> y=exp(x) el resultado también es complejo

>> y=log(-2) el referencial de MATLAB son los complejos

Funciones adicionales para números
complejos

conj, real, imag, abs, angle, complex

>> z=3+2i;

>> t=conj(z) obtenga el conjugado

Variables

  • No requieren ser declaradas
  • Su tipo depende del valor asignado
  • Pueden ser redefinidas
  • Sensible al tipo de letra (mayúsculas o
    minúsculas)
  • ans es la
    variable por omisión provista por MATLAB
  • Matlab realiza la asignación de memoria a
    variables durante la ejecución.

>> x=3 x es de
tipo real

>> x='mensaje' x es de tipo literal (use comillas
simples)

>> syms x x es un símbolo

>> x=[2 7 4] x es
un vector

>> x=2+3i x es de tipo complejo

>> x muestre el
contenido actual de la variable

>> whos x muestre el tipo actual de la variable

>> disp(x) muestre solamente el contenido

>>
x=input('¿dato?'); ingrese
un valor para una variable desde el teclado

>> exp(x)/3

>> ans la
variable ans contiene el último
resultado

>> y=2*ans la puede usar

Algunos comandos
del Sistema Operativo

>> help
general
lista de
comandos

>> who lista las variables en uso

>> whos lista las variables en uso y su
descripción

clear
borra variables.

>> clear a b c ejemplo

>> clc despeja la ventana de comandos

>>
pwd muestra cual es
el directorio actual

cd
cambia la ruta del directorio
actual

>> cd
c:matlabwork
ejemplo

>> dir lista el contenido del directorio actual

save
almacena las variables en un archivo
.mat

>> save
prueba
ejemplo

load
carga variables y su contenido

>> load
prueba
ejemplo

delete
elimina archivo

>> delete
prueba.mat
ejemplo

>> quit para
terminar la sesión con MATLAB (no lo digite)

Comandos especiales

>> date fecha

>> clock fecha hora, vea su uso con
help.

>> format rat para
visualizar la fecha con mas claridad

>> clock

>> format short vuelva al formato normal

Cadenas de caracteres

>> x='Matematica'; asignación de una cadena (use comillas
simples)

>> x(4) manejo de
un carácter de la cadena, use un
indice

En MATLAB los índices se
escriben entre

paréntesis y son numerados
desde 1

>> t=x(2:5); manejo de una subcadena, use: (inicio:
final)

>> n=length(x) longitud de la cadena

>> c=strcat(x,
t) concatenación de
cadenas

>> help strfun liste las funciones para cadenas

Vectores y
Matrices

>> x=[3, -1, 4, 7, -2] asignación directa de un vector fila

>> x=[3 -1 4 7
-2] puede separar con comas
o con espacios

>> x(2)=5 manejo de
un componente del vector.

En MATLAB los índices se
escriben entre

paréntesis y son numerados
desde 1

>> y=x(2:
4) para asignar parte de un vector
use (inicio: final)

>> t=[3; 1; 4;
5] para asignar un vector columna
use ;

>> t=x' para
obtener la transpuesta de un vector use '

x' es la transpuesta del vector
x

>> y=[3, x, -6, 7] puede asignar un vector usando otro vector

>> y=[2:1:10] puede asignar un vector mediante una
secuencia

En MATLAB las secuencias se
escriben:

valor inicial : incremento :
valor final

si el incremento es 1 puede
omitirlo

>> y=[2, 5, 4,
Para continuar en la
siguiente línea use

7, -3] escriba la
continuación de la línea anterior

>> x=[3, 5, 2, 0]

>> y=2*x puede
realizar operaciones
escalares

>> y=exp(x) o crear
vectores con funciones

>> a=[6 3 ; 5 1] asignación directa de una matriz 2×2

separe elementos con espacios o
comas

separe filas con punto y
coma

>> a(2,1) manejo de los componentes de una matriz con
índices numerados desde 1: (fila,
columna)

>> a=[2,
-3; 5, 1; 0, 7] una matriz 3×2

>> x=[7,
3]

>> a=[x; x] una matriz 2×2

>> b=[5, 6]

>> c=[a; b] c es una matriz
aumentada 3×2

>> d=[a,
b'] c
es una matriz aumentada 2×3

>> x=c(1, :) asigne a x la primera fila de
c

>> x=c(: ,1) asigne a x la primera columna de
c

>>
c(:,2)=[ ] elimine la segunda
columna de c

Matrices especiales

>> a=ones(5) matriz 5×5 iniciada con unos

>> a=ones(3,5) matriz 3×5 iniciada con unos

>> a=zeros(4,5) matriz 4×5 iniciada con ceros

>> a=eye(5) matriz identidad
5×5

>>
a=magic(4) cuadrado
mágico 4×4

>> a=hilb(5) matriz de Hilberth 5×5

>> x=[2, 5, 3, 7];

>> a=vander(x) matriz de Vandermonde 4×4 usando un vector

>> a=[
]
matriz nula

Generación de números
aleatorios

>>
x=rand genera un
número aleatorio entre 0 y 1

>>
a=rand(5) genera una matriz
5×5 con números aleatorios

>> b=rand(4,5) genera una matriz 4×5 con números
aleatorios

>> d=fix(rand*10)+1 transfomación para obtener un entero
aleatorio

entre 1 y 10

Una matriz puede componerse con otras
matrices

>> a=rand(3); matriz
3×3 con números aleatorios

>> b=[5 3 9]; vector de tres componentes

>> e=diag(b); matriz
3×3 con b en la diagonal

>> c=eye(3); matriz
identidad 3×3

>> d=zeros(3); matriz con ceros 3×3

>> t=[a e; c d] matriz compuesta 9×9

Editor de matrices

En la ventana workspace puede activar el editor
de arreglos, similar a una

hoja electrónica, con el cual puede modificar
con facilidad las dimensiones y

el contenido de vectores y matrices.

Elementos de vectores y matrices pueden manejarse con
otro vector o matriz

>> x=[ 8 7 9 5 6];

>> p=[2 4 1]; vector para direccionar al vector x

>> t=x(p) t contiene los
elementos 2, 4 y.1 del vector x

>> a=[4 7 3; 5 7 8; 6 0
9];

>> p=[1 3]; vector para direccionar las filas de la matriz
a

>> q=[2 3]; vector para direccionar las columnas de la matriz
a

>> t=a(p, q) t contiene las filas
1 y 3, columnas 2 y 3 de a

Operaciones con matrices

>> a=[3, 2; 1, 4];

>> b=[8, 6; 5, 7];

>> c=a' transpuesta de a

>> c=2*a producto
de un escalar por matriz

>> c=a+b suma de
matrices

>> c=a*b producto
de matrices

>> c=a.*b producto elemento por elemento de matrices

para operar elemento a elemento use
un punto

antes del operador

>> c=a^2 matriz al
cuadrado, equivale a: a*a

>> c=a.^2 cada elemento de la
matriz a, elevar al cuadrado

>> c=a==b compare igualdad entre
matrices (de igual tamaño)

el resultado es una matriz
binaria
(ceros y unos)

>>
c=a~=b compare
si dos matrices no son iguales

el resultado es una matriz
binaria
(ceros y unos)

>> c=a>3 compare si cada elemento de a es mayor a
3

el resultado es una matriz
binaria
(ceros y unos)

Funciones para matrices

>> x=[-2, 0, 6, 5]; un vector para los ejemplos

>> a=[1, 2, 3;
4, 5, 6;7, 8, 9]; una matriz
para los ejemplos

>> n=length(x) longitud del vector x

>> [n,m]=size(a) tamaño de la matriz a: el resultado es un
vector

>> n número
de filas: 3

>> m número
de columnas: 3

>>
exist('c') chequea si la variable existe

>> isempty(a) chequea si un vector o matriz está
vacío

>>
any(x) determina si el
vector contiene algún valor no cero

>>
any(a) igual que arriba,
pero por columnas de la matriz

>>
t=find(x) obtiene
índices de elementos del vector no ceros

>>
t=find(x>3) obtiene los
índices de cada elemento > 3

>>
[f,c]=find(a) obtiene los
índices de filas y columnas de la matriz

cuyos elementos son no ceros

>> t=dot(x, x) producto punto entre dos vectores

>> k=rank(a) rango de a

>> t=trace(a) traza de a

>> d=det(a) determinante de a

>> b=inv(a) inversa de a

>> h=norm(a, 1) norma de columna de la matriz a

>> h=norm(a, inf) norma de fila de la matriz a

>> h=norm(x, inf) norma de fila o columna del vector x

>> c=cond(a) número de condición de la matriz
a

>>
t=diag(a) vector con la
diagonal de la matriz a

>>
t=diag(x) matriz con
x en la diagonal

>> t=rot90(a) rote a 90 grados (sentido opuesto al
reloj)

>> t=fliplr(a) voltee horizontalmente la matriz a

>> t=tril(a) obtenga la matriz triangular inferior de
a

>> t=triu(a) obtenga la matriz triangular superior de
a

>> b=[5,-1; 3, 4;
2, 7];

>>
b=reshape(b, 2, 3) reconfigura la matriz b de 3×2 a 2×3

>>
[t,s]=lu(a) descomposición triangular de a en las
matrices

>>
t triangulares t y
s tales que t*s es igual que a

>> s

>> t*s se obtiene
la matriz a

>> t=cov(a) matriz de
covarianza de a

>>
e=eig(a) valores propios de
a

>>
p=poly(a) polinomio
característico de a

>> r=roots(ans) valores propios de a

>> help
matfun liste las funciones
para matrices

Ingreso de puntos desde la pantalla con el
mouse

>> ezplot('sin(x)'); ejemplo para tomar puntos desde un
gráfico

>> grid on

>>
[x,y]=ginput(5); ingrese 5
puntos desde la pantalla .

Presione el botón del
mouse
para

ingresar cada punto

>> x observe las
abscisas

>>
y y las ordenadas
ingresadas

>> plot(x, y,
'o') grafique los puntos
ingresados

Funciones adicionales para manejo de datos con
vectores y matrices

>> x=[2, 5,
4]; un vector

>> a=[5,-1; 3, 4;
2, 7]; una
matriz

>> t=max(x) el mayor valor del vector x

>> v=max(a) el
mayor valor por columnas de la matriz a

>> t=sum(x) suma de componentes

>> v=sum(a) suma
de componentes por columnas

>> t=prod(x) producto escalar

>>
v=prod(a) producto escalar por
columnas

>> t=cumsum(x) suma acumulada

>> v=cumsum(a) suma
acumulada por columnas

>> t=cumprod(x) producto acumulado

>> v=cumprod(a)

>> t=mean(x) media aritmética

>> v=mean(a)

>> t=median(x) mediana

>> v=median(a)

>> t=std(x) desviación estándar

>> v=std(a)

>> t=sort(x) ordenamiento ascendente

>> v=sort(a)

>> t=dsort(x) ordenamiento descendente

>> bar(x) diagrama de barras

>> bar(a)

>> hist(x) histograma

>>
stairs(x) dibuja x mediante
escalones

>> pie(x) gráfico tipo pastel

>> pie3(x) pastel en relieve

>> v=[0,1,0] vector
para extraer sectores del pastel

>> pie3(x,v) gráfico tipo pastel con un sector
separado

Polinomios

>> a=[2, –3, 0,
5}, define el polinomio
2×3 – 3×2 + 5

>> y=polyval(a,4) evaluación del polinomio con un valor

>> x=roots(a) obtenga un vector con raíces (reales y
complejas)

>> t=polyval(a, x(1)) verifique una raíz

>> p=poly(x) producto de todas las raíces

>> b=[3, 4,
2]; define el polinomio
3×2+ 4x – 2

>> c=conv(a,b) producto de polinomios

>> [c,
r]=deconv(a,b); división de polinomios

>> c cociente

>> r residuo

>> x=[2 3 5 7 8]; abscisas de puntos (x,y)

>> y=[3.2 4.1 5.8 6.4
6.3]; ordenadas de los
puntos

>> z=3.2; valor para interpolar, z puede ser un
vector

>>
u=interp1(x,y,z,’linear’) resultado de la interpolación
lineal

>> u=spline(x,y,z) interpolación con un trazador
cúbico

>> a=polyfit(x, y,
2); polinomio de
mínimos cuadrados de grado 2

>>
a el vector a contiene los
coeficientes

Practique: Obtenga y grafique el polinomio de
interpolación, la recta de mínimos cuadrados y el
trazador cúbico para un conjunto de datos
dados

>> x=[1 2 4 5 7]; cinco puntos (x, y) para el ejemplo

>> y=[5 3 6 7 4];

>> plot(x,y,'o') grafique
los datos con círculos

>> grid
on
poner
cuadrículas

>> hold on superponer los siguientes gráficos

>> a=polyfit(x,y,4); polinomio de interpolación, 5 puntos: grado
4

>>
a
coeficientes a(1)x^4
+ a(2)x^3 + a(3)x^2 + …

>> z=[1: 0.1: 7]; puntos para evaluar el polinomio

>> p=polyval(a,z); evalúe el polinomio con z obtenga puntos
p

>> plot(z,p) grafique el polinomio de
interpolación

>> b=polyfit(x,y,1); recta de mínimos cuadrados (grado 1)

>>
b
coeficientes de la
recta: b(1)x + b(2)

>> t=[1 7]; puntos extremos de la recta (abscisas)

>> q=polyval(b,t); obtenga las ordenadas respectivas de la
recta

>> plot(t,q,'r')
grafique la recta en color
rojo

>> s=spline(x,y,z); evalúe con z el trazador cúbico y
obtenga s

>> plot(z,s,'g') grafique el trazador cúbico con verde

>> hold off
deshabilite la superposición de
gráficos

 

Partes: 1, 2, 3

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter