Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Resumenes Matlab

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 33

UNIVERSIDAD UTE

4-A Ingeniería Industrial y de Procesos


COMPUTACIÓN APLICADA
Nombres:
 Henry Asnalema

CAPITULO 2 AMBIENTE MATLAB


OBJETIVOS:
 Iniciar el programa MATLAB y resolver problemas simples en una ventana
de comando.
 Comprender el uso de matrices que hace MATLAB.
 Identificar y usar las diversas ventanas de MATLAB.
 Nombrar y usar variables.
 Entender el orden de operaciones de MATLAB.
2.1 INICIO
Dentro de este trabajo se introducirá al ambiente de MATLAB y se mostrara
como efectuar cálculos matemáticos básicos.

Figura 1 Ventana de apertura de MATLAB.


UNIVERSIDAD UTE

2.2 VENTANAS DE MATLAB


El programa Matlab usa varias ventanas de despliegue. La vista por defecto,
que se presenta en la figura 1
2.2.1 Ventana de comandos (command window)
La vista de la ventana de comandos se localiza en el lado derecho por defecto
de la pantalla de MATLAB, como se muestra en la figura 1.
La ventana de comandos ofrece un ambiente similar a una memoria de trabajo
auxiliar.
2.2.2 Historia de comandos (command history)
La ventana de historia de comandos registra los comandos que se escriben en
la ventana de comandos.
Cuando sale de MATLAB, o cuando escribe el comando clc, la ventana de
comandos se limpia (clear).
2.2.3 Ventana del área de trabajo (workspace)
La ventana workspace (área de trabajo) lista la información que describe todas
las variables que crea el programa.
Si ha hecho los ejemplos, la ventana del área de trabajo debe mostrar sólo una
variable, ans, y decir que tiene un valor de 25 y que es un arreglo doble:
Name Value Class
Ans 25 double array

Observe que la variable A se agregó a la ventana del área de trabajo, que lista
las variables en orden alfabético. Las variables que comienzan con letras
mayúsculas se listan en primer lugar, seguidas por las variables que comienzan
con letras minúsculas.
Name Value Size Bytes Class
A 5 1X1 8 double array
ans 25 1X1 8 double array

Usted puede ingresar una matriz unidimensional sencilla al escribir.


B= [1, 2, 3, 4]
Las comas son opcionales se; obtendrá el mismo resultado con
B= [1 2 3 4]
UNIVERSIDAD UTE

La acción del comando clear se refleja en la ventana del área de trabajo.


Inténtelo al escribir en la ventana de comandos. La ventana del área de trabajo
ahora está vacía:
Name Value Size Bytes Class

2.2.4 Ventana de directorio actual


Lista todos los archivos en una carpeta llamada directorio actual. Cuando
MATLAB ingresa a archivos o guarda información, usa el directorio actual.
2.2.5 Ventana de documento (document window)
Por ejemplo, si todavía no ingresa la matriz bidimensional C, ingrese el siguiente
comando en la ventana de comandos:
C= [1 2 3 4; 10 20 30 40; 5 10 15 20]

FIGURA 2 La ventana directorio actual lista todos los archivos en el directorio actual

2.2.6 Ventana gráficas (graphics window)


Se lanza automáticamente. Primero cree un arreglo de valores x:
X= [1 2 3 4 5]
Ahorra se cree una lista de valores y
Y= [10 20 30 40 50]
Para crear la gráfica, use el comando plot
UNIVERSIDAD UTE

2.2.7 Ventana de edición (edit window)

Esta ventana le permite escribir y guardar una serie de comandos sin ejecutarlos.
También puede abrir la ventana de edición al escribir edit en el prompt.
2.2.8 Botón de inicio
Ofrece un acceso alternativo a las diversas ventanas de MATLAB, así como a la
función de ayuda, productos de Internet y cajas de herramientas de MATLAB.
2.3 RESOLUCIÓN DE PROBLEMAS CON MATLAB
2.3.1 Uso de variables
 Todos los nombres deben comenzar con una letra. Los nombres pueden
tener cualquier longitud, pero en MATLAB 7 sólo se usan los primeros 63
caracteres.
 Los únicos caracteres permisibles son letras, números y el guion bajo.
