DIA1 MATLAB

Post on 07-Jul-2016

263 views 0 download

description

curso de matlab dia 1

Transcript of DIA1 MATLAB

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