- ¿Qué es
MATLAB? - Toolboxes de
MATLAB - Inicio de
MATLAB - ¿Cómo funciona
MATLAB? - Gráficas en tres
dimensiones. - Otros
comandos - Como hacer un programa en
MATLAB - Análisis de
datos. - Polinomios
MATLAB = 'MATrix LABoratory' (LABORATORIO DE
MATRICES).
MATLAB es un medio computacional técnico, con un
gran desempeño para el cálculo
numérico computacional y de
visualización.
MATLAB integra análisis numérico, matrices,
procesamiento de señales y gráficas, todo esto en un ambiente donde
los problemas y
soluciones son
expresados tal como se escriben
matemáticamente.
Escrito inicialmente como auxiliar en la programación de cálculo con
matrices.
MATLAB fue escrito originalmente en fortran, actualmente
está escrito en lenguaje
C.
MATLAB es un lenguaje de
programación amigable al usuario con características más avanzadas y
mucho más fáciles de usar que los lenguajes de
programación como basic, pascal o
C.
Actualmente van en la versión 5.2.
MATLAB cuenta con paquetes de funciones
especializadas llamadas toolboxes.
Control system Toolbox, Robust Control
Toolbox
Frequency Domain System Identification
Toolbox
Fuzzy Logic Toolbox
Higher Order Spectral Analisys Toolbox
Image Processing Toolbox
Model Predective Control Toolbox
Mu Analisis and Synthesis Toolbox
NAG Foundation Toolbox
Neural Network Toolbox
Nonlinear Control Design Toolbox
Optimization Toolbox
Quantitative Feedback Theory Toolbox
Signal Processing Toolbox
SIMULINK, SIMULINK Real Time Workshop
Spline Toolbox
Statistics Toolbox
Symbolic Math Toolbox
System Identification Toolbox.
MATLAB se inicia directamente desde Windows.
Al invocarse MATLAB aparecerá la pantalla de
comandos,
algunas sugerencias y el símbolo >> , el cual indica
la entrada de instrucciones para ser evaluadas.
>>
>> Comando o instrucción a evaluar <
enter >
Para hacer la suma de dos números, escribimos
:
>> 5 + 5 < enter > Presionamos la tecla
entrar.
ans =
10
El resultado es desplegado y se guarda en la variable
ans (answer).
NOTA : En este tutorial el símbolo >>
desaparecerá, y será reemplazado por un par de
corchetes con la instrucción dentro de ellos. [ 5 + 5 ].
La instrucción aparecerá en color
verde.
Para poder ver
ejecutarse la instrucción, debemos ponernos en el
renglón donde está la instrucción o marcarla
con el ratón y presionar al mismo tiempo las
teclas.
<Ctrl> <Enter>
Otra forma de evaluar una instrucción, es poner
el apuntador del ratón entre los corchetes de la
instrucción y presionar el botón derecho del
ratón; aparecerá un menú del cual se tiene
que escoger evaluar celda.
Hagamos la prueba con el renglón
inmediato.
5
+ 5 Presionar <Ctrl>
<Enter>
La respuesta es desplegada en color azul y entre
corchetes.
Help
El comando help proporciona una lista de todos los
tópicos que MATLAB puede proporcionar ayuda.
help 'comando' proporciona ayuda sobre el comando
especificado.
proporciona ayuda sobre la instrucción sqrt.
Ejemplo:
» help sqrt
SQRT Square root.
SQRT(X) is the square root of the elements of X.
Complex
results are produced if X is not positive.
See also SQRTM
MATLAB puede almacenar información en variables
tales como :
a =
100 " <Ctrl> <ENTER> para
evaluar la celda "
Cada vez que capturamos información en MATLAB y
presionamos <ENTER> ésta es desplegada
inmediatamente ( letras en color azul ), pero si ponemos un punto
y coma al final de la instrucción MATLAB omite el
desplegado de información.
Por ejemplo :
Si se quiere saber el valor de
alguna variable capturada sólo se tiene que poner el
nombre de la variable y <ENTER> y MATLAB lo despliega.
Estas variables residen en el espacio de trabajo de
MATLAB.
Las variables son sensibles a las mayúsculas, por
lo que las siguientes variables son diferentes :
Las variables pueden contener hasta 19 caracteres.
Éstas deben empezar con una letra, seguida por cualquier
número de letras, dígitos o guiones de
subrayado.
Los caracteres de puntuación no son permitidos en
las variables.
Cuando se trabaja con muchas variables estas son
difícil de recodar.
El comando who muestra un
desplegado de todas aquellas variables que se han estado
utilizando.
whos Muestra las variables
con información adicional.
Caracteres especiales
[ ] Son usados para formar vectores y
matrices [ 1 2 3 ; 4 5 6 ]
( ) Usados para expresiones matemáticas. sqrt(2)
= Usado para hacer asignaciones. x = 5
' Transpuesta de una matriz A'
Usado para separar texto
'texto'
. Punto decimal 3.1415
… Al final de una línea indican que
continua 2,3,4,5,6 ….
en el siguiente renglón. 7,8,9,10
]
, Para separar elementos [1,2,3,4]
; Para separar filas en las matrices. [ 1 2; 3
4]
Para evitar que se despliegue la información
capturada. [3] ;
% Para hacer comentarios % este programa,etc.
! Para ejecutar un comando del Ms-dos !dir
Operaciones básicas
SUMA
RESTA
MULTIPLICACION
DIVISION
POTENCIA
Como este último cálculo no tenía
variable asignada, la respuesta se guarda en la variable ans
(answer ).
Borrado de variables.
Para borrar el valor de una variable simplemente
ponemos
clear a Borra la variable "
a "
a Checar que este
borrada.
clear a b c Borra las
variables " a ", " b " y " c "
" CLEAR " Borra todas las variables y no se pueden
recuperar.
Funciones trigonométricas
sin
( 0.5) Seno de (0.5)
Así mismo
COS ( X ) TAN ( X )
ASIN ( X ) ACOS ( X ) ATAN ( X ) Inversa
SINH ( X ) COSH ( X ) TANH ( X
) Hiperbólica
ASINH ( X ) ACOSH ( X ) ATANH ( X ) Inversa-
Hiperbólica
ATAN2 ( X,Y ) Inversa de la tangente en los cuatro
cuadrantes.
LOGARITMOS
log
(0.5) Logaritmo natural
LOG10 ( X ) Logaritmo
decimal.
Funciones matemáticas
especiales.
abs
( -3) Valor absoluto o magnitud de un
número complejo
ceil ( 123.123123) Redondea
hacia más infinito
FLOOR ( X ) Redondea hacia menos infinito
FIX ( X ) Redondea hacia cero
ROUND ( X ) Redondea hacia el entero más
próximo
imag ( 30
– 5j ) Parte imaginaria de un número
complejo
REAL ( X ) Parte real de un número
complejo
ANGLE ( X ) Angulo de un número
complejo
CONJ ( X ) Complejo conjugado
sign ( -5) Función
signo : Devuelve el signo del argumento
(1 si es positivo, -1 si es negativo )
exp
( 1 ) Exponencial : e ( x )
REM ( X,Y ) Resto después de la
división ( x / y)
sqrt (2) Raíz
cuadrada
Operaciones Lógicas
En MATLAB se pueden hacer operaciones
lógicas, por ejemplo.
Como 1 es menor que 2, la respuesta es cierta por lo que
obtenemos un 1.
Obtenemos un 0, porque 1 no es menor que 1.
Como se puede observar las únicas respuestas
posibles con las operaciones lógicas son :
Cierto = 1 y Falso = 0.
Operadores relaciónales :
> Mayor que
< Menor que
>= Mayor o igual a
<= Menor o igual a
== Igual a
~= No igual a
Existen tres operadores lógicos
: AND &
OR |
NOT ~
Para que la operación AND sea verdadera las dos
relaciones deben ser verdaderas.
Recordemos AND = 0 0 | 0 Falso
0 1 | 0 Falso
1 0 | 0 Falso
1 1 | 1 Verdadero
(
1 < 2 ) & ( 2 < 3)
Verdadero.
(
1 < 2) & ( 2 < 1 )
Falso.
Para la operación OR : 0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 1
(
1 < 2 ) | ( 2 < 1 )
Verdadero.
Para la operación NOT : ~ 0 | 1
~ 1 | 0
~ ( 2 < 1)
Verdadero.
La variable NaN (Not a Number)
Cuando en un lenguaje de
programación como basic, pascal o C, se da una
situación que el programa no pueda manejar, como una
división como 0/0 el programa se detiene, marcando un
error.
Cuando en MATLAB se presenta una situación
similar el programa no se detiene, sólo da una
pequeña advertencia de que se presentó una
división entre cero. Y el resultado es un NaN, que es una
variable interna no es un número).
Ejemplo: defina a=[1 2 0] y b=[1 2 0] ahora pida la
división elemento a elemento (comando "./")
a
./ b
Solución de ecuaciones de
segundo grado.
MATLAB se puede resolver fácilmente ecuaciones
del tipo ax² + bx + c = 0,
haciéndolo como si fuera una sola instrucción. La
förmula para resolver una ecuación de segundo grado
de este tipo es :
Si tenemos los siguientes valores
:
Escribimos la formula para x1 :
x1
= ( -b + sqrt ( b ^ 2 – 4 * a * c )) / 2 * a
Para x2 :
x2
= ( -b – sqrt ( b ^ 2 – 4 * a * c )) / 2 * a
Podemos hacer la comprobación para x1.
a *
x1^ 2 + b * x1 + c Comprobación
x1
Arreglos (Arrays) ó Vectores.
Si se desea calcular el seno de " 0 a 1 " con
incrementos de 0.25, se pueden capturar los valores y
después mandar llamar el seno de la función.
Seno de 0 a 1 con incrementos de 0.25
Se pueden omitir las comas cuando se capturan los
números.
Con los números capturados, se obtiene el seno de
la variable x escribiendo simplemente :
MATLAB opera en radianes, donde 2P = 360 grados.
Ahora se requiere obtener el coseno de cero a uno con
incrementos de 0.01; lo que equivale a capturar 101
elementos.
Para evitar capturarlos a mano, MATLAB nos permite crear
un vector de la siguiente manera :
Variable = ( Valor inicial : Con incrementos de : Valor
final )
COS ( R ) Ahora se puede obtener el coseno de la
variable R.
Hagamos el siguiente vector :
Si queremos saber cual es el cuarto elemento del vector
ponemos :
Si nos interesan los elementos 5 al 10 :
Otras opciones son :
Y(
1 : 2 : 9) Toma los elementos del 1 al 9
con incrementos de 2
Y([
1, 3, 7,10]) Toma los elementos 1, 3, 7 y 10
del array
Modificaciones de los arreglos
Si el noveno elemento del array debió ser el
número 20 en vez de 8, corregimos de la siguiente manera
:
Otra forma de hacer arreglos, es con linspace
:
Linspace ( Valor inicial , Valor final , Número
de elementos )
Regresando al ejemplo del coseno de 0 a 1 con incremento
de 0.01 escribimos :
Note el uso de comas (#, #, #)
Linspace describe una relación lineal de
espaciado entre sus elementos.
Logspace describe una relación de espaciado "
logarítmica ".
Logspace ( Primer exponente , Último exponente ,
Cantidad de valores )
Hemos creamos un arreglo que comienza en 10 0
y termina en 10 2, conteniendo 10 valores.
Otra forma de crear arreglos es :
x1
= 1 : 5 Arreglo de 1 a 5, con incremento
de 1
x2
= 10 : 5 : 100 Arreglo de 10 a 100, con
incrementos de 5.
Si se quiere concatenar x1 y x2
Matemáticas con arreglos.
a =
1 : 6 Define un vector de seis elementos
con incrementos de 1
b
= 1 : 2 : 12 Vector de seis elementos con
incremento de 2
Arreglos con escalares
Se le puede sumar o multiplicar un número a todo
el arreglo, por ejemplo
a
+ 10 Suma de un escalar con un
arreglo
a
* 10 Multiplicación de un escalar con
un arreglo
Operaciones con arreglos
Para hacer la suma de los arreglos a y b, solamente
escribimos :
a
+ b La respuesta se guarda en ans
:
Se pueden hacer operaciones como :
La multiplicación de arreglos se hace con ( . *
), ya que cuando se utiliza el asterisco sin punto indica
multiplicación matricial, y además provoca un
error.
La división también lleva un punto antes
del signo, porque sino se utiliza el punto nos referimos a la
división matricial que es muy diferente.
La siguiente operación obtiene el cuadrado del
arreglo " a ".
Orientación de arreglos
Si separamos cada elemento del arreglo con punto y coma
tenemos un arreglo de una sola columna :
Es necesario usar los corchetes, porque si no los usamos
obtenemos el último valor que capturamos :
d
= 1 ; 2; 30 ; 40 ; 50 ; 600 ; 1000
Para crear una columna con 20 elementos hacemos lo
siguiente :
y trasponemos el renglón a columna, es decir
buscamos la transpuesta. ( ' )
¿ Que pasa si hacemos lo siguiente : ?
Matrices
Se utiliza el punto y coma ( ; ) hacer una
matriz.
Para formar la matriz 1 2 3
3 2 1
2 1 3
Escribimos :
Ecuaciones Simultáneas
Con MATLAB se pueden resolver sistemas de
ecuaciones simultáneas fácilmente.
Por ejemplo para resolver el siguiente sistema de
ecuaciones.
2x + 0y + 5z = 100
3x + 5y + 9z = 251
1x + 5y + 7z = 301
Capturamos los valores de x, y, z ; formando una
matriz.
Después capturamos el valor al cual están
igualadas las ecuaciones en otra matriz.
Una forma de solucionar las ecuaciones es obteniendo el
inverso de la matriz, es decir : A -1 ( menos uno
)
El asterisco indica multiplicación
matricial.
Otra forma de resolverlo, es utilizando la
división matricial.
Es también posible obtener la determinante de una
matriz.
Operaciones con Matrices
Definamos las siguientes matrices ' g ' y ' h
'.
h
= [ 1 0 2 ; 11 2 3 ; 3 5 12 ]
La suma de las matrices g y h se muestra enseguida
:
k
= g * h Multiplicación de dos
matrices.
[L, U ] = lu (k) Calcula la
factorización LU de la matriz cuadrada k
[d,e]= qr (k) Calcula la
factorización QR de la matriz k.
Calcula la descomposición en valores singulares
de la matriz k.
rank(k) Devuelve el rango de
la matriz k.
cond(k) Devuelve el
número de condición de la matriz k.
Modificación de las matrices.
Si nos equivocamos al capturar la matriz, por ejemplo si
el número 7 del segundo renglón, tercer columna
debió ser 6 en vez de 7, tendríamos que capturar de
nuevo la matriz.
Pero con MATLAB es posible modificarla de la siguiente
manera :
A(2,3)= 6 Variable (
renglón, columna)= nuevo valor
Si tenemos la matriz identidad de 4
x 4 :
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
A
= [ 1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]
Pero por algún error la matriz identidad
debió de haber sido de 5 x 5.
¿ Hay que capturar de nuevo la matriz ?. La
respuesta es no.
Agregamos un 1 en el renglón 5 columna 5, y como
este no existían previamente, las columnas y renglones se
completan agregando ceros.
¿ Que pasa ahora si queremos sólo una
matriz identidad de 3 x 3 y tenemos capturada una de 5 x
5.
Podemos utilizar :
Matriz ("Renglón" inicio : Fin , "Columna" inicio
: Fin )
Ahora si queremos que la matriz identidad sea : 0 0
1
0 1 0
1 0 0
Poner dos puntos ( : ) indica que se deben tomar todas
las columnas
(1 : 5). Esto es valido también para los
renglones.
Toma todos los renglones, pero sólo toma las
columnas 1, 3 y 5.
Si creamos las siguientes matrices A y B :
A
= [ 1 2 3 4 5; 1 2 3 4 5; 1 2 3 4 5; 1 2 3 4 5
]
B
= [ 6 7 8; 6 7 8; 6 7 8; 6 7 8 ]
Podemos construir una matriz C uniendo las dos
anteriores
A partir de la matriz A queremos tomar las columnas 1, 2
y 5, y de la matriz B queremos tomar las columnas 1 y 3, para
formar una matriz D.
D = [ A(:,[ 1 2 5]) B(:, [ 1
3])]
D( :,1)=[] Elimina la
columna número uno.
Matrices especiales
ones(2) Hace una matriz de
unos, de 2 x 2.
zeros(5,4) Hace una matriz
de ceros, de 5 x 4.
rand(3) Hace una matriz de
3 x 3,
eye(4) Hace una matriz
identidad de 4 x 4.
Gráficas
En MATLAB se pueden crear gráficas tan simples
como :
D
= [ 1 2 3 5 4 7 6 8 9 8 6 3 1 3];plot (D)
o se pueden crear gráficas tan complejas como
:
cplxroot(3,10) Superficie de
una raíz cubica.
Como se vió en el primer ejemplo es posible
gráficar una serie de puntos y MATLAB
automáticamente ajusta los ejes donde se
gráfica.
Por ejemplo, para gráficar la función seno
se pueden crear un rango de valores
x
= 0 : 0.1 : 20; x = vector de cero a
veinte con incrementos de 0.1
y
= sin(x); Seno del vector (x)
plot (x,y) Gráfica
del seno
z
= cos(x); Coseno del vector
anterior
plot (x,z) Gráfica del
coseno de x.
plot ( x,y,x,z)
Gráfica del seno y coseno en la misma
pantalla
plot (x,z,'*') Gráfica
del coseno con los signos ' * '
Hace la gráfica en azul, y los signos ' + ',
intercambiando los ejes.
Como se ve es posible gráficar en Matlab con
símbolos y además escoger el color, tal como se
muestra en la tabla inferior.
Símbolo | Color | Símbolo | Estilo de línea |
y | amarillo | . | punto |
m | magenta | o | circulo |
c | cían | x | equis |
r | rojo | + | más |
g | verde | * | asterisco |
b | azul | – | menos |
w | blanco | : | dos puntos |
k | negro | – . | menos punto |
– – | menos menos |
Es posible agregar un cuadriculado a la gráfica,
para tener más precisión, con el
comando.
Se pueden agregar títulos a las gráficas y
etiquetas en los ejes con los comandos siguientes.
title(' Gráfica del coseno de
x')
Para ponerle etiquetas a los ejes se puede utilizar los
comandos
ylabel ('etiqueta')
xlabel('etiqueta')
axis off Desaparece los
ejes.
Subplot
El comando subplot nos permite desplegar en pantalla
varias gráficas.
subplot(m,n,a)
'm' y 'n' son una matriz que representa las cantidades
de gráficas que se van desplegar; 'a' indicaría el
lugar que ocuparía la gráfica en el
subplot.
Hagamos la gráfica de los siguientes puntos. La
desplegaremos en cuatro puntos diferentes en pantalla para ver
las características de subplot.
a=[ 1 ,2 ,3 9 ,8 ,7 ,4, 5, 6, 8, 7,
5];
Vamos hacer una matriz de 2 x 2 para gráficar,
cuatro posibles ventanas o gráficas. Y queremos que la
primera gráfica ocupe el lugar (1,1) de la matriz.
entonces escribimos.
CLF borra todos los objetos de la
gráfica.
CLF RESET Borra todo lo que hay en la
gráfica y resetea todas las propiedades de la
figura.
El comando plot se puede extender a 3 dimensiones con el
comando plot3 .
El siguiente ejemplo hace una gráfica de una
espiral en tres dimensiones.
zlabel ('etiqueta')
Se utiliza para dar etiquetas al eje z, en las
gráficas en tres dimensiones.
Gráficos de malla y
superficie.
El comando peaks crea un conjunto de valores que al ser
gráficados, se ven de la siguiente manera.
Se tomará como base la gráfica anterior
para demostrar algunas funciones de graficación en tres
dimensiones.
Es posible cambiar el sentido de orientación de
las gráficas con el comando view(x,y)
Gráficas en el plano
complejo
Ahora vamos a crear un conjunto de valores para
gráficar en el plano complejo, en tres
dimensiones.
cplxroot(2,10) Raíz
cuadrada
Se pueden crear gráficos en coordenadas polares con el
comando Polar (t,r,s) donde t es el vector en ángulos en
radianes, r es el radio del vector
y s es la cadena de caracteres que describe , color,
símbolo del estilo del línea.
gtext( ‘ texto ’ )
Se utiliza para colocar texto en una gráfica, con
la ayuda del mouse.
Simplemente se ejecuta el comando y con el mouse se selecciona la
coordenada deseada y se presiona el botón derecho del
mouse, quedando fijo el texto en la pantalla.
Copiar una gráfica
Cuando se quiera realizar algún reporte formal en
un procesador de
palabras como en este caso Word, es
posible copiar las gráficas hechas en Matlab por medio de
la orden copy to bitmap.
El procedimiento
sería :
- En Matlab, en el menú de la ventana principal
de la gráfica, se escoge el menú
‘edit’ y de este se escoge copy to
‘bitmap’; - Se minimiza Matlab y se pasa al procesador de
palabras escogido - Se localiza la posición en la cual
estará la gráfica, y del menú edit se
escoge ‘paste o pegar’.
La gráfica aparecerá en el procesador de
palabras.
Existe un pequeño inconveniente ya que la
gráfica aparecerá sobre un fondo de color negro que
Matlab tiene por default, si se imprime este documento obviamente
la gráfica aparecerá sobre un fondo negro lo cual
hará que la impresora
gaste tinta en exceso.
Para remediar esto se puede cambiar el color de fondo de
las gráficas a blanco con el comando.
Whitebg
después se hace procedimiento mencionado
anteriormente.
Imprimir una gráfica.
Se puede imprimir una gráfica directamente desde
el menú de la ventana de la gráfica, seleccionando
la opción print.
- What : Listado de todos los archivos *.m en
el directorio actual - dir : Lista todos los archivos en el
directorio actual - type nombre_archivo : Lista el programa,
(Programas
con terminación *.M). - Which nombre_archivo : Da el path en el cual
esta el archivo.
Se pueden utilizar comandos de Unix tales como
Ls, pwd.
Como hacer un programa en MATLAB
Es posible realizar un programa en Matlab tal como se
hace en otros lenguajes como el basic, pascal o el lenguaje C.
Es necesario utilizar un editor para escribir el código.
- Para cargar un editor, se puede hacer desde la
ventana options, escogiendo editor preference, y cargando el
editor que se desee utilizar. - Para escribir código, requerimos crear un
archivo *.M. Para esto necesitamos abrir new M.file en la
ventana file. - Ahora escribimos el código y salvamos el
archivo utilizando la terminación archivo.M. - Se puede correr el programa desde Matlab simplemente
escribiendo el nombre del archivo que fue creado. - Es posible abrir programas con la terminación
*.M desde Matlab, en el menú file, open
M.file.
Bucles For
Tal como en otros programas de programación en
Matlab es posible crear programas con estructura con
ciclos for.
For x = Número incial : número
final
Instrucción
End.
for x = 1 : 10
x = x + 1
end
También se pueden hacer operaciones como la
siguiente :
matriz = [ 1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3
4]
for x = matriz
x = n(1)*n(2)*n(3)*n(4)
end
Bucles while
While permite que ciertas instrucciones sean repetidas
un número indefinido de veces bajo el control de una
condición lógica.
Por ejemplo, ¿ Cual es primer entero n para el
cual n! (factorial) es un número de 100 dígitos
?.
while prod(1:n)<1.e100,n=n+1;end
IF ELSE END
Se pueden utilizar estructuras
como:
If expresión (verdadero)
acción
End.
If expresión (verdadero)
acción 1
else (Falso)
acción 2
End.
If expresión (verdadero)
acción 1
elseif expresión (verdadero)
acción 2
. . .
else (Falso)
acción "n"
End
Análisis de datos.
En Matlab podemos hacer análisis de datos
estadísticamente o probabilisticamente. Entre estos
análisis están cálculos de medias,
máximos, mínimos, desviaciones estándar,
etc.
Inventemos un conjunto de datos, los cuales podremos
análizar.
x
=[ 9 1 ;23 34; 16 28 ;12 33 ;5 7; 9 4 ;12 34 ;5 14 ;43 6 ;3 6 ;12
9; 2 30 ;3 2; 2 4]
plot (x) La
representación gráfica de los puntos
anteriores.
A continuación se hace una análisis de los
datos presentados, habrá dos respuestas porque tenemos dos
columnas.
media=mean(x)
Obtención de la media
max(x) El máximo
de los valores.
min(x) El mínimo
de los todos los valores
std(x) La
desviación estándar
hist(x)
Histograma.
Interpolación
Matlab tiene varios comandos que nos permiten hacer
interpolaciones, uno de los métodos es
por medio de mínimos cuadrados.
Mínimos cuadrados
Se crean varios puntos.
x
= [ 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 ];
y
=[ 0.09 .12 .24 .27 .4 .45 .61 .67 .71 .63
.59];
se muestra los puntos a los cuales se les va a
interpolar
Se utiliza una aproximación de segundo orden,
porque la función es no lineal.
n=2 ; Segundo
orden.
p=polyfit(x,y,n) Crea los elementos
del polinomio que hará la interpolación.
El polinomio es del tipo ax2 + bx + c =
0
f=linspace(0, 1, 100);
Formamos una serie de puntos para
gráficar.
z=polyval(p,f); Evaluación
polinomial.
plot(x,y,'*',x,y,f,z,':')
Hacemos la gráfica de la
interpolación.
Podemos ver que la interpolación es pobre. Ahora
tratemos de hacerla con un polinomio de quinto grado, el
procedimiento es el mismo que el anterior.
Otra forma de interpolar, es con el comando
interp1.
Se puede observar en la gráfica resultante, que
parece como una aproximación lineal entre cada
punto.
Para una aproximación más suave es
recomendable usar el comando spline, que hace una
interpolación tipo cubic spline.
MATLAB puede sacar ls raíces de un polinomio.
Para capturar el polinomio de abajo, solamente ponemos el valor
de cada variable, respetando su lugar. Como no hay termino
x1 ,de todos modos se captura como cero.
X3 + 5×2 –
2
Para sacar las raíces escribimos.
Tips de memoria.
Para obtener la máxima velocidad en
Matlab debemos tratar de vectorizar los algoritmos,
por ejemplo :
a = 0
for a = 0:.0.1:10
a = a + 1;
y(a)=sin(t)
end
La versión vectorizada sería :
t= 0:0.01:10;
y = sin(t)
El primer ejemplo en MATLAB toma aproximadamente 15
segundos, mientras que el segundo toma sólo 0.6
segundos.
Se recomienda ver los tutoriales
propios de MATLAB como el intro, expo, el manual de MATLAB
y otros libros de
consulta.
Resumen realizado a partir del tutorial
electrónico del paquete Matlab por Ender José
López Méndez (Estudiante de la Escuela de
Petróleo
de la Facultad de Ingeniería de la Universidad del
Zulia Maracaibo Venezuela,
Abril de 2003
Ender José López
Méndez