Con el comando isvarname puede verificar si se permite el nombre de la
variable.
 Los nombres son sensibles a mayúsculas/minúsculas.
2.3.2 Matrices en MATLAB
Un solo valor, llamado escalar, se representa como una matriz 1 X 1. Una lista
de valores, ordenados o en una columna o en una fila, es una matriz
unidimensional que se llama vector. Se puede observar en la figura 3.
UNIVERSIDAD UTE
FIGURA 3 Se muestra la forma de la matriz

Operaciones escalares
MATLAB maneja operaciones aritméticas entre dos escalares en forma muy
parecida a como lo hacen otros programas de cómputo e incluso su calculadora.
Tabla 2.1 Operaciones entre dos escalares (operaciones binarias)

Operación Sintaxis algebraica Sintaxis MATLAB


Suma a+b a+b
Restaa–b a–b
Multiplicaciónaxb a*b
División𝑎 a/b
𝑜𝑎÷𝑏
𝑏
Exponenciación 𝑎𝑏 a^2

Orden de las Operaciones


 Primero realiza los cálculos adentro de paréntesis, desde el conjunto más
interno hasta el más externo.
 A continuación, realiza operaciones de exponenciación.
 Luego realiza operaciones de multiplicación y división de izquierda a
derecha.
 Finalmente, realiza operaciones de suma y resta de izquierda a derecha.
2.4 COMO GUARDAR EL TRABAJO
Es posible guardar los valores de las variables que definió en la ventana de
comando y que se enlisten en la ventana del área de trabajo.
2.4.1 Cómo guardar variables
Para guardar el área de trabajo (recuerde, éstas son sólo las variables, no la lista
de comandos en la ventana de comandos) a un archivo, escriba.
𝒔𝒂𝒗𝒆 < 𝒇𝒊𝒍𝒆_𝒏𝒂𝒎𝒆 >
También podría elegir de la barra de menú, que luego lo conminará a ingresar
un nombre de archivo para sus datos.
𝑭𝒊𝒍𝒆 → 𝑺𝒂𝒗𝒆 𝑾𝒐𝒓𝒌𝒔𝒑𝒂𝒄𝒆 𝑨𝒔
Para restaurar el área de trabajo escriba
𝒍𝒐𝒂𝒅 < 𝒇𝒊𝒍𝒆_𝒏𝒂𝒎𝒆 >
MATLAB también puede almacenar matrices individuales o listas de matrices en
el directorio actual con el comando.
𝒔𝒂𝒗𝒆 < 𝒇𝒊𝒍𝒆_𝒏𝒂𝒎𝒆 > < 𝒗𝒂𝒓𝒊𝒂𝒃𝒍𝒆_𝒍𝒊𝒔𝒕 >
UNIVERSIDAD UTE

Ejemplo#1
start=input('inicio de temperatura')
finish=input('final de temperatura')
incr=input('intervalo de temperaturas')
t=start:incr;finish;
g=input('valor en temperatura Fahrenheit')

2.4.2 Archivos-m script


Como programador, puede crear y guardar código en archivos llamados
archivos- m. Un archivo-m es un archivo de texto ASCII similar a los archivos de
código fuente de C o FORTRAN.
Tabla 2.3 enfoques para la ejecutar un archivo-m script desde la ventana de comandos

Comando MATLAB Comentarios


Myscript Escriba el nombre de archivo. Se supone la extensión de
archivo .m
run myscript Use el comando run con el nombre del archivo
run (‘myscript) Use la forma funcional del comando run

CAPITULO 4
4.1 MANIPULCIÓN DE MATICES MATLAB
Objetivos
 Manipular matrices
 Extraer datos de matrices
 Resolver problemas con dos variables
4.1.1 Definición de matrices
Se puede definir al escribir una lista de números encerrada entre corchetes. Los
números se pueden separar mediante espacios o comas, a discreción del
usuario. Por ejemplo
A= [3.5]
B= [1.5, 3.1]; o B= [1.5 3.1]
C= [-1, 0, 0; 1, 1, 0; 0, 0, 2];

4.1.2 Uso del operador dos puntos


