dia1 matlab
DESCRIPTION
curso de matlab dia 1TRANSCRIPT
Norma Verónica Ramírez Pérez
Martín Laguna Estrada
DIRIGIDO A:
Los profesionales que estén involucrados en
las áreas de investigación e ingeniería, con
conocimientos básicos de programación.
OBJETIVO
Adquirir conceptos básicos de MATLAB,
interfaces GUI, manejo de toolbox de análisis
estadístico, redes neuronales, lógica borrosa
y adquisición de imágenes.
Temario
1. Introducción
2. Entorno MATLAB
Operaciones con matrices y vectores
Funciones de librería
Otros tipos de datos de Matlab: cadenas, hipermatrices,
estructuras, celdas.
3. Programación en Matlab
Gráficos bidimensionales
Gráficos tridimensionales
Interfaces de usuario en MATLAB
4. Librerías de interés práctico: análisis estadístico, redes neuronales,
lógica difusa, adquisición de imágenes etc.
5. Ejercicios de aplicación
Cronograma del Curso
Día 1. Entorno MATLAB, operaciones con matrices y vectores ,
funciones de librería. Ejercicios.
Día 2: Cadenas, hipermatrices, estructuras, celdas,
programación
en MATLAB. ejercicios
Día 3: Gráficos bidimensionales y tridimensional, interfaz gráfico
en MATLAB. Ejercicios
Día4: Librerías de interés práctico, analisis estadístico, redes
neuronales, lógica borrosa, adquisición de imágenes.
Día5: Ejercicios de aplicación.
Día 1
- Entorno MATLAB
- Operaciones con matrices y
vectores
- Funciones de librería
- Ejercicios
Un poco de historia de MATLAB y su uso en
aplicaciones de interés
MATLAB es un software matemático que se
inventó en los años 70’s.
Su autor fue Cleve Moler de la universidad de
Nuevo México.
En 1983 , Jack Little de la universidad de
Stanford, se unió al proyecto y lo empezó a
comercializar.
Fue creado por Cleve Moler en 1984,surgiendo la primera
versión con la idea de emplear paquetes de subrutinas escritas
en Fortran en los cursos de álgebra lineal y análisis numérico,
sin necesidad de escribir programas en dicho lenguaje. El
lenguaje de programación M fue creado en 1970 para
proporcionar un sencillo acceso al software de matrices
LINPACK y EISPACK sin tener que usar Fortran.
En 2004, se estimaba que MATLAB era empleado por más de un
millón de personas en ámbitos académicos y empresariales.
MATLAB proviene de MATrix LABoratory,
dado que el tipo básico que gestiona es una
matriz (array).
Es una herramienta de software
matemático que ofrece un entorno de
desarrollo integrado (IDE) con un lenguaje
de programación propio (lenguaje M) y
servicio de especie. Está disponible para las
plataformas Unix, Windows, Mac OS X y
GNU/Linux .
MATLAB incorpora librerías específicas
llamadas toolboxes, que son colecciones de
funciones especializadas y diseñadas para
resolver problemas muy específicos, por
ejemplo, procesamiento de señales, cálculo
simbólico, diseño de sistemas de control.
El dato básico que opera MATLAB es el array.
MATLAB es básicamente un software para
trabajar con cálculo numérico. Sin embargo,
se pueden realizar operaciones matemáticas
simbólicas (librería Symbolic Math).
Entre sus aplicaciones básicas están:
la manipulación de matrices,
la representación de datos y funciones,
la implementación de algoritmos,
la creación de interfaces de usuario (GUI)
y la comunicación con programas en otros
lenguajes y con otros dispositivos
hardware.
El paquete MATLAB dispone de dos
herramientas adicionales que expanden sus
prestaciones, a saber, Simulink (plataforma
de simulación multidominio) y GUIDE
(editor de interfaces de usuario - GUI).
Además, se pueden ampliar las capacidades
de MATLAB con las cajas de herramientas
(toolboxes); y las de Simulink con los
paquetes de bloques (blocksets).
Es un software muy usado en universidades y
centros de investigación y desarrollo. En los últimos
años ha aumentado el número de prestaciones,
como la de programar directamente procesadores
digitales de señal o crear código VHDL.
Usos del MATLAB
Computación matemática
Modelado y simulación
Análisis y procesamiento de datos
Visualización y representación de gráficos
Desarrollo de algoritmos
Usos en la industria
Investigación
Desarrollo y diseño de prototipos
Matemáticas
Las matemáticas es una área importante para Matlab, donde prácticamente
todas sus funciónes de MatLab están basadas en ellas, tomando en cuenta
que todas la demás ciencias basan sus desarrollos en conceptos puramente
matemáticos como: de tipo algebraicos, de cálculo, de ecuaciones
diferenciales, etc. Los programadores de Matlab han desarrollado alguna
función para que el usuario simplemente la conozca y utilice sin mayor
dificultad.
• Trabaja con literales con la función syms, que es importante en él área de
matemáticas para analizar analíticamente.
• Resuelve ecuaciones lineales, y ecuaciones diferenciales relacionadas a
variables literales con la función solve. Y muchas más.
La relación entre la física y la matemática es muy directa, la mayor
parte de los fenómenos físicos de la naturaleza pueden ser descritos
mediante su comportamiento matemático, por lo mismo Matlab es la
herramienta perfecta para representar tales comportamientos y
desarrollar estudios sobre muchos que se conservan como teoría. En
Matlab, el especialista encontrará una herramienta muy útil para
desarrollar sus investigaciones.
Un ejemplo sería:
• Tiro parabólico
Física
Estadística
La estadística es sin duda un área de conocimiento muy extenso, pero de
mucha utilidad para casi todas las demás ciencias que buscan predecir
ciertas situaciones en base registros anteriores,. Los datos estadísticos que
revelan tanto la posibilidad como la incidencia no son de obra de la
casualidad, vienen respaldados de complejos desarrollos matemáticos que
han sido definidos a través de los años. Conceptos como desviación
estándar, varianza, media, mediana, etc., esto no debe sonar extraños ante
los oídos de los investigadores de la ciencias exactas.
Finanzas
Muchas veces lo que se inician en el área de finanzas,
pensarían que Matlab no les ayudaría o bien no lo tomarían
como su primer opción de software de apoyo para desarrollar
sus conocimientos y tareas de la materia, sin embargo, es
probable que se sorprenderá que muchos especialistas en el
área han encontrado en Matlab una herramienta sorprendente
por que tiene un Toolbox financiero ya integrado que contiene
funciones muy específicas del área.
Ingeniería electrónica
En esta área Matlab abarca un
gran número de funciones que a
su vez han sido diseñadas para
satisfacer las necesidades de la
gran mayoría de ciencias
exactas conocidas.
Comunicaciones
Continuando con electrónica, la
comunicación se deriva de ella, a
la transmisión de información de
cualquier tipo entre un emisor y
un receptor, como algunos
dispositivos electrónicos, existen
varias formas de lograr esta
comunicación y el desarrollo de
nuevos métodos que es el campo
de acción de esta especialidad.
ControlEl control es posible que sea una de las área con mas
desarrollo dentro de la industria manufacturera moderna.
Especialistas del área han encontrado en Matlab una
herramienta muy poderosa para simular sistemas de control
de muy diversos tipos .
Procesamiento de señales
Dentro de las especialidades de la ingeniería electrónica, el
procesamiento de señales es otra de las grandes ramas de desarrollo,
donde el diseño de filtros, que compete a esta área en particular,
posee una gran cantidad de funciones propias.
Procesamiento de imágenes
El procesamiento digital de imágenes es el conjunto de
técnicas que se aplican a las imágenes digitales con el
objetivo de mejorar la calidad o facilitar la búsqueda de
información.
Ventajas de MATLAB
Amplio soporte matemático
Alta precisión
Amplio soporte de funciones ya
desarrolladas
Integración con dispositivos hardware
Una comunidad muy extendida
Magnífica ayuda
Comercial
Gestión obscura de la memoria
Problemas eventuales de velocidad
Desventajas de MATLAB
Entorno de MATLAB
Command window
(área de trabajo)
Workspace
(instalación de
variables)
Current folder
(directorio de
archivos)
Command history
Entorno de MATLAB
Command window
Workspace
Command History
Entorno de MATLAB
Command help
Ayuda sobre
típicos generales
Nuevo script
Editor del script
Ejecutar
Guardar
programa
Borrar variables
Ejecutar desde
command window
Instalación de
Directorio
Set Path(esto sirve para
añadir librerías)
Preferencias de
configuración
Help prod
Salvando mis variables y mi entorno de trabajo
La función whos permite ver los
atributos de nuestra variable “a”
Salvando mi entorno
de trabajo
Salvando mi variable mi
matriz “ a”
Cargar mi
entorno de
trabajo
Salvar mi
variable en un
archivo txt
Definiendo un vector
Si multiplicamos la
matriz de a por el
vector a1, podremos
obtener resultado
Pero que pasa cuando queremos
multiplicar el vector por la matriz a,
nos marcará un error, pues una de las
propiedades para multiplicar una
matriz es
Creamos nuevamente la
variable a y b con los siguientes
datos, observemos que no se
despliegan en el entorno de
trabajo porque le pusimos ;
Definición de matrices y vectores
Definición de una matriz “a” en un
solo renglón, para intercambio de
renglón se utiliza ;
Se define “b”, como la
transpuesta de “a” con el
apostrofe ‘
Si no definimos una
variable para la
respuesta, nos
devolverá ans
Puntualizaciones sobre la variables en
MATLAB
Todas las variables en MATLAB son arrays.
Un escalar es simplemente un array de solo un
elemento.
Un vector es un array de una sola fila o columna
de elementos.
Una matriz es un array con elementos distribuidos
en filas y columnas.
Puntualizaciones sobre la variables en
MATLAB
Las variables(escalares, vectores o matrices) se
definen a partir de la entrada, cuando a la
variable se le asigna un valor. No hay necesidad
de definir explícitamente el tamaño del array
antes de que se produzca la asignación.
Una vez que la variable existe como escalar,
vector o matriz, su contenido y tamaño puede
cambiarse. Por ejemplo, un escalar puede
transformarse en una matriz o un vector, así como
una matriz puede convertirse en un escalar.
Operador de transposición
El operador de transposición, cuando se aplica a
un vector, transforma la fila en columna y
viceversa.
Cuando se aplica a una matriz, éste transforma
las filas en columnas y viceversa.
sea una matriz A
La transpuesta de A se define por una matriz B=A’
Utilización de los dos puntos (:) en la
manipulación de arrays para vectores
Los dos puntos se utilizan para acceder a un rango de
elementos dentro de un vector o una matriz.
A(:) se refiere a todos los elementos de vector A (ya sea
un vector fila o columna).
A(m:n) Se refiere a todos los elementos comprendidos
entre las posiciones m y n del vector A
Ejemplo: >> va=[3 5 6 4 2 1 9 6 5]
va =
3 5 6 4 2 1 9 6 5
>> u=va(3:7)
u =
6 4 2 1 9
A(:,n) se refiere a los elementos de la columna n de la
matriz A
A(n,:) se refiere a los elementos de la fila n de la matriz A
A(:,m:n) se refiere a los elementos entre las columnas m y
n de la matriz A
A(m:n,:) Se refiere a los elementos entre las filas m y n de
la matriz A
A(m:n,p:q) Se refiere a los elementos de la fila m a la n, y
a los de la columna p a la q de la matriz A
Utilización de los dos puntos (:) en la
manipulación de arrays para matrices.
ejemplos
>>A =
1 3 5 7 9 11
0 5 10 15 20 25
10 20 30 40 50 60
67 2 43 68 4 13
>> B=A(:,3)
B =
5
10
30
43
Utilización de los dos
puntos (:) en la
manipulación de arrays
para matrices.
A=[1:2:11;0:5:25;10:10:60;67 2 43 68 4 13]
>> F=A(1:3,2:4)
F =
3 5 7
5 10 15
20 30 40
>> E=A(2:4,:)
E =
0 5 10 15 20 25
10 20 30 40 50 60
67 2 43 68 4 13
>> C=A(2,:)
C =
0 5 10 15 20 25
>> A
A =
1 3 5 7 9 11
0 5 10 15 20 25
10 20 30 40 50 60
67 2 43 68 4 13
Crear una matriz de 6x6 en la cual las dos filas centrales,
junto con las dos columnas centrales, sean unos, siendo el
resto de los elementos ceros.
>>AR=zeros(6,6)
AR=
>>AR(3:4,:)=ones(2,6)
AR=
>>AR(:,3:4)=ones(6,2)
AR =
0 0 1 1 0 0
0 0 1 1 0 0
1 1 1 1 1 1
1 1 1 1 1 1
0 0 1 1 0 0
0 0 1 1 0 0
Algunas operaciones con vectores y matrices
+ adición o suma
– sustracción o resta
* multiplicación
' traspuesta
^ potenciación
\ división-izquierda
/ división-derecha
.* producto elemento a elemento
.\ y ./ división elemento a elemento
.^ elevar a una potencia elemento a elemento
Operaciones matemáticas con arrays
Para sumar o restar dos matrices se requiere que
ambas sean del mismo tamaño mxn
Para multiplicar dos matrices se requiere que el
número de columnas de la primer matriz sea igual al
número de filas de la segunda, esto es que la primer
matriz de mxn se multiplique con la segunda matriz
nxp para obtener una matriz de mxp
Ejemplos de suma resta y multiplicación
entre matrices.
División de arrays
MATLAB posee dos tipos de divisiones de arrays: la división derecha y la
división izquierda.
División izquierda \
La división izquierda se utiliza para resolver ecuaciones matriciales
AX=B
En esta ecuación X y B son vectores columna. La ecuación en sí puede ser
resuelta multiplicando en la parte izquierda de ambos miembros de la
igualdad por el inverso de A:
A-1AX=A-1B
X=A-1B
En Matlab, se puede escribir utilizando el carácter de la división izquierda:
X= A\B
División derecha
La división derecha se utiliza para resolver ecuaciones matriciales
XC=D
En esta ecuación X y D son vectores fila.
La ecuación anterior se puede resolver multiplicando la parte derecha de
ambos miembros de la igualdad por la inversa de C:
XCC-1 = DC-1
X=DC-1
En MATLAB, esta última ecuación se puede escribir utilizando el carácter de
división derecha:
X = D/C
Algebra en Matlab
Empecemos por realizar el siguiente sistema
de ecuaciones, para lo cual, abran un script
para que lo guardemos como ejemplo, o bien
pueden hacerlo en el command window.
Ejemplo. Solución de sistemas lineales
Utilizar los operadores array para resolver el
siguiente sistema de ecuaciones
4x – 2y + 6z = 8
2x+ 8y + 2z = 4
6x+ 10y +3z = 0
solución
A =
4 -2 6
2 8 2
6 10 3
>> B=[8; 4; 0]
B =
8
4
0
>> X=A\B
X =
-1.8049
0.2927
2.6341
Aplicamos el carácter
división izquierda
>> Xa=inv(A)*B
Xa =
-1.8049
0.2927
2.6341
Aplicamos
la inversa de A
O bien,
>> C=[4 2 6;-2 8 10;6 2
3]
C =
4 2 6
-2 8 10
6 2 3
>> D=[8 4 0]
D =
8 4 0
>> Xc=D/C
Xc =
-1.8049 0.2927 2.6341
4x – 2y + 6z = 8
2x+ 8y + 2z = 4
6x+ 10y +3z = 0
Solución de la forma XC=D Sacamos la
transpuesta de la
matriz A
Solución de X=D/C,
mediante la división derecha
Solución de la forma X=DC-1 mediante la
inversa de C
>> Xd=D*inv(C)
Xd =
-1.8049 0.2927
2.6341
C =
4 2 6
-2 8 10
6 2 3
>> D=[8 4 0]
D =
8 4 0
4x – 2y + 6z = 8
2x+ 8y + 2z = 4
6x+ 10y +3z = 0
solución
Podemos guardar nuestro archivo con el
nombre sistema_ecuaciones
Para realizar una matriz identidad tenemos la
siguiente función
Matriz cuadrada de 1s
Matriz cuadrada de 0s
Definición de vectoresVector de 1 al 10
Vector de 1 al 10 con
espaciamiento de 2
Vector de 0 a 1 con
espaciamiento de
0.1
Vector de 1´s. realizado a
través de otras-
Cuando utilizamos la función
rand es para realizar una
distribución uniforme
Y la función randn es para una
distribución normal
Matriz identidad
cuadrada de 3
Convertir matriz en vector
Extracción de un
elemento
Extracción de una columna
Extracción de una
columna
Asignación de 1s en columna
Asignación de 1s en renglón
Examinando una coordenada
que no existe en una matriz, sin
embargo insertará el número en
la posición
Acceder a índices de una
matriz
Crear los tres arrays en la ventana de comandos y,
seguidamente, escribir un solo comando que
reemplace: 1) las cuatro últimas columnas de las filas 1
y 3 de A por las cuatro primeras columnas de las
primeras dos filas de la matriz B; 2) las cuatro últimas
columnas de la cuarta fila de A por los elementos 5 a 8
de v; y 3) las cuatro últimas columnas de la quinta fila
de A por las columnas 2 a 5 de la tercera filas de B.
>>A=[2:3:17; 3:3:18; 4:3:19; 5:3:20; 6:3:21]
>>B=[5:5:30; 30:5:55; 55:5:80]
>>v=[99:-1:91]
A =
2 5 8 11 14 17
3 6 9 12 15 18
4 7 10 13 16 19
5 8 11 14 17 20
6 9 12 15 18 21
B=
5 10 15 20 25 30
30 35 40 45 50 55
55 60 65 70 75 80
v =
99 98 97 96 95 94 93 92 91
solución
1) A([1 3], 3:6)=[B([1 2],1:4);
A =
2 5 5 10 15 20
3 6 9 12 15 18
4 7 30 35 40 45
5 8 11 14 17 20
6 9 12 15 18 21
2) A(4,3:6)=v(5:8);
A =
2 5 5 10 15 20
3 6 9 12 15 18
4 7 30 35 40 45
5 8 95 94 93 92
6 9 12 15 18 21
3) >> A(5,3:6)=B(3,2:5)
A =
2 5 5 10 15 20
3 6 9 12 15 18
4 7 30 35 40 45
5 8 95 94 93 92
6 9 60 65 70 75
Solución en un solo renglón
A =
2 5 5 10 15 20
3 6 9 12 15 18
4 7 30 35 40 45
5 8 95 94 93 92
6 9 60 65 70 75
>> A([1 3 4 5], 3:6)=[B([1 2],1:4); v(5:8);B(3,2:5)]
Operadores relacionales
< menor que
> mayor que
<= menor o igual que
>= mayor o igual que
== igual que
~= distinto que (~=Alt-Graph126)
Obtener los valores de la matriz
mayores a 0.5
Mostrar el tamaño de la matriz, nos
arrojara, que es una matriz
cuadrada.
Extraer un elemento mayor
que 3
La función magic, arroja como
resultado una matriz mágica que tanto
las columnas, renglones y diagonal da
el mismo resultado al sumarlo
Veámoslo sumando la primera fila
Suma de todas las columnas para
comprobar que cada una ellas no da
lo mismo al sumarlos
Extraer elementos de la fila
del 1 al 5 y las columnas
1,3,5
Eliminar la tercera columna
La función isempty, nos comprobará si
la matriz esta vacía o no
Con esto le estamos asignando a B que se
vacie
Ahora si, podemos utilizar la función isempty, y
nos arrojará 1, que es verdadero
Definición de una matriz a partir de
diferentes expresiones matemáticas
MAt =
3.0000 24.0000 0.5000
2.0000 1.6330 14.0000
>> cd=6; e=3; h=4;
>> MAt=[e,cd*h,cos(pi/3); h/2,sqrt(h*h/cd), 14]
A =
1 3 5 7 9 11
0 5 10 15 20 25
10 20 30 40 50 60
67 2 43 68 4 13
>>
Definición de una matriz a partir de
diferentes expresiones matemáticas
>> A=[1:2:11; 0:5:25; linspace(10,60,6); 67 2 43 68 4 13]
Algunas funciones matemáticas
sqrt( ) raíz cuadrada.
round( ) redondeo entero más cercano.
sign( ) función signo.
exp( ) exponencial.
log( ) logaritmo neperiano.
log10( ) logaritmo decimal.
sin( ) seno.
cos( ) coseno.
tan( ) tangente.
asin( ) arcoseno.
acos( ) arcocoseno.
atan( ) arcotangente.
Función aplicada a un
escalar
Función aplicada a un vector
Función aplicada a una matriz
Función aplicada con
salida de dos argumentos
En Matlab, funciones pueden
considerar las matrices como una
matriz y no como una colección de
elementos
Operaciones elemento a elemento
Para que las operaciones de multiplicación, exponenciación
y división de arrays se realicen elemento a elemento, en
MATLAB hay que teclear un punto delante del operador
aritmético correspondiente.
simbolo descripción
.* Multiplicación
.^ Exponenciación
./ División derecha
.\ División izquierda
Ejemplos de operaciones elemento a elemento
>> A
A =
4 -2 6
2 8 2
6 10 3
>> B
B =
4 6 8
1 2 3
7 3 1
>> A.*B
ans =
16 -12 48
2 16 6
42 30 3
>> C=A./B
C =
1.0000 -0.3333 0.7500
2.0000 4.0000 0.6667
0.8571 3.3333 3.0000
>> D=A.\B
D =
1.0000 -3.0000 1.3333
0.5000 0.2500 1.5000
1.1667 0.3000 0.3333
>> E=A.^2
E =
16 4 36
4 64 4
36 100 9
Ejemplo: Cálculo del valor de una función
pasándole distintos valores de sus argumentos
>> x=[1:8]
x =
1 2 3 4 5 6 7 8
>> y=x.^2-4*x
y =
-3 -4 -3 0 5 12 21 32
Vector de ocho elementos
El vector x se utiliza en
operaciones elemento a
elemento para obtener el
vector y (resultado del cálculo
sobre elementos de x)
Ejemplo 2 Evaluar la función
Z3 + 5z
Y= ---------------
4z2 – 10
>> x=[1:8]
x =
1 2 3 4 5 6 7 8
>> y=(z.^3+5*z)./(4*z.^2-10)
y =
-1.0000 1.6154 1.6667 2.0323 2.4650 2.9241 3.3964 3.8764
Se crea un vector de ocho elementos
El vector z se utiliza en
operaciones elemento a elemento
para obtener el vector y (resultado
del cálculo sobre los elementos de
z)
Análisis de circuitos resistivos.
Solución de un sistema de ecuaciones lineales
El circuito eléctrico anexo está formado por
distintas resistencias y fuentes de alimentación.
Determine la intensidad de corriente que pasa
por cada resistencia utilizando las leyes de
Kirchhoff para la resolución de circuitos de
resistivos. Los datos del circuito son los
siguientes:
>> V1=20;V2=12;V3=40;
>> R1=18;R2=10;R3=16;R4=6;
>> R5=15;R6=6;R7=12;R8=14;
>> R6=8;
V1
R1
V3
V2
R2 R3
R4
R5R6
R7
R8
i1
i2
i3
i4
+
-
+
-
+
-
V=volt
R=ohm
i=ampere
V1
R1
V3
V2
R2 R3
R4
R5R6
R7
R8
i1
i2
i3
i4
+
-
+
-
+
-
Representación del sistema
de ecuaciones en forma
matricial
Análisis de circuitos resistivos
Solución
A =
-44 10 16 0
10 -43 6 12
16 6 -30 8
0 12 8 -34
>> B=[-V1;0;V2;-V3]
B =
-20
0
12
-40
>> I=A\B
I =
0.8411
0.7206
0.6127
1.5750
>> A=[-(R1+R2+R3) R2 R3 0
R2 -(R2+R4+R5+R7) R4 R7
R3 R4 -(R3+R4+R6) R6
0 R7 R6 -(R6+R7+R8)]
Ejercicio del día 1
Solución a los ejercicios
1. >> w=(3i-1)^5/(5+i)
w =
-61.2308 + 9.8462i
>>abs(w)
ans =
62.0174
>> angle(w)
ans =
2.9822
2) >> n=[1 10 100 500 1000 2000 4000 8000];
>> y=(1+1./n).^n
y =
Columns 1 through 6
2.0000 2.5937 2.7048 2.7156 2.7169 2.7176
Columns 7 through 8
2.7179 2.7181
>> exp(1)
ans =
2.7183
3) A=[2 6; 3 9]; B=[1 2; 3 4]; C=[-5 5; 5 3];
Pueden ir varios comandos en la misma línea, separados por, o bien por ;. Si utilizamos comas
MATLAB nos devuelve el resultado en pantalla.
Primero se inicializa una matriz de ceros.
>> G=zeros(6,6);
después se meten las tres matrices como submatrices de G
>> G(1:2,1:2)=A; G(3:4,3:4)=B; G(5:6,5:6)=C
G =
2 6 0 0 0 0
3 9 0 0 0 0
0 0 1 2 0 0
0 0 3 4 0 0
0 0 0 0 -5 5
0 0 0 0 5 3
Eliminar la última fila y la última columna: Como se quiere conservar la matriz G, primero le asignamos el mismo valor a una nueva variable F
En la que haremos los cambios.
>> F=G; y ahora hacemos la eliminación sobre F
>> F(6,:)=[]
F =
2 6 0 0 0 0
3 9 0 0 0 0
0 0 1 2 0 0
0 0 3 4 0 0
0 0 0 0 -5 5
>> F(:,6)=[]
F =
2 6 0 0 0
3 9 0 0 0
0 0 1 2 0
0 0 3 4 0
0 0 0 0 -5
Extraer la submatriz 4 x 4 de la esquina superior izquierda de
G:
>> H=G(1:4,1:4)
H =
2 6 0 0
3 9 0 0
0 0 1 2
0 0 3 4
Extraer la submatriz f1; 3; 6g £ f2; 5g de G:
Extraer la submatriz {1; 3; 6} x {2; 5} de G:
>> K=G([1 3 6],[2 5])
K =
6 0
0 0
0 5
Para cambiar el valor de un elemento basta con asignarle el nuevo: Como queremos conservar la matriz G, los cambios se van a realizar sobre la variable J
>> J=G;
J(5,5)=4
J =
2 6 0 0 0 0
3 9 0 0 0 0
0 0 1 2 0 0
0 0 3 4 0 0
0 0 0 0 4 5
0 0 0 0 5 3
Nota: La mayor parte de estos manejos (eliminación de filas, cambio de
valor de elementos, etc.) se pueden hacer desde la ventana del Works-
pace, editando la variable. Pero necesitamos saber hacerlo también con
comandos.
4) A=[2 -1 3; 1 4 1; 6 10 3]; b=[4;2;0];
inv(A)*b
ans =
-1.8049
0.2927
2.6341
>> A\b
ans =
-1.8049
0.2927
2.6341
La solución es x = -1.8049, y = 0.2927, z = 2.6341