You are on page 1of 15

Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB.

Práctica 1 y 2. Cuestionario e Introducción a


Matlab.
Escuela Superior de Ingeniería Mecánica y Eléctrica.

 Command Window: es la ventana en la que se


Resumen— En esta práctica conoceremos la escriben las instrucciones que se quieren
importancia que tiene el programa Matlab para la ejecutar.
resolución de ecuaciones matemáticas para el análisis y
Current Directory / Workspace: la primera
solución de circuitos eléctricos y así lograr tener una
precisión en la obtención de los algoritmos finales para la
muestra el contenido de la carpeta de trabajo.
respuesta a problemas eléctricos. La dirección de la carpeta de trabajo se puede
cambiar mediante la barra desplegable que
aparece encima de las ventanas. La ventana
I. INTRODUCCIÓN TEÓRICA Workspace muestra información sobre las
variables y objetos definidos.
1.- ¿Defina lo que es Matlab? Command History: esta ventana muestra los
últimos comandos (instrucciones) ejecutados.
Es una de las sofisticadas herramientas de
computación disponibles en el comercio para
resolver problemas de matemáticas. Este es
superior en los cálculos que involucran matrices

2.- ¿Explique el uso de Matlab en la


industria?

La habilidad para usar herramientas tales como


Matlab se convirtió rápidamente un requisito
para muchos puestos de ingeniería.
Se utiliza mucho en ingeniería eléctrica para
aplicaciones de procesamiento de señales. Gráficos:
Esto tiene una aplicación potencial en el diseño MATLAB provee funciones para visualizar datos
de robots autónomos que usan la visión para en 2D y 3D.
navegar y en particular en aplicaciones para la La instrucción plot nos permite representar los
seguridad en automóviles. valores de un vector.
x = [0:0.01:1];
3.- Explique las partes constitutivas del >> plot(x)
programa MATLAB: Entorno de ventanas

Matlab consiste en un entorno de ventanas con


tres partes:

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 2

Produce el grafico anterior en la misma


ventana. La instrucción hold on permite hacer
Produce el grafico anterior. Se represen-tan los un hacer un gráfico sobre otro anterior sin borrar
valores de x frente al número de componentes este. Sin esta instrucción, el gráfico anterior
del vector. habría desaparecido. La instrucción hold off
Obsérvese que el punto y coma después de una produce el efecto contrario.
instrucción hace que no se muestre el resultado La instrucción figure crea una nueva ventana
de esta. gráfica en la que se representaran los gráficos
>> y = sin (2*pi*x); que se realicen a continuación.

>> plot (x,y, ’r:’) LENGUAJE PROPIO DE MATLAB


Ficheros .m
Podemos escribir las instrucciones que
queremos ejecutar en un fichero de Matlab con
extensión.m. De esta forma no tendremos que
repetir las instrucciones en la ventana de
comandos y podremos guardar el trabajo. En el
menú File podemos crear un nuevo archivo .m,
abriendo de esta forma el editor de archivos de
Matlab.

Produce una ventana con el grafico anterior. Se