UNIVERSIDAD UTE
Define nuevas matrices y modificar las existentes. Primero, puede definir una
matriz igualmente espaciada con el operador dos puntos. Por ejemplo,
H = 1:8
Regresa
H= 1 2 3 4 5 6 7 8
El operador dos puntos también se puede usar para extraer datos de las
matrices, una característica que es muy útil en análisis de datos.
4.2 PROBLEMAS CON DOS VARIABLES
Considera cómo realizar los mismos cálculos cuando las variables se
representan mediante vectores.
Considere los siguientes enunciados MATLAB:
X=3;
Y=5;
A=X * Y

Dado que x y y son escalares, es un cálculo sencillo x . y=15, o


>> Untitled4

A =

15

Ahora vea lo que ocurre si x es una matriz y y todavía es un escalar:


X= 1:5;

Regresa cinco valores de x. Dado que y todavía es un escalar con sólo un valor
(5)
A=x * y

Regresa
A=

5 10 15 20 25

Cuando se formulan problemas con dos variables, las dimensiones de la matriz


deben concordar.
4.3 MATRICES ESPECIALES
4.3.1 Matriz de ceros
Cuando se usa la función zeros con un solo argumento escalar de entrada, se
genera una matriz cuadrada:
UNIVERSIDAD UTE
A=zeros (3)

A=
0 0 0
0 0 0
0 0 0

Tabla 4.3 Funciones para crear y manipular matrices

Crea una matriz m x m de ceros


A=zeros (3)

zeros(m) ans=
0 0 0
0 0 0
0 0 0

zeros(m,n) Crea una matriz m x n de ceros A=zeros (2,3)


ans=
0 0 0
0 0 0

ones(m) Crear una matriz m x m de unos A=zeros (3)


ans=
1 1 1
1 1 1
1 1 1

ones(m,n) Crear una matriz m x n de unos A=ones(2,3)


ans=
1 2 1
1 1 1

diag(A) Extrae la diagonal de una A=[1 2 3 ;3 4 5; 1 2


matriz bidimensional 3]
diag(A)=
1
4
3

Para cualquier vector A ,crea A=[1 2 3]


una matriz cuadrada con A como diag(A)=
la diagonal .verifique la 1 0 0
función help para otras formas 0 2 0
en que se puede usar la 0 0 3
función diag

Fliplr Voltea una matriz en su imagen A=[1 0 0;0 2 0; 0 0


especular de derecha a 3]
izquierda fliplr(A)
ans=
0 0 1
0 2 0
3 0 0
UNIVERSIDAD UTE
Flipud Voltea un matriz verticalmente flipud(A)
ans=
0 0 3
0 2 0
1 0 0
Magic(m) Crea una matriz “mágica” magic(3)
ans=
8 1 6
3 5 7
4 9 2

CAPITULO 5

GRAFICAS

Estas tablas de datos muy grandes son difíciles de interpretar.


Las gráficas ayudan a fácil identificar tendencias, elegir altos y bajos y aislar
puntos de datos que pueden ser mediciones o cálculos de errores.

Graficas bidimensionales

 La gráfica más útil es la gráfica x-y.


 Se usa para identificar puntos sobre una gráfica bidimensional; luego los
puntos se conectan con líneas rectas.
 Los valores de x y y se pueden medir o calcular.

Funciona de graficación básicas

plot
Crea una gráfica x-y
Ejemplo:
 plot(x,y)
Pause
Detiene la ejecución del programa lo que permite al usuario ver la gráfica.
Ejemplo:
 pause
figure
Determina cual figura se usara para la gráfica actual, es decir permita crear una
nueva figura.
Ejemplo:
 figure(2)
UNIVERSIDAD UTE

plot(x,y)
Genera una gráfica lineal de los vectores x y y.
Subplot
Le permite subdividir la ventana de graficación en una retícula de m filas y n
columnas.
El comando subplot permite al usuario crear gráficas múltiples en la misma
ventana de figura.
Ejemplo.
 subplot (m,n,p)

Otro tipo de graficas

polar
Proporciona capacidades de graficacion con coordenadas polares.
Ejemplo
 polar(theta,r)
UNIVERSIDAD UTE

Graficas tridimensionales

plot3(x,y,z)
Crea una gráfica lineal tridimensional

Edición de graficas

Además de controlar la forma en que se ven sus gráficas con los comandos
MATLAB, puede editar una gráfica una vez que la creó.

Para editar esta gráfica, primero se ajusta la forma:


1. Seleccione Edit Axis Properties en el menú toolbar.
2. Desde la ventana Property Editor-Axis, seleccione Inspector Data
Aspect Ratio Mode.
UNIVERSIDAD UTE
3. Establezca el modo a manual.

Como guardar las graficas


Existen muchas maneras de guardar las gráficas en MATLAB:

- Si creó la gráfica con código de programación almacenado en un archivo-m,


simplemente volver a correr el código recreará la figura.

-Se le presentarán varias opciones:

1. Puede guardar la figura como un archivo .fig, que es un formato de


archivo específico de MATLAB.
2. Puede guardar la figura en diferentes formatos gráficos estándar, como
jpeg (.jpg) y metarchivo mejorado (.emf).
3. Puede dar clic derecho en la figura, luego seleccionar copy y pegarlo
en otro documento.
UNIVERSIDAD UTE

CAPITULO 7
Entrada y salida controladas por el usuario
7.1 ENTRADA DEFINIDA POR EL USUARIO
Aunque se han escrito programas en archivos-m script, se supuso que el
programador y el usuario eran la misma persona. Para correr el programa con
diferentes valores de entrada, en realidad se cambió parte del código.
z=input('ngrese el valor')
%despliega
ingrese el valor
en la ventana de comandos, Si el usuario ingresa un valor
como 5

7.2.2 SALIDA FORMATEADA


La función fprintf (función impresión formateada) le da incluso mayor control
sobre la salida de la que tiene con la función disp.
Además de desplegar valores tanto texto como matriz, puede especificar el
formato a usar al desplegar los valores, y puede especificar cuándo saltar a una
nueva línea.

Tipo de campo Resultado


%f Notación punto fija o decimal
%e Notación exponencial
%g La que sea más corta %f o %e
%c Información carácter
%s Cadena de caracteres

Sugerencia
La diagonal inversa (\) y la diagonal normal (/)
son caracteres diferentes. Es un error común
confundirlas, ¡y luego el comando linefeed no
funciona! En vez de ello, la salida en la
ventana de comandos será

Comando de formato Acción resultante


\n Salto de línea (linefeed)
\r Regresa de cara (similar a linefeed)
\t Tablatura
\b retroceder un espacio (backspace)

Tabla comandos especiales


UNIVERSIDAD UTE

Puede controlar aún más cómo se despliegan las variables al usar los optativos
 width
 field y
 precision field
con el comando format.
El width field controla el número mínimo de caracteres a imprimir. Debe ser un
entero decimal positivo. El precision field está precedido por un punto (.) y
especifica el número de lugares decimales después del punto decimal para tipos
exponencial y punto fijo.
Ejemplo 1
%calcular el área de un triangulo rectángulo
%los datos debern ser ingresados por teclado
%el resultado tiene que mostrar "el área del triángulo es"
clc;
clear;
disp('cálculo de área para un triángulo')
base=input('ingrese la base del triángulo')
h=input('ingrese la altura')
area=base*h/2;
fprintf('el área del triángulo es: %%1.2f',area)

Ejemplo 2
%(a)Genere una tabla de conversiones de Fahrenheit a Kelvin
para valores desde 0 °F hasta 200 °F.
%Permita que el usuario ingrese los incrementos en grados
F entre líneas.
%Use disp y fprintf para crear una tabla con un título,
encabezados de columna y espaciamiento adecuado.
clc
clear
disp('conversiones de Fahrenheit a Kelvin')
disp('tabla de conversiones')