representan los valores de y (sen (2πx, x ∈ [0,
1]) frente al vector x.
La opción ’r:’ produce una línea roja (r)
punteada (:). Otras opciones para la instrucción
plot aparecen ejecutando la ayuda (help plot).

>> z=cos(2*pi*x);
>> hold on
>> plot(x,z)

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 3

El código del archivo .m se ejecuta escribiendo


el nombre del archivo en la ventana de
comandos. Para que Matlab encuentre el
archivo, debemos situarnos en la carpeta en la
que está guardado dicho archivo (con la barra
de dirección que se encuentra sobre la ventana
de comandos).

5.- Uso De La Funciones:

FILE: Su utilización es para abrir o crear un


archivo .m así mismo se puede guardar.

Edit: su función es editar las opciones del


programa o archivo .m.

HELP: Utilización de la ayuda Una de las


principales ventajas de Matlab con respecto a
similares programas consiste en la gran
cantidad de información que el usuario puede
obtener del funcionamiento del programa y de
los comandos a través de la ayuda (Menú Help).
Las aplicaciones de MATLAB se desarrollan en
Para programar en Matlab es necesario saber
un lenguaje de programación propio. Este
manejarse en el entorno de trabajo y saber
lenguaje es interpretado, y puede ejecutarse
utilizar la ayuda. Cualquier duda sobre cómo
tanto en el entorno interactivo, como a través de utilizar una función o cual es el comando para
un archivo de script (archivos *.m). Este realizar una determinada operación puede
lenguaje permite operaciones de vectores y resolverse utilizando la ayuda. El menú Help
matrices, funciones, cálculo lambda, contiene, además de dos aplicaciones para
y programación orientada a objetos. introducir al usuario el entorno de trabajo (Help
→ Using the Desktop and Help → Using the
Command Window), una pestaña llamada
4.- Localizaciones De Ventanas Matlab Help. Matlab Help permite al usuario
buscar información de tres formas diferentes: 1.
La pestaña Contents permite ver un índice con
todas las aplicaciones y Toolboxes5 de Matlab.
2. La pestaña Index permite buscar, por orden
alfabético, en el índice de materias de Matlab,
información sobre palabras clave (comandos,
ordenes,...).

DEBUG: depurar programas Cometer errores a


la hora de escribir código es inevitable. Por ello,
Matlab, al igual que otros programas similares,

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 4

incluye una aplicación llamada “debugger” .^ Potenciación [2 3] .^ 2 =


destinada a ayudar al usuario a depurar sus término a [4 9]
códigos. El debugger se aplica sobre los término
programas escritos en Matlab, esto es, sobre
los M-files donde se ha escrito cualquier tipo de
código. En el caso de que exista un error en el Funciones elementales:
código, al ejecutar el M-file, Matlab detiene su
ejecución en el punto donde se encuentra el Funcione Utilización Ejemplo
error e imprime en la pantalla del command s
window el tipo de error y la línea del M-file
donde se encuentra, de forma que podemos ir exp(x) Exponencia exp(1)=2.7183
a dicha línea de código en el M-file y corregir el l de x
error
log(x) Logaritmo log(2.7183)=1.000
6.- Localice Los Diferentes Tipos De natural 0
Operadores Matemáticos, Funciones log10 Logaritmo log10(350)=2.5441
Elementales Y Trigonométricas. en base 10
Para obtener un número con los decimales sin(x) Seno de x sin(pi/6)=0.500
indicados en dígitos:
vpa (número, dígitos) cos(x) Coseno de cos(0)=1
Ejemplo: x
>> vpa (pi, 30)
tan(x) Tangente tan(pi/4)=1.000
Operadores elementales: de x
asin(x) Arco asin(1)=1.5708
Operador Utilización Ejemplo coseno de x
+ Adición 2+3=5 con imagen
en el rango
- Sustracción 2-3=-1 [0, A]
* Multiplicación 2*3=6 acos(x) Arco acos(1)=-6.1257e-
coseno de x 17
/ División 2/3=0.6667
con imagen
^ Potenciación 2^3=8 en el rango
[- AAA,
AAA]
Operadores Utilización Ejemplo atan(x) Arco atan(1)=0.7854
entre arrays tangente de
x con
.* Multiplicación [ 2 3] .* [ 2
imagen en
término a 4 ] = = [4
el rango [-
término 12]
AAA, AAA]
./ División [2 3] ./ [ 2 4 atan2(y,x) Arco atan2(0,-
término a ] = = [1
tangente de 1)=3.1416
término 0.7500]
y/x con

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 5

imagen en p pentagram h hexagram


el rango [-
A, A]
Ejemplo:
sinh(x) Seno sinh(3)=10.0179 n=1:10
hiperbólico a=2.^n;
de x plot (a,’bo’)
%Para ver más opciones teclea la orden:
cosh(x) Coseno cosh(3)=10.0677 help plot
hiperbólico Para manejar números complejos: i Es la
de x unidad imaginaria en Matlab
abs(s) Valor absoluto de los elementos de “s” o
tanh(x) Tangente tanh(3)=0.9951 módulo en el caso de ser complejos.
hiperbólica Ejemplo:
de x >> z=2+3i; w=5+7i;
>> abs(z) % Devuelve 3.6056
>> abs([z,w]) % Devuelve 3.6056 86023
Para representar vectores:
plot(x, y) dibuja un vector de abscisas “x” y angle(h) Retorno el ángulo de fase en radianes
ordenadas “y” plot (y) dibuja el vector “y” de cada elemento de la matriz h con elementos
considerado como abscisas su índice. Si “y” es complejos.
complejo es equivalente a dibujar plot (real (y), Ejemplo:
imag (y)). >> z=2+3i; w=5+7i;
plot(x, y, s) Realiza el gráfico con el estilo >> angle(z) % Devuelve 0.9828
indicado en “s”. Para ello “s” debe ser una >> angle([z,w]) % Devuelve 0.9828 0.9505
cadena de caracteres formada por uno o ningún
elemento de las tres columnas siguientes: real(z) Devuelve la parte real de z
Ejemplo:
y yellow . point - solid >> z=2+3i; w=5+7i;
>> real(z) % Devuelve 2
m magenta o circle : dotted
>> real([z,w]) % Devuelve 2 5
c cyan x x-mark -. dashdot
imag(z) Devuelve la parte imaginaria de z
r red + plus -- dashed Ejemplo: >> z=2+3i; w=5+7i;
>> imag(z) % Devuelve 3
g green * star
>> imag([z,w]) % Devuelve 3 7
b blue s square
conj(z) Devuelve el conjugado de z
w white d diamond Ejemplo:
>> z=2+3i; w=5+7i
k black v triangle >> conj(z) % Devuelve 2.0000-3.0000i
(down) >> conj([z,w])
^ triangle (up) % Devuelve 2.0000-3.0000i 5.000-7.000i
Para representar números complejos plot(z)
< triangle (left) Si z es un número complejo el comando plot
dibuja el punto de coordenadas
> triangle (real(z),imag(z)).
(right)

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 6

compass(z) Representa el número complejo a 1 lógico (verdadero), donde la relación es


como una flecha que tiene su origen en el punto verdadera y elementos establecidos a 0 lógico
(0,0). (falso), donde es no.
Ejemplo:
>> z=3+2*i;
>> figure(1);
>> plot(z);
>> figure(2);
>> compass(z);
>> % Esto es equivalente a:
>> compass(real(z),imag(z));
La siguiente tabla muestra los operadores
7.-Realice ejemplos con los operadores relacionales:
matriciales, aritméticos, relacionales,
lógicos.
Operador Descripción
Para introducir una matriz en Matlab se procede < Menos que
de la forma siguiente. Si por ejemplo tenemos
la matriz: <= Menor o igual a
> Mayor que
>= Mayor o igual a

Se introduce como: == Igual a


~= Diferente a

Ejemplo
Crear un archivo de comandos y escriba el
siguiente código -
a = 100;
b = 200;
if (a >= b)
max = a
else
max = b
Observemos que unas matrices especiales son end
los vectores, de esta forma, el vector fila v = Cuando se ejecuta el archivo, se produce
(1.0, 1.1, 1.2, 1.3,…, 1.9, 2.0), se escribe en siguiente resultado -
Matlab como max = 200
>>v = [1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8,
1.9, 2.0] MATLAB ofrece dos tipos de operadores y
Los operadores relacionales también pueden funciones lógicas -
trabajar en ambos datos no escalares y escalar.  En cuanto al elemento - estos
Los operadores relacionales para matrices operadores operan en los elementos de
realizan comparaciones elemento por elemento las matrices lógicas correspondientes.
entre dos matrices y devuelven una matriz
lógica del mismo tamaño, con elementos fijados

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 7

 Cortocircuito - estos operadores operan Matrix operaciones aritméticas son como se


en escalares, expresiones lógicas. han definido en el álgebra lineal. Las
operaciones de la matriz se ejecutan elemento
Operadores lógicos elemento a elemento por elemento, tanto en una matriz
operan elemento a elemento en matrices unidimensional y multidimensional.
lógicas. Los símbolos y, | y ~ son los operadores Los operadores de la matriz y los operadores de
lógicos de matriz AND, OR y NOT. matrices se diferencian por el punto (.) De
Operadores lógicos de cortocircuito permiten a símbolos. Sin embargo, como la operación de
los cortocircuitos en las operaciones lógicas. suma y resta es el mismo para matrices y
Los símbolos && y || son los operadores de matrices, el operador es el mismo para ambos
cortocircuito lógicos AND y OR. casos.
La siguiente tabla ofrece una breve descripción
de los operadores.
Ejemplo
Crear un archivo de comandos y escriba el
siguiente código - Operador Descripción
a = 5;
b = 20; + Además, más o unario. A + B
if ( a && b ) añade los valores almacenados
disp('Line 1 - Condition is true'); en las variables A y B. A y B
end deben tener el mismo tamaño, a
if ( a || b ) menos que uno es un escalar. A
disp('Line 2 - Condition is true'); escalar se puede añadir a una
end matriz de cualquier tamaño.
% lets change the value of a and b
a = 0; - La resta o menos unitario. AB
b = 10; resta el valor de B de A. A y B
if ( a && b ) deben tener el mismo tamaño, a
disp('Line 3 - Condition is true'); menos que uno es un escalar.
else Un escalar se puede restarse de
disp('Line 3 - Condition is not true'); una matriz de cualquier tamaño.
end
if (~(a && b)) * La multiplicación de matrices. C
= A * B es el producto algebraica
disp('Line 4 - Condition is true'); lineal de las matrices A y B. Más
end precisamente,

Cuando se ejecuta el archivo, se produce


siguiente resultado - Para no escalar A y B, el número
Line 1 - Condition is true de columnas de A debe ser igual
Line 2 - Condition is true al número de filas de B. A
Line 3 - Condition is not true escalar puede multiplicar una
Line 4 - Condition is true matriz de cualquier tamaño.

MATLAB permite dos tipos diferentes de .* La multiplicación de matriz. A. *


operaciones aritméticas - B es el producto de elemento por
 operaciones aritméticas con matrices elemento de los conjuntos A y B.
A y B debe tener el mismo
 operaciones aritméticas matriz

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 8

tamaño, a menos que uno de .^ Alimentación de la matriz. A. ^ B


ellos es un escalar. es la matriz con los elementos de
A (i, j) a la B (i, j) de potencia. A
/ Recortar o matriz división y B deben tener el mismo
derecha. B / A es tamaño, a menos que uno de
aproximadamente el mismo que ellos es un escalar.
B * inv (A). Más precisamente, B
/ A = (A '\ B') '. ' Transpuesta de la matriz. A 'es la
transpuesta algebraica lineal de
./ División de la derecha matriz. A. Para matrices complejas, esta
A./B es la matriz con los es la transpuesta conjugada
elementos de A (i, j) / B (i, j). A y compleja.
B deben tener el mismo tamaño,
a menos que uno de ellos es un .' Transpuesta matriz. UN.' es la
escalar. matriz traspuesta de A. Para
matrices complejas, esto no
\ Barra invertida o matriz dejaron implica la conjugación.
división. Si A es una matriz
cuadrada, A \ B es
aproximadamente el mismo que
inv (A) * B, excepto que se Ejemplo
calcula de una manera diferente. Los siguientes ejemplos muestran el uso de
Si A es una matriz de n por n y B operadores aritméticos en los datos escalares.
es un vector columna con n Crear un archivo de secuencia de comandos
componentes, o una matriz con con el siguiente código:
varias de estas columnas, a = 10;
entonces X = A \ B es la solución b = 20;
a la ecuación AX = B. Un c=a+b
mensaje de advertencia se d=a-b
muestra si Un mal es escalado o e=a*b
casi singular. f=a/b
g=a\b
.\ Hilera izquierda división. A. \ B x = 7;
es la matriz con elementos B (i, y = 3;
j) / A (i, j). A y B deben tener el z=x^y
mismo tamaño, a menos que
uno de ellos es un escalar. Cuando se ejecuta el archivo, se produce el
siguiente resultado -
^ Matriz de la energía. X ^ p es X c = 30
a la potencia p, si p es un d = -10
escalar. Si p es un número e = 200
entero, la potencia se calcula f = 0.50000
elevando al cuadrado repetido. g= 2
Si el número entero es negativo, z = 343
X se invierte primero. Para otros
valores de p, el cálculo implica 8.-Indique la creación de archivos-m de
valores y vectores propios, de función.
manera que si [V, D] = eig (X),
entonces X ^ p = V * D ^ p / V.

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 9

Ya se exploraron muchas de las funciones En este caso, el nombre de función es


internas de MATLAB, pero es posible que usted calculation, el argumento de entrada se llamará
quiera definir sus propias funciones, aquellas a en cualquier cálculo que realice el programa
que usted usa más comúnmente en su function y la salida se llamará result. Aunque se
programación. Las funciones definidas por el puede usar cualquier nombre MATLAB válido,
usuario se almacenan como archivos-m y es buena práctica de programación usar
MATLAB puede acceder a ellas si están nombres significativos para todas las variables
almacenadas en el directorio actual. y para nombres de función.

Tanto las funciones internas de MATLAB como Las funciones proporcionadas con MATLAB
las definidas por el usuario tienen la misma
estructura. Cada una consiste en un nombre,
una entrada proporcionada por el usuario y una
salida calculada. Por ejemplo, la función cos(x)
• Se llama cos,
• toma la entrada del usuario dentro de
paréntesis (en este caso, x), y
• calcula un resultado.
El usuario no necesita ver los cálculos
realizados, sino que sólo acepta la respuesta.
Las funciones definidas por el usuario funcionan
de la misma forma. Imagine que usted creó una
función llamada IDy-function. Al usar
my_function(x) en un programa o desde la son de dos tipos. Un tipo es interno y el código
ventana de comandos regresaría un resultado, no es accesible para que el usuario lo revise. El
en tanto x esté definida y funcione la lógica en otro tipo consiste en archivos-m, que se
la definición de función. almacenan en cajas de herramientas
Las funciones definidas por el usuario se crean proporcionadas con el programa. Estos
en archivos-m. Cada una debe comenzar con archivos-m (o los archivos-m que uno escribe)
una línea de definición de función que contenga se pueden ver con el comando type. Por
• La palabra function, ejemplo, la función sphere crea una
• una variable que defina la salida de función, representación tridimensional de una esfera;
• un nombre de función, y por tanto, type sphere o type ('sphere') regresa
• una variable que se use para el argumento de los contenidos del archivo sphere.m.
entrada.

Por ejemplo, function output =my_function(x) es


la primera línea de la función definida por el
usuario llamada my_function. Requiere un
argumento de entrada, que el programa llamará
x, y calculará un argumento de salida, que el 9.-Indique la creación de la caja de
programa llamará output. El nombre de función herramientas de funciones
y los nombres de las variables de entrada y
salida son arbitrarios y los selecciona el
programador. He aquí un ejemplo de una Cuando llama una función en MATLAB, el
primera línea adecuada para una función programa busca primero en el directorio actual
llamada ca1culation (cálculo): para ver si la función está definida. Si no puede
function result = calculation(a) encontrar la función ahí, comienza a recorrer
una ruta de búsqueda predefinida en busca de

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 10

un archivo con el nombre de la función. Para ver sin embargo, la función addpath le permite
la ruta que el programa sigue conforme busca insertar la lógica para agregar una ruta de
los archivos, seleccione File - Set Path de la
barra de menú o escriba pathtool.
Conforme cree más y más funciones para usar
en su programación, querrá modificar la ruta
para buscar en un directorio donde haya
almacenado sus propias herramientas
personales.
Por ejemplo, suponga que almacenó las
funciones grados a radianes y radianes a
grados creadas en un directorio llamado My búsqueda a cualquier programa MATLAB.
functions. Consulte help addpath si desea modificar la ruta
Puede agregar este directorio (carpeta) a la ruta de esta forma.
al seleccionar Add Folder de la lista de botones
de opción en la ventana de diálogo Set Path
(establecer ruta), como se muestra en la figura.
10.-Indique en que consiste la entrada
Se le solicitará proporcionar la ubicación de la
definida por el usuario y las opciones de
carpeta o navegar para encontrarla, como se
salida, dar ejemplos.
muestra en la figura siguiente.
Ahora MATLAB busca las definiciones de
[unción primero en el directorio actual y luego
Aunque se han escrito programas en archivos-
recorre la ruta de búsqueda modificada, como
m script, se supuso que el programador (usted)
se muestra en la figura posterior. Una vez que
y el usuario eran la misma persona. Para correr
agregue una carpeta a la ruta, el cambio se
el programa con diferentes valores de entrada,
aplica sólo a la sesión actual de MATLAB, a
en realidad se cambió parte del código. Se
menos que guarde sus cambios de manera
pueden recrear programas más generales al
permanente.
permitir al usuario ingresar valores de una
matriz desde el teclado mientras el programa
corre. La función input le permite hacer esto.
Despliega una cadena de texto en la ventana de
comando y luego espera que el usuario
proporcione la entrada solicitada. Por ejemplo:
z = input ('Ingrese un valor')
Despliega:
Ingrese un valor
En la ventana de comandos. Si el usuario
ingresa un valor como 5 el programa el valor 5
a la variable z. Sí el comando input no termina
con un punto y coma, el valor ingresado se
Debe hacer cambios permanentes a una despliega en la pantalla:
computadora pública. Sin embargo, si alguien z=5
más hizo cambios que desea revertir, puede
seleccionar el botón defauIt, como se muestra El mismo enfoque se puede usar para una
en la figura para regresar la ruta de búsqueda a matriz uni o bidimensional. El usuario debe
su configuración original.
proporcionar los paréntesis y delimitadores
adecuados (comas y puntos y coma). Por
La herramienta path le permite cambiar
ejemplo:
interactivamente la ruta de búsqueda MATLAB;

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 11

z = input (' Ingrese valores para z entre title ('Distancia recorrida en caída libre')
corchetes’) xlabel ('tiempo, s') ,ylabel ('distancia, m')
Pide al usuario que ingrese una matriz como %Encuentra la distancia máxima recorrida
[1, 2, 3; 4, 5, 6] final_distance = max(d)
Y responde con La interacción en la ventana de comandos es la
z =1 2 3 4 5 6 siguiente:
Este valor de entrada de Z se puede usar ¿Cuál es el valor de aceleración debida a
entonces en cálculos subsecuentes por el gravedad? 1.6
archivo -m script. g=
Los datos ingresados con input no necesitan ser 1.6000
información numérica. Suponga que se ¿Qué tiempo de inicio le gustaría? 0
comunica al usuario con el comando start =
x = input ('Ingrese su nombre en apóstrofes') 0
E ingrese ¿Qué tiempo final le gustaría? 100
‘Holly’ finish =
Cuando se le indique. Puesto que no se usó 100
punto y coma al final del comando input, ¿Qué incrementos de tiempo le gustaría
MATLAB responderá calcular? 10
x = Holly incr =
Si ingresa una cadena (en MATLAB, las 10
cadenas son arreglos carácter), debe encerrar final_distance
los caracteres en apóstrofes. Sin embargo, una 8000
forma alternativa del comando input alerta a la
función a esperar entrada carácter sin los 11.- Indique el uso del modelo celda en
apóstrofes, al especificar entrada cadena en el archivos-m de mat lectura y escritura de
segundo campo: datos desde archivos dar ejemplos
x = input (' Ingrese su nombre’, ' s')
Ahora sólo necesita ingresar los caracteres, MATLAB se ha usado de dos maneras: como
como una memoria de trabajo auxiliar (scratch pad)
Ralph en la ventana de comandos y para escribir
Y el programa responde con programas simples (archivos-m script y
X =Ralph funciones) en la ventana de edición.
Desarrolle una solución MATLAB. Se pueden recrear programas más generales al
%Example 7.1 permitir al usuario ingresar valores de una
%Free fall matriz desde el teclado mientras el programa
clear, clc corre. La función input le permite hacer esto.
%Solicite entrada del usuario Despliega una cadena de texto en la ventana de
g = input ('¿Cuál es el valor de aceleración comando y luego espera que el usuario
debida a gravedad?') proporcione la entrada solicitada.
start = input ('¿Qué tiempo de inicio le gustaría? Por ejemplo,
')
finish = input ('¿Qué tiempo final le gustaría? ')
incr = input ('¿Qué incrementos de tiempo le
gustaría calcular? ')
t = start:incr:finish;
%Calcula la distancia
d = 1/2*g*t . A2;
%Grafica los resultados
loglog(t,d)

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 12

El programa asigna el valor 5 a la variable z. Si


el comando input no termina con un punto y
coma, el valor ingresado se despliega en la
pantalla:
z=5
El mismo enfoque se puede usar para ingresar
una matriz uni o bidimensional. El usuario debe
proporcionar los paréntesis y delimitadores
adecuados (comas y puntos y coma). 12.-Realice ejemplos de matrices de tal
Por ejemplo, manera que se puedan resolver al usar los
operadores correspondientes.

Se pueden añadir o restar matrices. Tanto las


matrices operando debe tener el mismo número
de filas y columnas.
Ejemplo
Crear un archivo de secuencia de comandos
con el siguiente código -
Este valor de entrada de z se puede usar a = [1 2 3; 4 5 6; 7 8 9];
entonces en cálculos subsecuentes por el b = [7 5 6; 2 0 8; 5 7 1];
archivo -m script. Los datos ingresados con c=a+b
input no necesitan ser información numérica. d=a-b
Suponga que se conmina al usuario con el Cuando se ejecuta el archivo, se muestra el
comando siguiente resultado -
c=
8 7 9
6 5 14
12 15 10
d=
-6 -3 -3
2 5 -2
2 1 8

Se puede dividir dos matrices usando los


Si ingresa una cadena (en MATLAB, las operadores de división izquierda (\) o derecha
cadenas son arreglos carácter), debe encerrar (/). Tanto las matrices operando debe tener el
los caracteres en apóstrofes. Sin embargo, una mismo número de filas y columnas.
forma alternativa del comando input alerta a la Ejemplo
función a esperar entrada carácter sin los Crear un archivo de secuencia de comandos
apóstrofes, al especificar entrada cadena en el con el siguiente código -
segundo campo: a = [1 2 3; 4 5 6; 7 8 9];
b = [7 5 6; 2 0 8; 5 7 1];
c=a/b
d=a\b
Cuando se ejecuta el archivo, se muestra el
siguiente resultado -
c=
-0.52542 0.68644 0.66102

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 13

-0.42373 0.94068 1.01695 Ejemplo


-0.32203 1.19492 1.37288 Crear un archivo de secuencia de comandos
d= con el siguiente código -
-3.27778 -1.05556 -4.86111 a = [10 12 23; 14 8 6; 27 8 9]
-0.11111 0.11111 -0.27778 b = a'
3.05556 1.27778 4.30556 Cuando se ejecuta el archivo, se muestra el
siguiente resultado -
Al agregar, restar, multiplicar o dividir una matriz a=
por un número, esto se llama la operación 10 12 23
escalar. 14 8 6
Operaciones escalares producen una nueva 27 8 9
matriz con mismo número de filas y columnas b=
con cada elemento de la matriz original añadido 10 14 27
a, restarse de, multiplicado por o dividido por el 12 8 8
número. 23 6 9

Puede concatenar dos matrices para crear una


Ejemplo matriz más grande. El par de corchetes '[]' es el
Crear un archivo de secuencia de comandos operador de concatenación.
con el siguiente código - MATLAB permite dos tipos de concatenaciones
a = [10 12 23; 14 8 6; 27 8 9]; -
b = 2;  concatenación horizontal
c=a+b
d=a-b  concatenación vertical
e=a*b Al concatenar dos matrices mediante la
f=a/b separación de los que utilizan comas, no son
Cuando se ejecuta el archivo, se muestra el más que anexan horizontalmente. Se llama
siguiente resultado - concatenación horizontal.
c= Como alternativa, si concatenar dos matrices
12 14 25 mediante la separación de los que utilizan punto
16 10 8 y coma, que se anexan verticalmente. Se llama
29 10 11 concatenación vertical.
d= Ejemplo
8 10 21 Crear un archivo de secuencia de comandos
12 6 4 con el siguiente código -
25 6 7 a = [10 12 23; 14 8 6; 27 8 9]
e= b = [12 31 45; 8 0 -9; 45 2 11]
20 24 46 c = [a, b]
28 16 12 d = [a; b]
54 16 18
f= Cuando se ejecuta el archivo, se muestra el
5.0000 6.0000 11.5000 siguiente resultado -
7.0000 4.0000 3.0000 a=
13.5000 4.0000 4.5000 10 12 23
14 8 6
La operación de transposición cambia las filas y 27 8 9
columnas en una matriz. Está representada por b=
una comilla simple ( '). 12 31 45
8 0 -9

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 14

45 2 11 22 16 -6
c=
10 12 23 12 31 45 Determinante de una matriz se calcula
14 8 6 8 0 -9 utilizando la función det de
27 8 9 45 2 11 MATLAB. Determinante de una matriz A viene
d= dada por det (A).
10 12 23 Ejemplo
14 8 6 Crear un archivo de secuencia de comandos
27 8 9 con el siguiente código -
12 31 45 a = [1 2 3; 2 3 4; 1 2 5]
8 0 -9 det(a)
45 2 11 Cuando se ejecuta el archivo, se muestra el
siguiente resultado
Consideremos dos matrices A y B. Si A es una
matriz mxn y B es una matriz de NXP, que
podría multiplicarse juntos para producir una
matriz de mxn C. Matriz de multiplicación es a=
posible sólo si el número de columnas n en A es 1 2 3
igual al número n de filas en B. 2 3 4
En la multiplicación de matrices, los elementos 1 2 5
de las filas de la primera matriz se multiplican ans = -2
con columnas correspondientes en la segunda
matriz. La inversa de una matriz A se denota por A -1 de
Cada elemento de la (i, j) -ésimo posición, en la manera que la siguiente relación se mantiene -
matriz C resultante, es la suma de los productos AA −1 = A −1 A = 1
de elementos en i TH fila de primera matriz con No siempre existe la inversa de una matriz. Si
el elemento correspondiente en la j- el determinante de la matriz es cero, entonces
ésima columna de la segunda matriz. el inverso no existe y la matriz es singular.
La multiplicación de matrices en MATLAB se Inversa de una matriz en MATLAB se calcula
lleva a cabo usando el operador *. usando la función inv. Inversa de una matriz A
Ejemplo viene dada por inv (A).
Crear un archivo de secuencia de comandos Ejemplo
con el siguiente código - Crear un archivo de comandos y escriba el
a = [1 2 3; 2 3 4; 1 2 5] siguiente código -
b = [2 1 3; 5 0 -2; 2 3 -1] a = [ 1 2 3; 2 3 4; 1 2 5]
prod = a * b inv(a)
Cuando se ejecuta el archivo, se muestra el Cuando se ejecuta el archivo, se muestra el
siguiente resultado - siguiente resultado -
a= a=
1 2 3 1 2 3
2 3 4 2 3 4
1 2 5 1 2 5
b= ans =
2 1 3 -3.5000 2.0000 0.5000
5 0 -2 3.0000 -1.0000 -1.0000
2 3 -1 -0.5000 0 0.5000
prod =
18 10 -4 13.- Relacione el punto 6 con un SEP
27 14 -4

Computación Aplicada a Sistemas Eléctricos de Potencia.


Escuela Superior de Ingeniería Mecánica y Eléctrica. Práctica 2 Introducción a MATLAB. 15

El bloque “MATLAB Function”, contiene el


nombre del fichero M, que contiene el siguiente
programa:

%Fichero M
%Análisis de estabilidad transitoria para un
generador conectado a una barra infinita
function [Pe] = ejm(x)
tf = 0.095; %tiempo de libramiento de falla
if x (1) < tf
K = 0;
end
if x (1) > = tf
K = 1.1024;
end
Pe = K*sin (x (2));
%El sistema se torna inestable en 0.096 s, con
simulink

II. REFERENCIAS

[1] Matlab para ingenieros Holly Moore,


editorial Pearson Prentice Hall paginas 1-9.

[2]Matlab,
https://www.math.utah.edu/lab/ms/matlab/matl
ab.html

Computación Aplicada a Sistemas Eléctricos de Potencia.

You might also like