start=input('inicio de temperatura')
finish=input('final de temperatura')
incr=input('intervalo de temperaturas')
t=start:incr;finish;
g=input('valor en temperatura Fahrenheit')
%calculo de Fahrenheit a Kelvin
Kelvin=(5/9)*(t-32)+273.15
%crea la tabla con los datos de salida
table=[t,Kelvin];
%envia la salida a ventada de comandos
fprintf('calculos de Fahrenheit a Kelvin %5.1f \n se
calcularon los siguientes datos\n',g)
disp('tabla de conversion')
disp('Fahrenheit, Kelvin')
fprintf('%8.0f %10.2f\n',table)
UNIVERSIDAD UTE
Sugerencia

Uno de los errores más comunes cometido por los nuevos programadores es olvidar incluir la f
en la secuencia del marcador de posición. La función fprintf no funciona, pero tampoco se envía
mensaje de error. Si quiere incluir un signo de porcentaje en un enunciado fprintf, necesita
ingresar % dos veces. Si no lo hace, MATLAB interpretará % como un marcador de posición para
datos.

7.3 ENTRADA GRÁFICA MATLAB


Ofrece una técnica para ingresar gráficamente pares ordenados de valores x y y
El comando ginput permite al usuario seleccionar puntos desde una ventana de
figura y convierte los puntos en las coordenadas apropiadas x y y. En el
enunciado

7.4 USO DEL MODO CELDA EN ARCHIVOS-M DE MATLAB


MATLAB 7
Tiene una utilidad nueva que permite al usuario dividir los archivos-m en
secciones, o celdas (cell), que se pueden ejecutar una a la vez. Esta
característica es particularmente útil conforme usted desarrolla programas
MATLAB.

7.5 LECTURA Y ESCRITURA DE DATOS DESDE ARCHIVOS


Los datos se almacenan en muchos formatos diferentes, dependiendo de los
dispositivos y programas que crean los datos y de la aplicación.
Por ejemplo, el sonido se puede almacenar en un archivo .wav, y una imagen se
puede almacenar en un archivo .jpg.
UNIVERSIDAD UTE

7.5.1 Importación de datos Importa Wizard (asistente de importación).


Si usted selecciona un archivo de datos del directorio actual y hace doble clic en
el nombre del archivo, se lanza el Import Wizard (asistente de importación).

CAPITULO 8

Funciones lógicas y estructuras de control

Una forma de pensar los programas de cómputo es considerar cómo se


organizan los enunciados que componen el programa.
Por lo general, las secciones del código de los programas de cómputo se pueden
categorizar en una de tres estructuras:
 secuencias,
 estructuras de selección y
 estructuras de repetición.

8.1. OPERADORES RELACIONALES Y LÓGICOS


Las estructuras de selección y repetición que se usan en MATLAB dependen
de operadores relacionales y lógicos, las comparaciones son verdaderas o
falsas, y la mayoría de los programas usa el número 1 para verdadero y el 0
para falso.

x=[1, 2, 3, 4, 5];
y=[-2, 0, 2, 4, 6];
x>y

>> Untitled4

ans =

1×5 logical array

1 1 1 0 0
UNIVERSIDAD UTE

8.1.1. Operadores relacionales

Operador relacional Interprestación


< Menor que
<= Menor que iguala a
> Mayor que
>= Mayor que o igual a
== Igual a
~= No igual a

Tablas de operadores lógicas

Operador lógica Interpretación


& and
~ Not
| Or
Xor or exclusiva

8.2 DIAGRAMAS DE FLUJO Y SEUDOCÓDIGO

Es importante planear su programa antes de que comience a codificar.


Dos enfoques comunes son: usar diagramas de flujo o usar seudocódigo. Los
diagramas de flujo son un enfoque gráfico para crear su plan de codificación, y
el seudocódigo es una descripción verbal de su plan.

He aquí una forma de resaltar los pasos que puede seguir:

 Definir un vector de valores mph.


 Convertir mph a pies/s.
 Combinar los vectores mph y pies/s en una matriz.
 Crear un título de tabla.
 Crear encabezados de columna.
 Desplegar la tabla.

Una vez que defina los pasos, póngalos en un archivo-m MATLAB como
comentarios:

%definir un vector de valores mph


%covertir mph a pies/s
%combinar los vectores mph y pies/s en una matriz
%crear un titulo de tabla
%crear encabezados de calumna
%desplegar la tabla
UNIVERSIDAD UTE
Ahora puede insertar el código MATLAB apropiado en el archivo-m

%definir un vector de valores mph


mph=0:10:100
%covertir mph a pies/s
fps=mph*5280/3600;
%combinar los vectores mph y pies/s en una matriz
table=[mph;fps]
%crear un titulo de tabla
disp('tabla de conversion de velocidad')
%crear encabezados de calumna
disp(' mph f/s')
%desplegar la tabla
fprintf ('%8.0f %8.2\n' , table)

Puede crear un “gran cuadro” de su programa gráficamente y luego convertir su


proyecto a seudocódigo adecuado para ingresar en el programa como
comentarios

>> Untitled4

mph =

Columns 1 through 10

0 10 20 30 40 50 60 70 80 90

Column 11

100

table =

Columns 1 through 6

0 10.0000 20.0000 30.0000 40.0000 50.0000


0 14.6667 29.3333 44.0000 58.6667 73.3333

Columns 7 through 11

60.0000 70.0000 80.0000 90.0000 100.0000


88.0000 102.6667 117.3333 132.0000 146.6667

tabla de conversion de velocidad


mph f/s
0 >>

8.3 FUNCIONES LÓGICAS

8.3.1 Find

El comando find busca una matriz e identifica cuáles elementos en dicha matriz
satisfacen un criterio dado.

Ejemplo.-
UNIVERSIDAD UTE

%La Academia Naval de Estados Unidos requiere solicitantes que tengan al


menos 5’6’’ (66’’) de alto. Considere esta lista de alturas de solicitantes:

height=[63,67,65,72,69,78,75]
find:
accept=find(height>=66)

Puede encontrar los números índice de los elementos que satisfacen el


criterio al usar el comando find:

>> Untitled4

height =

63 67 65 72 69 78 75

Ejemplo.-

% podria usar el comando disp y fprintf para crear un reporte mas


legible:
disp('los siguientes candidatos satisfacen el requisito de estatura'):
fprintf('candidato # %4.0f pulgadas de alto
\n',[accept;height(accept)])
%Estos comandos regresan la siguiente tabla en la ventana de comandos:
%los siguientes candidatos satisfacen el requisito de estatura
%candidato# 2 mide 67 pulgadas de alto
%candidato# 4 mide 72 pulgadas de alto
%candidato# 5 mide 69 pulgadas de alto
%candidato# 6 mide 78 pulgadas de alto
%candidato# 7 mide 75 pulgadas de alto
%oviamente, tambien podría crear una tabla de quienes no satisfacen el
%requisito:

disp('los siguientes candidatos no satisfacen el requisito de


estatura')
fprintf('candidato # %4.0f mide %4.0f pulgadas de alto\n',
[decline:height(decline)])
candidato# 1 mide 63 pulgadas de alto
candidato# 1 mide 63 pulgadas de alto

Puede crear criterios de búsqueda bastante complicados que usen los


operadores lógicos. Por ejemplo, suponga que los solicitantes deben tener al
menos 18 años de edad y menos de 35.
Entonces sus datos se pueden ver como esto:
UNIVERSIDAD UTE
Ahora defina la matriz y encuentre los números indice de los elementos en la
columna 1 que sean mayores que 66. Entonces se enceuntran cuáles de
dichos en la columna 2 son tambien mayores que o iguales a 18 y menores que
iguales a 35.
Se usan los comandos:

aplicants=[63, 18; 67, 19; 65, 18; 72, 20; 69, 36; 78,34; 75, 12]
pass=find(applicants(:.1)>66 & applicants(:,2)>=18 &
applicants(:.2)<35)

8.3.2 Diagrama de flujo y seudocódigo para comandos find.


Si usa find muchas veces para separar una matriz en categorías, puede elegir
emplear una forma diamante, que indica el uso de find como una estructura de
selección.

Código:

%defina un vector de valores x


x=[1,2,3; 10,5,1; 12,3,2;8,3,1]
%encuentre los numeros indice de los valores en x>9
element=find(x>9)
%use los numeros indice para encontrar los valores x
%mayores que 9 al ponerlos en x
values=x(element)
% cree una tabla de salida
disp('elementos mayores que 9')
disp('elemento # valor')
fprintf('%8.0f %3.0\n' , [element';values'])

Regresa:
>> Untitled4

x =

1 2 3
10 5 1
12 3 2
8 3 1

element =

2
3
UNIVERSIDAD UTE

values =

10
12

elementos mayores que 9


elemento # valor
2 >>

8.4 ESTRUCTURAS DE SELECCIÓN

La mayoría de las veces, el comando find puede y debe utilizarse en vez de un


enunciado if.
Sin embargo, hay situaciones en las cuales se requiere el enunciado if.

8.4.1 El if simple

Un enunciado if simple tiene la siguiente forma:

if (G<50)
count=count+1;
disp('G');
end

8.4.2 La estructura if/else

El if simple le permite ejecutar una serie de enunciados si una condición es


verdadera y saltar
dichos pasos si la condición es falsa. La cláusula else le permite ejecutar un
conjunto de enunciados si la comparación es verdadera y un conjunto diferente
de enunciados si la comparación es falsa.

if x>0
y=log(x)
else disp('la entrada a la función log debe ser positiva')
end

Regresa:

Untitled4

y=

0 0.6931 1.0986
2.3026 1.6094 0
2.4849 1.0986 0.6931
2.0794 1.0986 0
UNIVERSIDAD UTE
8.4.3 La estructura elseif

La función elseif le permite comprobar criterios múltiples mientras se mantiene


el código fácil de leer. Considere las siguientes líneas de código que evalúan si
se emite una licencia de conductor, con base en la edad del solicitante:

if age<16
disp('los siento. tendrá que esperar')
elseif age<18
disp('puede obtener uns liciencia estandar')
elseif age<70
disp('puede obtener una licencia estandar')
else
disp('los conductores mayores de 70 requiere una
liciencia especial')
end

Ejemplo:

Desarrolle un ejemplo a mano. 85 debería ser una B


Pero, ¿90 debería ser una A o una B? Es necesario crear criterios más exactos.

FLUJOGRAMA
UNIVERSIDAD UTE

funcion results= grande(x)


%esta función requiere una
%entrada escalar
if(x>=90)
results='a';
elseif(x>=80)
results='b';
elseif(x>=70)
results='c';
elseif(x>=60)
results='d';
else
results='e'
end

Regresa:

>> Untitled4

results =

'e'

8.4.5 Menú

La función menu se usa con frecuencia en conjunto con una estructura


switch/case. Esta función hace que aparezca un recuadro de menú en la
pantalla, con una serie de botones definidos por el programador.
Se puede usar la opción menu en el ejemplo de tarifa aérea anterior para
asegurar que el usuario elija sólo ciudades de las que se tiene información.”.

city=menu('select the name of a city from the menu:','


boston','denver','honolulu')
switch city
case 1
disp('$345')
case2
disp('150')
case3
disp('quédese en casa y estudie')
end
UNIVERSIDAD UTE

8.5 ESTRUCTURAS DE REPETICIÓN: BUCLES

Los bucles for son la opción más sencilla cuando usted sabe cuántas veces
necesita repetir el bucle.
Los bucles while son las opciones más sencillas cuando necesita mantener la
repetición de las instrucciones hasta que se satisface un criterio.
Si tiene experiencia de programación previa, puede estar tentado a usar bucles
de manera extensa. Sin embargo, se pueden componer programas MATLAB que
eviten los bucles, ya sea mediante el comando find.

8.5.1 Bucles for

El buble se ejecuta una vez para cada elemento de la matriz índice identificada
en la primera línea. He aquí un ejemplo realmente simple:

for k=[1,3,7]
k
end

Este codigo

>> Untitled4

k =

k =

k =

Otro ejemplo con utilización potencias:

Una de las formas más comunes de usar un bucle for es para definir una
matriz, considere por ejemplo, el código

for k=1:5
a(k)=k^2
end

Regresa:

>> Untitled4

a =
UNIVERSIDAD UTE
1

a =

1 4

a =

1 4 9

a =

1 4 9 16

a =

1 4 9 16 25

Creación de una tabla grados a radianes:


UNIVERSIDAD UTE
8.5.2 Bucles while

k=1
while k<=36
degree(k)=k*10
radians(k)=degree(k)*pi/180;
k=k+1
end

Otro ejemplo un poco más complejo:

Ejemplo.-

%ejemplo 8.7
%crear una tabla de grados a
%radianes
clear, clc
%use un bucle while para los
%calculos

k=1
while k<=36
degree(k)=k*10
radians(k)=degree(k)*pi/180;
k=k+1
end
%cree una tabla

table=[degree:radians]
%envie la tabla a la ventana
%de comandos
dis('grados a radianes')
disp('grados radianes')
fprintf('%8.0f %8.2f\n',table)

Diagrama de flujo para un bucle while.

Creación de una tabla para convertir grados a radianes con un bucle while.
UNIVERSIDAD UTE

%ejemplo 8.7
%crear una tabla de grados a
%radianes
clear, clc
%use un bucle while para los
%calculos

k=1
while k<=36
degree(k)=k*10
radians(k)=degree(k)*pi/180;
k=k+1
end
%cree una tabla

table=[degree:radians]
%envie la tabla a la ventana
%de comandos
dis('grados a radianes')
disp('grados radianes')
fprintf('%8.0f %8.2f\n',table)

regresa:

k =

17

degree =

Columns 1 through 14
UNIVERSIDAD UTE

10 20 30 40 50 60 70 80 90 100 110
120 130 140

Columns 15 through 17

150 160 170

Abreviaturas:
UNIVERSIDAD UTE

CAPITULO 9
Álgebra matricial
Términos clave
-determinante
-eliminación gaussiana
-inverso
-matriz identidad
-multiplicación matricial
-normal
-ortogonal
-producto cruz
-producto punto
-singular
-sistema de ecuaciones
-transponer
-vector unitario

1. Introducción
Con frecuencia, los términos arreglo y matriz se usan de manera
intercambiable en ingeniería. Sin embargo, técnicamente, un arreglo es un
agrupamiento ordenado de información, mientras que una matriz es un arreglo
numérico bidimensional que se usa en álgebra lineal.

2. Operaciones y funciones de matrices

Una de las operaciones matriciales más comunes es la transposición, que


cambia filas a columnas y columnas a filas.
 Transpuesta de A.

Otra operación matricial común es el producto punto, que es la suma de las


multiplicaciones de arreglo de dos vectores de igual tamaño:
UNIVERSIDAD UTE
La función MATLAB para el producto punto es

Ejemplo:
a=[2,3,4]
b=[2,3,4]
dot(a,b)

Regresa:

>> Untitled4

a =

2 3 4

b =

2 3 4

ans =

29

 La multiplicación matricial

indica que la matriz A se multiplica por la matriz B en concordancia con las


reglas del álgebra
matricial. La multiplicación matricial no es conmutativa; esto es,

AB≠BA
Ejemplo:
a=[2,3,4]
b=[2,3,4]
c=(a*b)

 Elevar una matriz a una potencia es similar a múltiples pasos de


multiplicación:
𝟑
𝑨 = AAA
UNIVERSIDAD UTE
Dado que una matriz debe elevarse al cuadrado para multiplicarse por ella
misma, sólo las
matrices cuadradas se pueden elevar a una potencia.

Ejemplo:

a=[2,3,4]
b=[2,3,4]
c=a^3

 Una matriz por su inverso es la matriz identidad:


𝑨𝑨𝑨−𝟏 = I
La función MATLAB que se usa para encontrar el determinante es

Ejemplo.-
a=[2,3,4]
b=[2,3,4]
det(a)

Para resolver este sistema de ecuaciones con MATLAB, podría multiplicar B


por el inverso de A:

Ejemplo:
a=[2,3,4]
b=[2,3,4]
x=inv(a)*b

Sin embargo, esta técnica es menos eficiente que la eliminación gaussiana, que se logra en
MATLAB con el uso de la división izquierda:

Ejemplo.-
a=[2,3,4]
b=[2,3,4]
x=a\b

x=

0 0 0
0 0 0
0.5000 0.7500 1.0000
UNIVERSIDAD UTE

Sugerencia.-
MATLAB incluye algunas matrices especiales que se pueden usar para realizar cálculos más
fáciles o para probar técnicas numéricas.

Unos y ceros
Las funciones ones y zeros crean matrices que consisten por completo en
unos y ceros,respectivamente. Por ejemplo:
Función:

Ones (3)
>> Untitled4

ans =

1 1 1

1 1 1

1 1 1

Zeros(2,3)

ans =

0 0 0

0 0 0

>> Untitled4

ans =

0 0 0

0 0 0

Matriz identidad
UNIVERSIDAD UTE
Una matriz identidad es una matriz con unos en la diagonal principal y
ceros en todas las demás ubicaciones.

a=eye(3)

>> Untitled4

a=

1 0 0
0 1 0
0 0 1

b=eye(3,2)

>> Untitled4

b=

1 0
0 1
0 0

También podría gustarte