Sie sind auf Seite 1von 171

Lenguaje Matemático

de Programación de
Aplicaciones.
MatLab
( MATrix LABoratory )
Guía Académica
PRIMERA PARTE

Ing. Wilian Andrade Medina


Ambato - Ecuador
Marzo 2018

El hombre encuentra a Dios detrás de cada puerta que la ciencia logra abrir.
Albert Einstein.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina -2 -

INTRODUCCIÓN

Entre mayores conocimientos y poder poseas, mayor será tu responsabilidad


Goethe.

La Programación explica toda una metodología de codificación


de los algoritmos o diagramas de flujo generados para
aplicaciones matemáticas, con el propósito de representar los
problemas matemáticos con software de aplicación en Lenguajes
de Programación como parte de la Ingeniería en la búsqueda de
la solución de problemas matemáticos que permitan la utilización
de la computación para desarrollar procesos automatizados; que
continuamente se presentan como criterios de apoyo a la
problemática general y fundamental de la automatización de
aplicaciones matemáticas usuales en la Ingeniería, que de
acuerdo a su complejidad puedan dar uso de los modelos
presentados como principio de apoyo a problemas más complejos.

La presente guía académica se fundamenta en la experiencia docente y de aplicación


matemática en el área de la programación para software matemático con Lenguaje de
Programación para la problemática de la ingeniería, permitiendo que sea un instrumento de
trabajo y disminuyendo la dificultad del diseño de algoritmos matemáticos; que sea un
documento de fácil comprensión y pueda estar al alcance de toda persona que desee adquirir
conocimientos planteados desde las aplicaciones más básicas y fundamentales a las
aplicaciones matemáticas más complejas.
El Autor

Ing. Wilian Wilfrido Andrade Medina


DOCENTE DE LA FACULTAD DE
INGENIERÍA CIVIL Y MECÁNICA
UNIVERSIDAD TÉCNICA DE AMBATO
Magíster en Informática
Magíster en Ciencias de la Educación Mención en Gestión Educativa
Diploma Superior en Teoría, Diseño y Evaluación Curricular
Practitioner en Programación NeuroLingüística (PNL)
Correo electrónico: wandrade@uta.edu.ec
wandrademedina@gmail.com

La ignorancia es una desgracia voluntaria. – Nicolás Liug

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina -3 -

TEMA Página
Conceptos Básicos 5
Asignaciones 7
Entorno MatLab 10
Ventana Command Window 12
Símbolos Especiales 16
Aritmética de Enteros y Funciones 16
Funciones y Comando Básicos 20
Funciones Matemáticas Elementales 28
Generación y Almacenamiento de Archivos * . m 30
Entrada / Salida de Información 32
Decisiones 37
Nido de Decisiones 39
Ciclos – Control de Ciclos 49
Contadores 50
Aplicaciones 51
Sumatorias 57
Series 60
Aplicaciones Matemáticas 64

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina -4 -

La lógica es la anatomía del pensamiento.


Jhon Locke.

Lo último que uno sabe, es por dónde empezar.


Blaise Pascal.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina -5 -

LENGUAJE MATEMÁTICO DE
PROGRAMACIÓN DE APLICACIONES
MATLAB ( MATrix LABoratory ), es un SOFTWARE interactivo de uso general para
programar aplicaciones matemáticas de uso continuo en las Ciencias y en la Ingeniería. Las
aplicaciones se realizan utilizando instrucciones o comandos, o también mediante el uso de
instrucciones en programas con código del MatLab, conocidos como Scripts.

Las aplicaciones sobre las que el MatLab se utiliza, es fundamentalmente sobre matemáticas de
matrices, libre de que el usuario programador pueda resolver aplicaciones de cualquier
naturaleza matemática.

El MatLab se caracteriza de modo general porque siendo un lenguaje de programación


matemático realiza los cálculos con alta precisión, permite graficación avanzada, el uso de una
gran cantidad de funciones, dispone de un soporte adecuado para interfaz gráfica y permite
fundamentalmente la programación estructurada.

COCEPTOS BÁSICOS.

Información.- es un conjunto de hechos y de cifras iniciales y finales necesarios para la


comunicación, entendiéndose así al conjunto de datos y resultados necesarios en un proceso.

Datos.- es el conjunto de parámetros o elementos básicos, necesarios para el inicio de un


proceso, está directamente relacionada con la Información de Entrada.

Resultados.- es un conjunto de parámetros o elementos finales de un proceso que permiten


tomar una decisión, está directamente relacionada con la Información de Salida.

Información alfanumérica.- es la información que representa a textos o cadena de caracteres


y actúa como un aviso, rótulo o mensaje; en su estructura dispone de letras, dígitos y/o
símbolos. Se le identifica como una cadena string.

Información numérica.- es la información que representa a cantidades o valores que


lógicamente actúan en procesos matemáticos; en su estructura se identifica a la información
numérica de tipo entera (valores cerrados, punto fijo) y a la información numérica de tipo real
(valores con parte decimal, punto flotante).

Información numérica de tipo entera.- es aquella cantidad que NO dispone de la parte


fraccionaria o decimal, es una cantidad cerrada (discreta), en su estructura contiene a los
dígitos del 0 al 9, el signo más ( + ) de modo opcional para identificar valores positivos o el
signo menos ( – ) obligadamente para identificar valores negativos.
Ejemplos: 20 - 114 41730

Información numérica de tipo real.- es aquella cantidad que SI dispone de la parte


fraccionaria o decimal, es una cantidad que en su estructura contiene a los dígitos del 0 al 9, el
signo más ( + ) de modo opcional para identificar valores positivos o el signo menos ( – )
obligadamente para identificar valores negativos y el punto ( . ) decimal para separar la parte
entera de la parte decimal del valor.
Ejemplos: - 25.106 0.0432 165.0

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina -6 -

Cualquier información que se utilice en la programación de aplicaciones con un lenguaje de


programación como el MatLab, se utiliza representada por Variables o Constantes.

Variable.- es un nombre que representa a la información y que identifica una posición de


memoria, puede representar a información alfanumérica o información numérica, por
estructura propia del MatLab la variable dispone de una posición de memoria matricial.

Variable numérica.- es un nombre de variable que representa a cantidades o valores que


identifican a la información numérica, de acuerdo al tipo de información que representa, puede
ser variable numérica real o variable numérica entera.

Variable alfanumérica.- es un nombre de variable que representa a información de texto que


identifica a nombres, apellidos, direcciones, avisos, rótulos, enunciados o cualquier cadena de
caracteres que actúen como información de texto (alfanumérica).

El nombre de una variable cualquiera sea su tipo, de modo general para ser aceptado como
nombre valido, debe cumplir con los siguientes requisitos mínimos:

1.- Iniciar el nombre de variable con un carácter alfabético (letra).

2.- Puede contener otros caracteres alfabéticos o caracteres numéricos (dígitos).

3.- No debe contener caracteres especiales (símbolos).

4.- No debe contener subíndices o supraíndices.

Se debe considerar que las variables:

1.- No son necesarias las declaraciones del tipo de variable que representa a la información,
como se realiza en varios de los lenguajes de programación tradicional y convencional para
aplicaciones fundamentalmente matemáticas.

2.- Hace diferencia y reconoce nombre de variables similares o idénticas que contengan
letras mayúsculas y letras minúsculas, es decir que por el tipo de letra les identifica como
nombres de variables diferentes (Ejemplo: Alfa y alfa).

3.- El tipo de variable depende del valor asignado y de acuerdo a la asignación puede
representar a una variable escalar, variable vectorial o variable matricial.

4.- Las variables pueden ser redefinidas.

5.- Cuando no se utiliza una fórmula o asignación y solo es una expresión de cálculo, la
expresión asigna la información o valor a la variable ans, que es la variable por omisión
provista por MatLab para identificar información.

6.- A las variables se puede hacer una nueva asignación de memoria durante la ejecución.

x=3 x información numérica, valor de tipo real.


x = ' mensaje ' x información de tipo texto ( Alfanumérica ).
syms x x variable definida como algébrica o de tipo simbólico.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina -7 -

Constante.- es aquella información que representa una cantidad fija que puede ser un valor
real o un valor entero, o un texto que no puede variar, al ser parte de un proceso o cálculo;
si se cambia la constante, se altera la idea o evento del cálculo o proceso.

La constante considerada como numérica; y, la constante considerada como alfanumérica


puede representar a cualquier texto, cadena de caracteres de información o enunciado.

IDENTIFICACIÓN DE PROCESOS MATEMÁTICOS

Los procesos matemáticos que se utilizan para dar solución a un problema como Software de
Aplicación a generar, son los procesos de asignación, que identifican a las fórmulas que
realizan el cálculo en las aplicaciones que utilizan las matemáticas y de manera particular en
las aplicaciones de la INGENIERÍA. El flujo de la información (datos y resultados) del
problema, se representa por medio de POSICIONES DE MEMORIA que se identifican con
nombres de VARIABLES.

Para definir claramente la secuencia de un ALGORITMO, en su parte matemática se utilizan


actividades representativas como son las asignaciones o FÓRMULAS.

ASIGNACIONES

Comprende la asignación de un texto (Información Alfanumérica) o de un cálculo cualquiera


por más simple que sea, a una variable o posición de memoria debidamente representada.

Toda ASIGNACIÓN, se ajusta a la siguiente estructura:

VARIABLE = EXPRESIÓN (Aritmética o Texto)

Variable. - Es el nombre de la posición de memoria que representa al texto asignado o al


valor calculado, que identifica a la información alfanumérica o numérica.

Expresión. - Corresponde a la información que la Variable va recibir o representar por medio


de un cálculo o una simple asignación de información numérica o alfanumérica.

Creando así las conocidas expresiones aritméticas o las expresiones de texto.

1.-) Estructura: VARIABLE = EXPRESIÓN ARITMÉTICA

Es la representación de una FÓRMULA, en la que la EXPRESIÓN ARITMÉTICA procesa


información NUMÉRICA (valores) y es normal que disponga de operaciones matemáticas.

Generalmente toda EXPRESIÓN ARITMÉTICA, de acuerdo a la complejidad del cálculo, en


su estructura puede disponer de:

1. - Constantes.
2. - Variables.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina -8 -

3. - Operadores aritméticos:

Suma: +
Resta: -

Multiplicación: *
División: / (cociente para valor tipo real).

División a la izquierda: \

Potenciación: ^

Cociente en enteros fix ( n / i )

Residuo en enteros rem ( n , i ) ( Resto de dividir n entre i ).

4. - Paréntesis (SUBEXPRESIONES).

5. - Funciones (Seno, Coseno, Tangente, Raíz Cuadrada, Valor Absoluto, Otras).

Algunos otros operadores o símbolos aritméticos, están definidos de modo particular por el
Lenguaje de Programación, como en este caso para el MatLab también se utilizan operadores y
funciones para realizar cierto tipo de cálculos específicos y especiales del MatLab.

a = 23 Asignación de un valor a una variable.


b=6

h=a Asignación de un valor de una variable a otra variable.


c=b

x = -b/2/a Asignación con operadores aritméticos o fórmula.


y = x^3-8
w = b^2-4*a*c
f = b*b+3*y
r = f - 5 * x ^ 3 + 23 / f

x1 = ( -b + ( b ^ 2 – 4 * a * c ) ^ 0.5 ) / ( 2 * a ) Asignación con el uso de paréntesis.


z=-b/(2*a)
w = ( x – 21 ) * ( x ^ 3 – 45.7 ) / ( 4 * z – 28 )

x = sin ( 3 ) + 3 * exp ( 2 ) Asignación con el uso de funciones.


X1 = ( - b + sqrt ( b * b - 4 * a * c ) ) / 2 / a
Alfa = ( 4 * a – b ^ 3 / 6 + cos ( a – b ) )
Beta = abs ( X1 – Alfa / 4 ) + fix ( X1 / ( 2 – X1 ) )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina -9 -

x = 4 + 3i Asignación de un número complejo.

t = 2 * x + 3 - 5i Asignación con cálculos con números complejos.

(a^2-5)/3 Expresión que el valor calculado se asigna a ans, variable


asignada por omisión por el MatLab.

y = 2 * ans Asignación que realiza un cálculo utilizando ans.

2.-) Estructura: VARIABLE = EXPRESIÓN DE TEXTO

Identificada como EXPRESIÓN ALFANUMÉRICA, procesa información de TEXTO, no


dispone de operaciones aritméticas, es muy utilizada para manejar información como nombres,
apellidos, direcciones, rótulos, avisos u otros tipos de mensajes necesarios en el contexto
informático, y es identificada como una cadena de caracteres.

Generalmente toda EXPRESIÓN ALFANUMÉRICA se delimita entre símbolos ortográficos


como el apóstrofo ( ' Texto ' ), y en su estructura se puede generar una asignación o expresión
alfanumérica considerando que puede disponer de:

1. - Constantes de Texto, información con símbolos, letras y/o dígitos.

2. - Variables que representan Texto.

' Wilian Andrade ' Asignación que se realiza a la variable ans.

direc = ' Zooposopangui 204 ' Asignación de una cadena a la variable direc

c = ' Matemática ' ; Asignación de una cadena a la variable c.

c(4) Identificación de un carácter de la cadena.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 10 -

ENTORNO MATLAB

Para que el software de MatLab se active y presente su área de trabajo, se ejecuta normalmente
el icono que corresponde a MatLab y que es representado por la siguiente imagen:

En el proceso de carga del programa, presenta la información que corresponde a la versión y


tipo de MatLab a utilizarse (en este ejemplo es de MatLab 15), una imagen similar a la
siguiente precede a la activación y presencia del área de trabajo.

En el MatLab, se define y se aplica el manejo de la información dentro de su estructura de


programación, es decir utilizando el Entorno de MatLab que está organizado por ventanas e
inicialmente presenta la siguiente visualización:

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 11 -

Presentando las siguientes barras y ventanas a identificar, que componen el área de trabajo:

Barra de Titulo.- es la barra que identifica el icono y versión del MatLab.


Barra de Herramientas.- es la barra que dispone de un conjunto de opciones de trabajo.
Barra de dirección de directorio.- es la barra que identifica el directorio o carpeta de trabajo.
Command Window.- es la ventana de comandos para ejecución de instrucciones.
Command History.- es la ventana que realiza el registro de los comandos ingresados.
Workspace.- es la ventana que contiene la descripción matricial de las variables utilizadas en
cada sesión de trabajo (programación de aplicaciones).
Current Folder.- es la ventana que visualiza las carpetas de trabajo.

Para almacenar los programas de aplicación en MatLab, es preferible crear una carpeta a la
que se direccione todas las actividades y almacenamiento de archivos, utilizando una orden de
comandos del MatLab desde la ventana del Command Window o desde la barra de dirección
de directorio que idéntica la carpeta de trabajo por omisión, direccionarle a la generada por el
usuario programador:

C : \ Program Files \ MATLAB Production Server \ R2015 \ bin

Para cambiar desde la ventana de comandos a una carpeta de trabajo, se utiliza el comando
change directory ( cd ) acompañado del nombre del disco y la carpeta seleccionada de trabajo:

>> cd f : / MatLabEjer

El comando ordena cambiar a la carpeta MatLabEjer en la unidad de almacenamiento F:

F : \ MatLabEjer

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 12 -

Para visualizar el contenido de una carpeta, se ordena el proceso con el comando dir:

>> dir F : / MatLabEjer


. Facturas Programas marca.m ppolivec2.m
.. MetodosNumericos Serie marca1.m ppolivec3.m
wil.m Calculadora Newraph.fig Serie2

Que se puede también observar en la ventana Current Folder, de la carpeta seleccionada.

El comando dir debe ser utilizado con letras minúsculas, caso contrario se genera un error:

>> Dir F : / MatLabEjer


Undefined function ' Dir ' for input arguments of type ' char ' .

VENTANA COMMAND WINDOW

En la ventana de trabajo Command Window, se escriben todas las instrucciones que se deseen
ejecutar con letras minúsculas, para disponer de resultados como si fuera una
CALCULADORA, se puede realizar procesos de cálculo simple o complejos.

Todos los COMANDOS, FUNCIONES o INSTRUCCIONES propias del MatLab se


escriben con LETRAS MINÚSCULAS, caso contrario generan error.

Para crear un conjunto de instrucciones como un programa de aplicación, se genera un archivo


nombre.m en la ventana de Editor – Untitled, activada al ordenar la creación de un archivo
de texto Script de programación MatLab, pulsando el botón o acceso directo de ( New Script )
que se encuentra en la barra de menús identificada con el nombre de HOME.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 13 -

El símbolo >> en la ventana Command Window, es el prompt que indica que el MatLab está
listo para recibir las instrucciones o comandos, al utilizar asignaciones aritméticas se visualiza
el resultado de modo inmediato o se presenta un mensaje que indica que hubo algún error.

>> x = 2.8

x=
2.8000

>> a = 234

a=
234

>> b = - 45.762

b=
- 45.7620

>> z = a

z=
234

>> alfa = x

alfa =
2.8000

>> Alfa=b

Alfa =
- 45.7620

De igual manera, cuando se utiliza asignaciones alfanuméricas, se visualiza directamente el


mensaje que se ha dispuesto.

>> direc = ' Calle Zooposopangui 204 '

direc =
Calle Zooposopangui 204

>> nombre = ' Wilian Andrade Medina '

nombre =
Wilian Andrade Medina

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 14 -

>> ' Wilian Andrade Medina '

ans =
Wilian Andrade Medina

Al digitar el nombre de la variable, se presenta el valor que disponía en la asignación


entregada, es decir que mientras no se cambie el valor asignado a la variable, se mantiene en
memoria y con solo escribir el nombre de la variable se presenta el valor que representa:

>> a

a=
234

>> b

b=
- 45.7620

Al realizar la orden de cálculo por medio de una expresión simple o compleja con las variables
disponibles, el resultado se presenta asignando a la variable ans (answer), variable propia por
omisión en el MatLab, debido que no se indica a que variable se debe asignar el cálculo
generado por la expresión aritmética ordenada:

>> a + b

ans =
188.2380

>> sin ( 45 )

ans =
0.8509

Utilizando una fórmula, se realiza el cálculo indicado a la o las variables de asignación:

>> x = 2.8 ;

>> x1 = x ^ 2 + 3 * x - 21

x1 =
-4.7600

Cuando al final de una instrucción o comando procesado se utiliza el punto y coma ( ; ), el


resultado NO se presenta o no se visualiza en la ventana del Command Window.

>> x1 = x ^ 2 + 3 * x - 21 ;
>> a ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 15 -

>> z ;
>> a + b ;

Al utilizar varias asignaciones en una misma línea de comandos, se separan las instrucciones
por medio de la coma ( , ) o del punto y coma ( ; ):

>> format short

>> x = exp ( 3 ) ; y = 5 * x – 2 , z = 7 * x - y ^ 2 % Utilizando con ;

y=
98.4277

z=
- 9.5474 e+03

>> format long

>> x = exp ( 3 ) , y = 5 * x – 2 , z = 7 * x - y ^ 2 % Utilizando solo ,

x=
20.085536923187668

y=
98.427684615938347

z=
- 9.547410340392313 e+03

COMANDO clc

El comando o instrucción clc ordena que se borre de modo permanente toda la información
disponible en la ventana de trabajo Command Window, presentándose una ventana limpia
de información.

COMANDO clear

El comando o instrucción clear ordena que se borre de modo permanente el nombre y el


valor asignado a la variable indicada o a todas las variables, las mismas que se encuentran
visualizadas en la ventana de trabajo Workspace.

>> clear z

Ordena que se borre de la memoria el nombre y el valor de la variable z.

>> clear A B C

Ordena que se borre de la memoria el nombre y el valor de cada una de las variables A, B y C.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 16 -

>> clear all

Ordena que se borre de la memoria los nombres y los valores asignados a cada una de
variables que estén en memoria y que se visualiza en la ventana Workspace.

Para poder utilizar instrucciones o comandos disponibles en el Command History, se puede


reutilizarlos utilizando las teclas del cursor:  

SÍMBOLOS ESPECIALES

La siguiente lista de símbolos, en el MatLab tiene ciertos usos y definiciones, así:

( ) Define precedencia o prioridad matemática de operaciones en las


expresiones; y, para definir subíndices de vectores y matrices.

, Separa elementos de un vector (También se usa espacios).

; Separa filas de una matriz o se utiliza para evitar mostrar resultados o


contenido de variables o expresiones.

% Inicia un comentario en el código de los programas y de las funciones.

... Indica la continuación de un comando en la siguiente línea.

[ ] Define a los elementos disponibles de un vector o de una matriz.

ARITMÉTICA DE ENTEROS Y FUNCIONES

Cuando se trabaja con aplicaciones que se necesita de cálculos que los resultados esperados
sean sin decimales, es decir valores enteros, se apoya en cálculos para procesos en la
aritmética de enteros fundamentados en el uso de operadores o funciones.

En MatLab todas las cantidades están definidas como cantidades reales de tipo Double por
naturaleza u omisión, por lo que, para trabajar en enteros, se debe definir a las cantidades o
variables el tipo de números enteros que van a representar.

ENTEROS CON SIGNO

Las cantidades o valores que se pueden representar pueden ser en números enteros con signo y
se los define con la función int# de acuerdo a las necesidades de límites de cálculo o
disponibilidad de manejo de cantidades; así:

Función Valor mínimo Valor máximo


int8(Parámetro) - 128 + 127
int16(Parámetro) - 32.768 + 32.767
int32(Parámetro) - 2.147’483.648 + 2.147’483.648
int64(Parámetro) - 9.22338E+18 + 9.22337E+18

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 17 -

ENTEROS SIN SIGNO


Las cantidades o valores que se pueden representar pueden ser en números enteros sin signo y
se los define con la función uint# de acuerdo a las necesidades de límites de cálculo o
disponibilidad de manejo de cantidades; así:

Función Valor mínimo Valor máximo


uint8(Parámetro) 0 + 255
uint16(Parámetro) 0 + 65.5357
uint32(Parámetro) 0 + 4.294’967.295
uint64(Parámetro) 0 + 1.84467E+19

ENTERO MÍNIMO

La función intmin en MATLAB, presenta el valor más pequeño que se puede lograr para
cálculos matemáticos en software de aplicación como un entero de 32 bits.

>> u = intmin

u=
-2147483648

ENTERO MÁXIMO

La función intmax en MATLAB, presenta el valor más alto que se puede lograr para cálculos
matemáticos en software de aplicación como un entero de 32 bits.

>> u = intmax

u=
2147483647

La asignación de los valores de la variable a y b se utiliza para la descripción de los ejemplos:

>> a = 11

a=
11

>> b = 4

b=
4

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 18 -

FUNCIÓN fix

Se utiliza la función fix, como un operador para calcular el cociente en enteros.

>> c = fix ( a / b )

c=
2

>> d = fix ( 11 / 4 ) % 11 dividido para 4, cociente resultado = 2

d=
2

>> e = fix ( 11.5 / 4 )

e=
2

FUNCIÓN rem

Se utiliza la función rem, como un operador para calcular el residuo en enteros.

>> h = rem ( a , b )

h=
3

>> k = rem ( 11 , 4 ) % 11 dividido para 4, cociente = 2 residuo = 3

k=
3

>> d = rem ( 11.5 / 4 ) % Error por uso de argumento (operador).

Error using rem


Not enough input arguments.

FUNCIÓN floor

Se utiliza la función floor, para obtener cociente en enteros considerando que la parte decimal
del resultado es redondeado al entero inmediato INFERIOR del valor.

>> x = floor ( a / b )

x=
2

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 19 -

>> w = floor ( 11 / 4 )

w=
2

>> p = floor ( 14 / 5 )

p=
2

FUNCIÓN ceil

Se utiliza la función ceil, para obtener cociente en entero considerando que la parte decimal
del resultado es redondeado al entero inmediato SUPERIOR del valor.

>> s = ceil ( a / b )

s=
3

>> m = ceil ( 11 / 4 )

m=
3

>> n = ceil ( 14 / 5 )

n=
3

Los cálculos que efectúan las funciones analizadas, procesan como aritmética para valores
enteros y cualquier resultado que se obtenga será sin parte decimal.

Operaciones aritméticas especiales:

>> 2 / 0

Inf % Notificación matemática de infinito (  )

>> 0 / 0

NaN % Notificación matemática de valor indeterminado ( “Not A Number” )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 20 -

FUNCIONES Y COMANDOS BÁSICOS

Los comandos y funciones básicas que dispone el MatLab, son nombres de actividades o
procesos que se requieren EJECUTAR en el entorno o en la programación de aplicaciones,
disponiéndose de entre las más básicas a las siguientes:

FUNCIÓN help ( AYUDA )

>> help

La función help, permite el despliegue de una variada cantidad de temas de ayuda o biblioteca
de consulta, que explica el uso y funcionamiento de cada una de las instrucciones, comandos,
funciones o temas de aplicación en el entorno de trabajo y de programación del MatLab.

La función help puede utilizarse con especificación del tema a consultar, ejemplos:

>> help ops

Permite el despliegue de una lista de operadores, presentando la siguiente información:

>> help ops

Operators and special characters.

Arithmetic operators.
plus - Plus +
uplus - Unary plus +
minus - Minus -
uminus - Unary minus -
mtimes - Matrix multiply *
times - Array multiply .*
mpower - Matrix power ^
power - Array power .^
mldivide - Backslash or left matrix divide \
mrdivide - Slash or right matrix divide /
ldivide - Left array divide .\
rdivide - Right array divide ./
idivide - Integer division with rounding option.
kron - Kronecker tensor product

Relational operators.

eq - Equal ==
ne - Not equal ~=
lt - Less than <
gt - Greater than >
le - Less than or equal <=
ge - Greater than or equal >=

Otros más ……..

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 21 -

Entre varias de las ayudas específicas utilizadas, se detalla los siguientes ejemplos:

>> help exp % Información sobre el uso de la función exponencial.

>> help elfun % Despliega la lista de funciones matemáticas elementales.

>> help general % Despliega la lista de comandos.

>> help strfun % Despliega la lista de las funciones para cadenas.

>> help lang % Despliega la descripción de las estructuras del MatLab.

Adicionalmente, pulsando el ícono Help de la barra de herramientas, se puede entrar al sistema


de ayuda de MATLAB organizado por contenido, índice, búsqueda y demostraciones.

FUNCIÓN who ( VARIABLES EN USO )

La función who, despliega la lista de las variables en uso de la programación del momento,
que también se identifican en la ventada Workspace.

>> who
Your variables are:
a b

>> whos x % Despliega el tipo actual de la variable ( x ).

>> whos % Despliega la lista de las variables en uso y su descripción.

COMANDO pwd ( DIRECTORIO ACTUAL )

El comando pwd, da a conocer el directorio actual de trabajo.

>> pwd

ans =
C : \ Program Files \ MATLAB Production Server \ R2015 \ bin

COMANDO cd ( CAMBIO DE DIRECTORIO - change directory )

El comando cd, permite el cambio de la ruta del directorio actual.

>> cd f : / MatLabEjer
>> pwd

ans =
f : \ MatLabEjer

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 22 -

COMANDO dir ( DIRECTORIO ACTUAL )

El comando dir, permite conocer el listado del contenido del directorio actual.

>> dir
. MetodosNumericos Serie2 ppolivec.m sumadora.m
.. Newraph.fig Simulacion ppolivec2.m wil1.m
Calculadora Newraph.m poli.m ppolivec3.m wiw.m
Factura Programas poli2.m ppolivec4.m ww.m
Facturas Serie ppoli.m sumadora.fig

COMANDO open

El comando open despliega el contenido de la programación MatLab de la función que se


solicita visualizar su contenido.

COMANDO format ( FORMATOS DE DESPLIEGUE DE INFORMACIÓN )

El comando format, permite visualizar notaciones matemáticas o dispone el despliegue de un


cierto número de decimales de la cantidad que representa cada variable o de los cálculos, que
son exhibidos por pantalla.

>> w = 45.6785
w=
45.6785

>> format long % Despliega números con 14 decimales.

>> format long

>> w

w=
45.678500000000000

>> format short % Despliega números con 4 decimales. (estándar MatLab).

>> format short

>> w

w=
45.6785

>> format bank % Despliega números con 2 decimales.

>> format bank

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 23 -

>> w

w=
45.68

>> format rat % Despliega números con notación racional (fracciones).

>> format rat

>> w

w=
23159 / 507

>> format short e % Despliega números con notación científica


>> format long e % Despliega números con notación científica con 14
decimales

>> format compact % Suprime líneas adicionales en la salida de información.

>> format loose % Inserta líneas en blanco en la salida de información.

>> format hex % Despliega un valor en formato hexadecimal.

COMANDO vpa (FORMATO DE VARIABLE DE PRECISIÓN ARITMÉTICA )

El comando vpa, considerada como variable de precisión aritmética, facilita que un valor
pueda definirse con cierto número de decimales.

>> vpa ( sqrt ( 2 ) , 20 ) % Despliega el valor de la raíz cuadrada de 2 con 20 dígitos.

ans =
1.4142135623730950488

COMANDO date ( FECHA )

El comando date, despliega la fecha actual.

>> date

ans =
10 - Dic - 2017

COMANDO datetime ( FECHA HORA )

El comando datetime, despliega la fecha y la hora actual.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 24 -

>> datetime

ans =
10 - Dic – 2017 18:49:10

COMANDO clock ( FECHA HORA : MINUTOS : SEGUNDOS )

El comando clock, despliega la fecha y la hora actual, se utiliza previamente el format rat para
que visualice de mejor manera el orden de: año – mes – día – hora – minutos – segundos.

>> format rat

>> clock

ans =
2017 12 10 18 51 1852 / 89

COMANDO length ( LONGITUD DE CADENA )

El comando length, entrega un valor numérico que corresponde a la longitud de una cadena
de caracteres; o el número de elementos que representa y almacena una variable vectorial.

Para conocer el número n de caracteres que tiene una cadena en una variable alfanumérica x,
se dispone de la siguiente instrucción.

>> x = ' Wilian Andrade Medina '

x=
Wilian Andrade Medina

>> n = length ( x )

n=
14

Para conocer el número m de elementos que contiene un vector en una variable numérica
vectorial ( vector ), se ordena con la instrucción lenght.

>> vector = [ 1 -5 9 0 -22 14 4 ]

vector =
1 -5 9 0 -22 14 4

>> n = length ( vector )

n=
7

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 25 -

COMANDO strcat ( CONCATENACIÓN DE CADENAS )

El comando strcat, exclusivamente realiza la concatenación de cadenas o textos.

>> x = ' Wilian Andrade Medina '

x=
Wilian Andrade Medina

>> y = ' Profesor FICM '

y=
Profesor FICM

>> z = ' Universidad Técnica de Ambato '

z=
Universidad Técnica de Ambato

>> w = strcat ( x , y )

w=
Wilian Andrade Medina Profesor FICM

>> s = strcat ( x , y , z )

s=
Wilian Andrade Medina Profesor FICM Universidad Técnica de Ambato

El comando strcat al facilitar la concatenación o unión de texto, se puede unir un texto con un
valor transformado a texto, de acuerdo al siguiente planteamiento de programación:

>> ci = 1801097054 ;

>> wi = strcat ( ' El número de cédula : ' , num2str ( ci ) , ' es de Wilian Andrade ' )

wi =
El número de cédula :1801097054 es de Wilian Andrade

COMANDO num2str

El comando num2str, convierte un número o cantidad a cadena de texto (información string)

>> q= 5 Class double ( 5.0000 )

q=
5

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 26 -

>> d = num2str ( q )

d= Class char ('5' )


5

COMANDO str2num

El comando str2num, convierte la cadena de texto en número (información numérica)

>> a = ' 345 ' Class char ( ' 345 ' )

a=
345

>> y = str2num ( a )

y= Class double ( 345 )


345

>> ci = str2num ( ' 123456789 ' )

ci =
123456789

En el ejemplo se puede visualizar que el comendo hasta con nueve caracteres (dígitos)
representa al número con todos sus dígitos.

>> ci = str2num ( ' 1234567890 ' )

ci =
1.2346e+09

En el ejemplo se puede visualizar que el comando con diez caracteres (dígitos) o más
representa al número con notación científica.

FUNCIÓN rand ( GENERACIÓN DE UN NÚMERO ALEATORIO )

La función rand, genera un número aleatorio entre 0 y 1.

>> x = rand

x=
0.8147

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 27 -

Para generar un número aleatorio entre 1 y 10, se expresa utilizando la función fix.

>> d = fix ( rand * 10 ) + 1

d=
10

>> d = fix ( rand * 10 ) + 1

d=
5

Se utiliza también para generar matrices con números aleatorios entre 0 y 1. Ejemplos:

>> a = rand ( 5 )

a=

0.9058 0.2785 0.9706 0.4218 0.0357


0.1270 0.5469 0.9572 0.9157 0.8491
0.9134 0.9575 0.4854 0.7922 0.9340
0.6324 0.9649 0.8003 0.9595 0.6787
0.0975 0.1576 0.1419 0.6557 0.7577

>> c = rand ( 3 , 4 )

c=
0.7431 0.1712 0.2769 0.8235
0.3922 0.7060 0.0462 0.6948
0.6555 0.0318 0.0971 0.3171

FUNCIÓN conj ( CONJUGADO DE UN NÚMERO COMPLEJO )

La función conj, se utiliza para obtener el conjugado de un número complejo.

>> z = 13 + 5i ;

>> r = conj ( z )

r=
13.0000 - 5.0000i

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 28 -

FUNCIONES MATEMÁTICAS ELEMENTALES

El MatLab R15a, presenta las funciones matemáticas elementales siguientes:

>> help elfun

Elementary math functions.

Trigonometric.
sin - Sine.
sind - Sine of argument in degrees.
sinh - Hyperbolic sine.
asin - Inverse sine.
asind - Inverse sine, result in degrees.
asinh - Inverse hyperbolic sine.
cos - Cosine.
cosd - Cosine of argument in degrees.
cosh - Hyperbolic cosine.
acos - Inverse cosine.
acosd - Inverse cosine, result in degrees.
acosh - Inverse hyperbolic cosine.
tan - Tangent.
tand - Tangent of argument in degrees.
tanh - Hyperbolic tangent.
atan - Inverse tangent.
atand - Inverse tangent, result in degrees.
atan2 - Four quadrant inverse tangent.
atan2d - Four quadrant inverse tangent, result in degrees.
atanh - Inverse hyperbolic tangent.
sec - Secant.
secd - Secant of argument in degrees.
sech - Hyperbolic secant.
asec - Inverse secant.
asecd - Inverse secant, result in degrees.
asech - Inverse hyperbolic secant.
csc - Cosecant.
cscd - Cosecant of argument in degrees.
csch - Hyperbolic cosecant.
acsc - Inverse cosecant.
acscd - Inverse cosecant, result in degrees.
acsch - Inverse hyperbolic cosecant.
cot - Cotangent.
cotd - Cotangent of argument in degrees.
coth - Hyperbolic cotangent.
acot - Inverse cotangent.
acotd - Inverse cotangent, result in degrees.
acoth - Inverse hyperbolic cotangent.
hypot - Square root of sum of squares.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 29 -

Exponential.
exp - Exponential.
expm1 - Compute exp(x)-1 accurately.
log - Natural logarithm.
log1p - Compute log(1+x) accurately.
log10 - Common (base 10) logarithm.
log2 - Base 2 logarithm and dissect floating point number.
pow2 - Base 2 power and scale floating point number.
realpow - Power that will error out on complex result.
reallog - Natural logarithm of real number.
realsqrt - Square root of number greater than or equal to zero.
sqrt - Square root.
nthroot - Real n-th root of real numbers.
nextpow2 - Next higher power of 2.

Complex.
abs - Absolute value.
angle - Phase angle.
complex - Construct complex data from real and imaginary parts.
conj - Complex conjugate.
imag - Complex imaginary part.
real - Complex real part.
unwrap - Unwrap phase angle.
isreal - True for real array.
cplxpair - Sort numbers into complex conjugate pairs.

Rounding and remainder.


fix - Round towards zero.
floor - Round towards minus infinity.
ceil - Round towards plus infinity.
round - Round towards nearest integer.
mod - Modulus (signed remainder after division).
rem - Remainder after division.
sign - Signum.

OTRAS FUNCIONES MATEMÁTICAS

pi Asigna el valor de la constante  (3.1416).

eps Corresponde al valor de la precisión de números de tipo real ( 2.2204 e-16 ).

realmin Corresponde al valor de la precisión del menor número real ( 2.2251 e-308 ).

realmax Corresponde al valor de la precisión del mayor número real (1.7977 e+308 ).

i Representa al símbolo de valor imaginario  - 1

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 30 -

GENERACIÓN Y ALMACENAMIENTO DE ARCHIVOS * . mat y * .m

El programa MatLab o Archivo de comandos ( script ), para ser creado se debe pulsar en la
opción New Script ( HOME ) que es la opción de creación de un nuevo archivo de texto
MatLab, facilitando la activación del editor de texto de comandos.

Se abre la ventana de edición de comandos y por cada línea se escribe el código MatLab para
disponer de la secuencia necesaria de la aplicación matemática a generar o también se puede
generar en un editor de texto y luego copiar el código al Editor del MatLab.

En la ventana de edición ( Editor – Untitled ), se escribe y se corrige la sintaxis de los


comandos o instrucciones y para concluir con la edición se almacena el programa, pulsando la
opción Save ( guardar ) que permite almacenar el archivo con algún nombre ( ejemplo.m ).
Los archivos MatLab *.m pueden ser generados como programas o como funciones.

Para ejecutar el programa se escribe en la ventana de comandos ( Command Window ),


únicamente el nombre del programa:

>> ejemplo

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 31 -

Se ejecuta el programa y si no dispone de errores de código, los resultados son visibles de


acuerdo a la programación producida; y, los valores actuales de las variables en uso se
almacenan en memoria siendo visualizados sus nombres, tipos y cantidades que representan en
la ventana de trabajo Workspace.

 Almacenamiento de variables en un archivo ( save ).

El MatLab permite generar un programa * . mat para que la información almacenada en el


Workspace, del programa activo, se pueda almacenar con un nombre deseado.

Desde la ventana de comando se ordena el almacenamiento del archivo de variables con los
datos que representa, utilizando la instrucción save, de la siguiente manera:

>> save ejemplo

El MatLab, guarda el archivo con la extensión mat, dejando visible en la ventana Current
Folder, el nombre del archivo ejemplo.mat

 Recuperación de variables desde un archivo ( load ).

Cuando se desea recuperar la información de las variables almacenadas y su contenido, se


procede a ordenar la carga, utilizando la instrucción load:

>> load ( ' ejemplo.mat ' )

Para realizar la carga de un programa de variables y contenidos .mat, se debe borrar todas las
variables activas del momento, para recuperar lo deseado, cargando el archivo necesario.

 Eliminación o barrado de archivos ( delete ).

Para borrar o eliminar permanentemente cualquier archivo generado en MatLab, se utiliza la


instrucción delete, adjunto el nombre y la extensión del archivo:

>> delete ejemplo.mat % Borrar Archivo de variables.


>> delete ejemplo.m % Borrar Archivo de comandos (script).

 Cerrar sesión de trabajo en MatLab ( quit ).

Con el propósito de terminar la sesión de trabajo en el MatLab, se puede cerrar de varias


maneras, pero la adecuada y funcional es utilizar la instrucción quit, desde la ventana de
comandos:

>> quit % Termina la sesión con MatLab.

Nota.- El entorno de MatLab es un entorno VISUAL y muy adecuado también para ejecutar
muchas de las instrucciones analizadas de edición, almacenamiento, eliminación y otras
actividades, utilizando la Barra de Menús, por medio de Teclas Rápidas (Ctrl+N), y estructuras
propias de uso y aplicación en la programación y manejo de ventanas y archivos en Windows.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 32 -

ENTRADA Y SALIDA DE INFORMACIÓN

INGRESAR O LEER INFORMACIÓN ( DATOS ).

Para definir el ingreso de datos a una variable desde el teclado, dado que el programa requiere
de los denominados DATOS POR LECTURA, se realiza el ingreso de un dato utilizando la
instrucción input, de acuerdo a la siguiente estructura:

Variable = input ( ' mensaje ' ) ;

Variable, es el nombre al que se asigna el dato de lectura requerido.


' mensaje ' , corresponde al texto que identifica que va a representar el dato.

x = input ( ' Ingrese el valor de la altura del rectángulo en cm. = ' ) ;

 Instrucción programada con ; (punto y coma) final:

>> x = input ( ' Ingrese el valor de la altura del rectángulo en cm. = ' ) ;

Ingrese el valor de la altura del rectángulo en cm. = 45

 Instrucción programada sin ; (punto y coma) final:

>> x = input ( ' Ingrese el valor de la altura del rectángulo en cm. = ' )

Ingrese el valor de la altura del rectángulo en cm. = 33

x=
33

DESPLEGAR O IMPRIMIR INFORMACIÓN DE SALIDA ( RESULTADOS ).

Para visualizar y definir la salida de datos o resultados numéricos de una variable o expresión
en la pantalla (área del Command Window), dado que el programa requiere de los
denominados DATOS o RESULTADOS DE SALIDA, se realiza el despliegue de la
información utilizando la instrucción disp, de acuerdo a la siguiente estructura:

disp ( variable )
disp ( ' mensaje ' )
>> x = 3;
>> disp ( x )
3

>> disp ( ' El valor de x = ' ) , disp ( x )

El valor de x =
3

disp ( ' ' ), se utiliza para indicar un “salto de línea” o “imprima una línea en blanco”.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 33 -

Para desplegar más de un valor se programa a la instrucción disp con la siguiente estructura:

disp ( [ variable1 variable2 variable3 . . . . . ] )

>> a = 3 ;
>> b = 7 ;
>> c = -11 ;

>> disp ( [ a b c ] )

3 7 -11

>> N = 5 ;
>> x = 2 ^ N ;

>> y = sqrt ( x ) ;
>> disp ( [ x , y ] ) ;

32.0000 5.6569 % Se presenta con 4 decimales como estándar.

DESPLEGAR O IMPRIMIR INFORMACIÓN DE SALIDA CON FORMATO.

Para desplegar por pantalla los datos o resultados numéricos con formato, se programa con la
instrucción fprintf de acuerdo a la siguiente estructura:

fprintf ( ' formatos ' , variables )

' formatos '

Se presentan varias representaciones ejecutables del parámetro ' formatos ' para poder
desplegar resultados, las más representativas son las siguientes:

formato ' % # s ' se utiliza para indicar el número de caracteres del texto a desplegar
como un aviso, mensaje, título o un rótulo de modo general estándar, de
una cadena de caracteres.

formato ' % d ' se utiliza para indicar el número de CAMPOS (número de dígitos y el
signo del número) que ocupa el número entero (sin decimales), en modo
general estándar.

formato ' % # d ' se utiliza para indicar un número # de CAMPOS que ocupa el número
entero, en modo definido ( # es cualquier valor entero ).

formato ' % f ' se utiliza para indicar el número de CAMPOS (número de dígitos, el punto
decimal y el signo del número) que ocupa el número real (con parte
decimal), en modo general estándar.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 34 -

formato ' % # . # f ' se utiliza para indicar el número de CAMPOS que ocupa el
número real, en modo definido para el total de campos del número
y el número de dígitos de la parte decimal del número.

formato ' Texto % # d ' se utiliza el parámetro Texto para poder identificar con
algún rótulo el valor que representa la variable a imprimir
o desplegar.

formato ' Texto % # . # f \ n ' se utiliza el parámetro \n para poder indicar a la


instrucción que realice un salto de línea al final de la
impresión del valor.

Con los ejemplos prácticos que se detallan, la funcionalidad de la instrucción fprintf, es muy
adecuada su utilización desde la ventana de comandos o como parte de un programa para el
despliegue de información de salida en la ventana Command Window:

fprintf ( ' % d ' , variable ) ;

fprintf ( ' % # d % #.# f ' , variable1 , variable2 ) ;

fprintf ( ' Rótulo = % #.# f ' , variable ) ;

fprintf ( ' Rótulo = % #.# f \ n ' , variable ) ;

fprintf ( ' Rótulo1 = % #.# f Rótulo2 \ n ' , variable ) ;

fprintf ( ' Rótulo1 = %d Rótulo2 = %f \ n ' , variable1 , variable2 ) ;

>> N = 5 ;
>> x = 2 ^ N ;

>> y = sqrt ( x ) ;
>> fprintf ( ' % d % f ' , x , y ) ; % Modo general estándar

32 5.656854>>

>> N = 5 ;
>> x = 2 ^ N ;

>> y = sqrt ( x ) ;
>> fprintf ( ' % 5 d % 8.3 f ' , x , y ) ; % Modo definido con formato

32 5.657>>

En los ejemplos indicados, al final del valor resultado se nota la presencia del >>, debido a
que la instrucción fprintf hace que se mantenga el cursor en la última línea de despliegue; para
que el prompt o símbolo de trabajo de la ventana del Command Window quede al inicio de una
nueva línea, se programa con una instrucción que corresponda al denominado “salto de línea”
o “imprima otra línea en blanco”.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 35 -

>> N = 5 ;
>> x = 2 ^ N ;

>> y = sqrt ( x ) ;
>> fprintf ( ' % 8 d % 12.3 f ' , x , y ) , disp( ' ') % “Imprimir otra línea en blanco”

32 5.657

>>

>> N = 5 ;
>> x = 2 ^ N ;

>> y = sqrt ( x ) ;
>> fprintf ( ' % 8 d % 12.3 f \ n ' , x , y ) % “Salto de línea”

32 5.657

>>

Visualización en pantalla de ejemplos de aplicación de la instrucción fprintf

>> c = 3456.34

c=
3.4563 e+03

>> fprintf ( ' % f \ n ' , c )

3456.340000

>> fprintf ( ' % 16.4 f \ n ' , c )

3456.3400

>> fprintf ( ' % 6.4 f ' , c )

3456.3400>>

>> fprintf ( ' % 10.3 f ' , c ) , disp ( ' ' )

3456.340
>>

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 36 -

>> fprintf ( ' % 10.3 f \ n ' , c )

3456.340
>>

>> fprintf ( ' Dato = % 10.3 f \ n ' , c )

Dato = 3456.340
>>

>> fprintf ( ' Dato = % 10.3 f cm \ n ' , c )

Dato = 3456.340 cm
>>

Cuando un formato para cantidades de tipo real, como ejemplo el de: % 12.5 f de despliegue
de valores reales con 5 decimales, se desea que tenga una programación variable en el número
de decimales a presentar, se utiliza recursos de programación como los de las funciones strcat y
num2str, de la siguiente manera:

fprintf ( ' % 12 . 5 f | n ' , x )

q=5 % define número de dígitos de la parte decimal de un valor real

p=7 % define número de dígitos de la parte decimal de un valor real

x = 32.29467231 % valor real con 8 dígitos decimales

w = - 12.456127627391 % valor real con 12 dígitos decimales

fprintf ( strcat ( ' % 12 . ' , num2str ( q ) , ' f |n ' ) , x ) % formato equivalente

32.29467

Para desplegar información de dos variables con formato que define el número de dígitos que
presenta la parte decimal, es:

fprintf ( strcat ( ' x = %12 . ' , num2str ( q ) , ' f w = % 14 .' , num2str ( p ) ,' f |n ' ) , x , w )

x = 32.29467 w = - 12.4561276

De igual manera se puede programar para definir en cualquier momento el número de campos
totales que utiliza el valor real.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 37 -

DECISIONES

Es una expresión de relación matemática (pregunta) que se utiliza para tomar una alternativa
de varias posibles y escoger la opción que le permita seguir la secuencia lógica de trabajo, de
acuerdo a las necesidades momentáneas seleccionada del proceso, en la aplicación.

La relación matemática con la que se estructura una decisión lógica, se genera de acuerdo a
las condiciones de la aplicación, utilizando los operadores de relación entre dos parámetros:

1.-) Las variables.


2.-) Las constantes.
3.-) Las expresiones.

OPERADORES DE RELACIÓN MATEMÁTICA:

Igual a: == Mayor o igual que: >=


Mayor que: > Menor o igual que: <=
Menor que: < Diferente a: ~=

Ejemplos de relaciones matemáticas:


Variable con constante: (A>0)
Variable con variable: (b>=w)
Variable con expresión: ( ( x ^ 2 + sin ( x ) ) < w )
Expresión con constante: ((a+(b–3))<=5)
Expresión con expresión: ((b^2)~=(4*a*c))

ALGORITMO
...........................
Si (relación) (Si)
...............
Caso Contrario (No)
.........
Opción Cumplida.
.......................

DECISIÓN if ( instrucción if )

 Solo con opción afirmativa (si):

if (relación)
Instrucciones del proceso
end

 Con la opción afirmativa (si) y la opción negativa (no):

if (relación)
Instrucciones del proceso
else
Instrucciones del proceso
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 38 -

APLICACIÓN DE PRUEBA:

Una relación o pregunta ejecutada, presenta un CERO cuando no la cumple o es falsa y


presenta un UNO cuando es verdadera, por consiguiente:

>> x = 13 ;
>> x = = 15.8 % Pregunta falsa.
ans =
0

>> x = = 13 % Pregunta verdadera.


ans =
1

Por medio de instrucciones en la ventana del Command Window o generando un programa


*.m en MatLab, como un ejemplo se ejecuta la programación que determina y despliega el
número mayor entre dos valores cualquiera.

1.- ) Salida del resultado sin “Mensaje”:

a = input ( ' Ingrese el primer dato = ' ) ; % Ingreso de datos


b = input ( ' Ingrese el segundo dato = ' ) ;
if (a > b) % Decisión.
m=a;
else
m=b;
end
disp ( m ) ;

Ingrese el primer dato = 3


Ingrese el segundo dato = 6

2.- ) Salida del resultado con un “Mensaje”:

a = input ( ' Ingrese el primer dato = ' ) ;


b = input ( ' Ingrese el segundo dato = ' ) ;
if a > b
m=a;
else
m=b;
end
disp ( ' El número mayor es = ' ) ; disp ( m ) ;

Ingrese el primer dato = - 5


Ingrese el segundo dato = 22

El número mayor es =
22

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 39 -

NIDO DE DECISIONES.

Cuando en una aplicación por su proceso matemático o lógico, la continuidad obliga a


seleccionar la secuencia del proceso entre de DOS o más opciones como resultados de la lógica
de definición, se utiliza dos o más decisiones, que permitan disponer de las opciones
necesarias; logrando diseñar los conocidos NIDOS DE DECISIONES, que entregan
respectivamente cada una de las opciones solicitadas o diseñadas para la aplicación.

ALGORITMO:
...........................
Si (relación1) (Si)
Si (relación2) (Si)
.................
.................
Caso Contrario . . . . (No)
...................
...................
Opción Cumplida2 (end)
Caso Contrario . . . . (No)
.....................
.....................
Opción Cumplida1 (end)
...................
...................

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 40 -

NIDO DE DECISIONES if.

La estructura de un nido de decisiones, se ajusta al siguiente esquema:

if (relación1)
if (relación2)
Instrucciones del proceso
else
Instrucciones del proceso
end
Instrucciones del proceso
else
Instrucciones del proceso
end

Por medio de instrucciones en la ventana del Command Window o generando un programa


*.m en MatLab, se ejecuta programación para determinar y desplegar el número mayor entre
tres valores cualquiera.

% Aplicación con Nido de decisiones:


a = input ( ' Ingrese el primer dato = ' ) ;
b = input ( ' Ingrese el segundo dato = ' ) ;
c = input ( ' Ingrese el tercer dato = ' ) ;
if a > b
if a > c % Nido de decisiones
m=a;
else
m=c;
end
else
if b > c
m=b ;
else
m=c ;
end
end
fprintf ( ' El número mayor es = % 5 d \ n ' , m )

 Ejecutando la aplicación varias veces para comprobar las posibilidades de funcionamiento


del nido de decisiones, se presenta los siguientes resultados:

1.- En una primera prueba de funcionamiento, se presenta:

Ingrese el primer dato = 33


Ingrese el segundo dato = - 55
Ingrese el tercer dato = 0

El número mayor es = 33

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 41 -

2.- En una segunda prueba de funcionamiento, se presenta:

Ingrese el primer dato = 8


Ingrese el segundo dato = - 3
Ingrese el tercer dato = 11

El número mayor es = 11

3.- En una tercera prueba de funcionamiento, se presenta:

Ingrese el primer dato = 6


Ingrese el segundo dato = 36
Ingrese el tercer dato = 21

El número mayor es = 36

DECISIÓN CON RELACIÓN DOBLE

Cuando se dispone de una decisión con relación doble, la decisión permite manejar operadores
lógicos tales como el operador & ( y ), el operador | ( o ) y el operador ~ ( no ).

Para facilitar la unión y continuidad lógica de las relaciones matemáticas, logrando la opción
deseada de entre dos posibilidades, sea la verdadera ( si ) o sea la falsa ( no ); por lo tanto si
Ω es la pregunta o relación doble, de acuerdo al operador lógico utilizado en la decisión, se
tiene que:

Relación Doble con And ( y ): β & £

Relación Doble con Or ( o ): β | £

Ω Si

No

β £ β &£ β £ β| £

si si si si si si
si no no si no si
no si no no si si
no no no no no no

( Si y solo Si . . . ) ( Si el uno o Si el otro . . . )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 42 -

 Determinar el número mayor entre tres valores conocidos cualesquiera:

% Aplicación con una relación matemática doble:

a = input ( ' Ingrese el primer dato = ' ) ;

b = input ( ' Ingrese el segundo dato = ' ) ;

c = input ( ' Ingrese el tercer dato = ' ) ;

if ( a > b ) & ( a > c ) % Decisión con relación doble.

m=a;
else

if ( b > c )
m=b ;
else
m= c ;
end

end

fprintf ( ' El número mayor es = % 5 d \ n ' , m )

 Ejecutando la aplicación varias veces para comprobar las posibilidades de funcionamiento


del nido de decisiones con relación doble, se presenta los siguientes resultados:

1.- En una primera prueba de funcionamiento, se presenta:

Ingrese el primer dato = - 3


Ingrese el segundo dato = 5
Ingrese el tercer dato = 1

El número mayor es = 5

2.- En una segunda prueba de funcionamiento, se presenta:

Ingrese el primer dato = 4


Ingrese el segundo dato = 1
Ingrese el tercer dato = 11

El número mayor es = 11

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 43 -

DECISIONES MÚLTIPLES ( instrucción switch - case )

Con la instrucción switch se puede elaborar relaciones matemáticas que permitan disponer de
decisiones múltiples, es decir que facilite la selección de una opción de dos o más posibles de
ejecutar.

La instrucción switch presenta la siguiente estructura lógica para seleccionar opciones:

switch variable

case valor1 ,
Instrucciones del proceso ;

case { valor2 , valor3 , valor4 , …… } ,


Instrucciones del proceso ;

otherwise
Instrucciones del proceso ;

end

Si se dispone como alternativas de cálculos, procesos que se determinen como opciones para
ejecutarse al cumplir condicionamientos, switch se estructuraría de acuerdo a la lógica que se
presenta como en el algoritmo siguiente:

si x = 5 entonces y = 2 * x

si = 8 , 10 , 12 entonces y = sqrt ( x + 1 )

si x cualquier valor , entonces y = x ^ 3

La programación de la lógica con la instrucción switch, se presentaría como:

% Programación de la lógica de la decisión múltiple switch


x = input ( ' Ingrese un valor como 5, 8, 10,12 o cualquier dato = ');
switch x

case 5 ,
y=2*x;

case { 8 , 10 , 12 } ,
y = sqrt ( x + 1 ) ;

otherwise
y=(x^3);

end

fprintf ( ' El resultado es = % 10.4 f \ n ' , m )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 44 -

 Ejecutando la aplicación varias veces para comprobar las posibilidades de funcionamiento


de la instrucción con opciones múltiples switch, se presenta los siguientes resultados:

Ingrese un valor como 5, 8, 10,12 o cualquier dato = 25


El resultado es = 15625.0000

Ingrese un valor como 5, 8, 10,12 o cualquier dato = 12


El resultado es = 3.6056

Ingrese un valor como 5, 8, 10,12 o cualquier dato = 5


El resultado es = 10.0000

La decisión múltiple, puede disponer de varias posibilidades de opciones que son programadas
con la instrucción case y que cumplido el pedido culmina con la decisión:

% Programación con la decisión múltiple switch


x = input ( ' Ingrese un valor par del 2 al 8 como dato = ');
switch x

case 2 ,
y = ' El número 2 es par ' ;

case 4 ,
y = ' El número 4 es par ' ;

case 6 ,
y = ' El número 6 es par ' ;

case 8 ,
y = ' El número 8 es par ' ;

otherwise
y = ' El número NO es par ' ;

end
disp ( y ) ; % Imprime el mensaje seleccionado.

Ejecutando la aplicación se logra comprobar las posibilidades de selección programadas para


su respectivo funcionamiento.

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un valor par del 2 al 8 como dato = 6

El número 6 es par

Ingrese un valor par del 2 al 8 como dato = -5

El número NO es par

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 45 -

ELABORACIÓN DE UN MENU DE TRABAJO

Para generar un menú, por programación se puede disponer como ejemplo utilizando las
instrucciones while y switch-case para el siguiente diseño:

w=0

while (w<=0 ) || (w == 1) || (w == 2) || (w == 3) || (w==4) || (w~=uint8(w))

disp ( 'Opción 1 . . . . . . ' )

disp ( ' Opción 2 . . . . . . ' )

disp ( 'Opción 3 . . . . . . ' )

disp ( 'Opción 4 Salir ' )

w = input ( 'Ingrese la Opción = ')

switch w

case 1
......
...... Programación Opción 1
......

case 2
......
...... Programación Opción 2
......

case 3
......
...... Programación Opción 3
......

case 4
end salida del menú

end cierre del switch

end cierre del while

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 46 -

CÁLCULO DE LAS RAÍCES DE UNA ECUACIÓN DE SEGUNDO GRADO.

% Aplicando la lógica matemática para calcular los posibles tipos de solución de las
% raíces de una ecuación parabólica, utilizando la referencia del discriminante:
clc
A = input ( ' Ingrese el valor coeficiente de A = ' ) ;
if ( A ~ = 0 )
B = input ( ' Ingrese el coeficiente de B = ' ) ;
C = input ( ' Ingrese el coeficiente de C = ' ) ;
D=B^2-4*A*C;
if ( D >= 0 )
if ( D > 0 ) % Soluciones reales diferentes.
X1 = ( - B + sqrt ( D ) ) / ( 2 * A ) ;
X2 = ( - B - sqrt ( D ) ) / ( 2 * A ) ;
else
X1 = ( - B ) / ( 2 * A ) ; % Soluciones reales iguales.
X2 = X1 ;
end
fprintf ( ' X1 = % 8.4 f \ n ' , X1 ) ;
fprintf ( ' X2 = % 8.4 f \ n ' , X2 ) ;
else
XR = - B / ( 2 * A ) ; % Soluciones imaginarias.
XI = sqrt ( abs ( D ) ) / ( 2 * A ) ;
fprintf ( ' X1 = % 8.4 f + % 8.4 f i \ n ' , XR , XI ) ;
fprintf ( ' X2 = % 8.4 f - % 8.4 f i \ n ' , XR , XI ) ;
end
else
disp( ' No existe Ecuación de Segundo Grado ' ) ;
disp( ' Coeficiente A es igual a cero ' ) ;
end

1.- ) Prueba de ejecución para cuando el coeficiente A es CERO ( A = 0 ).

Ingrese el valor coeficiente de A = 0


No existe Ecuación de Segundo Grado
Coeficiente A es igual a cero

2.- ) Prueba de ejecución para cuando el coeficiente A es DIFERENTE DE CERO.

Ingrese el valor coeficiente de A = 1


Ingrese el coeficiente de B = 4
Ingrese el coeficiente de C = 4
X1 = -2.0000
X2 = -2.0000

Ingrese el valor coeficiente de A = 1


Ingrese el coeficiente de B = 4
Ingrese el coeficiente de C = -4
X1 = 0.8284
X2 = -4.8284

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 47 -

Ingrese el valor coeficiente de A = 1


Ingrese el coeficiente de B = -2
Ingrese el coeficiente de C = 8

X1 = 1.0000 + 2.6458 i
X2 = 1.0000 - 2.6458 i

3.- ) Realizando un cambio de programación en el cálculo de las raíces imaginarias o


complejas

% Aplicación matemática de la función roots, propia de MatLab, para calcular


% raíces de una ecuación, de modo directo.
clc
A = input ( ' Ingrese el valor coeficiente de A = ' ) ;
if ( A ~ = 0 )
B = input ( ' Ingrese el coeficiente de B = ' ) ;
C = input ( ' Ingrese el coeficiente de C = ' ) ;
D = B ^ 2 - 4 * A * C;
if ( D >= 0)
if ( D > 0 )
disp( ' Raíces REALES diferentes ' ) ;
X1 = ( - B + sqrt ( D ) ) / ( 2 * A ) ;
X2 = ( - B - sqrt ( D ) ) / ( 2 * A ) ;
else
disp( ' Raíces REALES iguales ' ) ;
X1 = ( - B ) / ( 2 * A ) ;
X2 = X1;
end
fprintf ( ' X1 = % 8.4 f \ n ' , X1 ) ;
fprintf ( ' X2 = % 8.4 f \ n ' , X2 ) ;
else
p=[ABC];
disp( ' RAÍCES COMPLEJAS ( Imaginarias ) ' ) ;
W = roots ( p ) ;
disp( W ) ;
% PROCESOS MATEMÁTICOS REEMPLAZADOS por Técnicas MatLab
% XR = - B / ( 2 * A );
% XI = sqrt ( abs ( D ) ) / ( 2 * A );
end
else
disp( ' No existe Ecuación de Segundo Grado ' ) ;
disp( ' Coeficiente A es igual a cero ' ) ;
end

3.1.- ) Prueba de ejecución para cuando el coeficiente A es CERO ( A = 0 )

Ingrese el valor coeficiente de A = 0


No existe Ecuación de Segundo Grado
Coeficiente A es igual a cero

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 48 -

3.2.- ) Prueba de ejecución para cuando el coeficiente A es DIFERENTE DE CERO.

Ingrese el valor coeficiente de A = 1


Ingrese el coeficiente de B = 4
Ingrese el coeficiente de C = -4

Raíces REALES diferentes

X1 = 0.8284
X2 = -4.8284

Ingrese el valor coeficiente de A = 1


Ingrese el coeficiente de B = 4
Ingrese el coeficiente de C = 4

Raíces REALES iguales

X1 = -2.0000
X2 = -2.0000

Ingrese el valor coeficiente de A = 1


Ingrese el coeficiente de B = -2
Ingrese el coeficiente de C = 8

RAÍCES COMPLEJAS (Imaginarias)

1.0000 + 2.6458i
1.0000 - 2.6458i

Se genera un programa cuadratica.mat para guardar los resultados producidos de la ejecución


del programa cuadratica.m

>> save cuadratica

Se borra de memoria los valores guardados en cada variable de la ejecución del programa
cuadratica.m

>> clear all

Se carga a memoria los valores guardados en cada variable de la ejecución del programa
cuadratica.m en el programa cuadratica.mat

>> load ( ' cuadratica.mat ' )

Se borra el programa cuadratica.mat

>> delete cuadratica.mat

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 49 -

CICLOS ( B u c l e s )

Se utiliza un ciclo o bucle para realizar el CONTROL de un conjunto de operaciones o procesos


que se repetirán dentro de una aplicación. Son conocidos como los CONTROLES de CICLO o
como CONTADORES, dado que repiten el ciclo mientras se cumple una condición o también
desde un valor inicial hasta un valor final de conteo de las iteraciones o ciclos, disponiendo de
una variación de repetición en cada ciclo.

CONTROL DE CICLOS

La instrucción de control de ciclos proporciona una manera más flexible y estructurada de


realizar los ciclos o blucles.

Repite un conjunto de instrucciones condicionada MIENTRAS una Relación es True


(verdadera), su estructura es:

while Relación
. . . . Instrucciones del proceso.

end
. . . . Instrucciones del proceso.

 Determinar si el ingreso de un valor cualquiera es POSITIVO

% Aplicación con el uso del ciclo de control While:


n = input ( ' Ingrese un valor positivo = ' ) ;

while n < 0
fprintf ( ' Usted ingreso un valor NEGATIVO = % 6 d \ n ' , n )
n = input ( ' Por favor ingrese un valor positivo = ' ) ;
end

fprintf ( ' Gracias, el valor que ingreso es el = % 6 d \ n ' , n )

Al ejecutar el programa el funcionamiento del control de ciclo While realiza la lógica de


control de acuerdo a las opciones del bucle que presenta la relación matemática expresada.

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un valor positivo = - 33


Usted ingreso un valor NEGATIVO = -33

Por favor ingrese un valor positivo = 100


Gracias, el valor que ingreso es el = 100

Ingrese un valor positivo = 0


Gracias, el valor que ingreso es el = 0

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 50 -

CONTADORES

Los contadores se utilizan para generar ciclos que generen iteraciones de trabajo desde un
valor inicial m a un valor final N, considerando una variación de conteo k por cada iteración.
Controlan procesos con un número limitado de iteraciones. De modo general se dispone de los
siguientes contadores:

1.-) Contador Mientras que . . . . ( while )

ESTRUCTURA:
variable = valorinicio
while ( variable < valorfinal )
. . . . . Instrucciones del Proceso.
variable = variable + ( valor variación ciclo )
end

EJEMPLO GENERAL:
Cont = m
while ( Cont < N )
. . . . . Instrucciones del Proceso.
Cont = Cont + k
end

2.- ) Contador General

ESTRUCTURA:
for variable = valorinicio : ( valor variación ciclo ) : valorfinal
. . . . . Instrucciones del Proceso.
end

EJEMPLO GENERAL:
for Cont = m : k : N
. . . . . Instrucciones del Proceso.
end

3.- ) Contador Automático

ESTRUCTURA:
for variable = valorinicio : valorfinal
. . . . . Instrucciones del Proceso.
end

EJEMPLO GENERAL:
for Cont = m : N
. . . . . Instrucciones del Proceso
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 51 -

Parámetro Descripción
Cont Variable numérica que se utiliza como Variable Índice del contador de ciclos.
El nombre de la variable no puede ser de tipo Boolean o nombre de un
arreglo de vector o matriz. Parámetro Requerido.
m Valor inicial del contador, definido por una constante o nombre de una
variable predefinida. Parámetro Requerido.
N Valor final del contador, definido por una constante o nombre de una variable
predefinida. Parámetro Requerido
k Valor de variación del contador, que cambia cada vez que se ejecuta el ciclo o
iteración, definido por una constante o un nombre de variable predefinida. Si
no se especifica, el valor predeterminado de incremento es la unidad (1)
siempre que la variación de conteo sea ascendente.

El parámetro k puede ser positivo o negativo. El valor del parámetro determina la manera con
la que se procesa el conteo por cada iteración.

Si el valor de k es positivo, el conteo es ascendente del valor inicial de m al valor final de N


Si el valor de k es negativo, el conteo es descendente del valor inicial de m al valor final de N

APLICACIONES CON EL CONTADOR WHILE

1.- ) Conocido un grupo de n valores reales positivos de m, calcular la raíz cuadrada, el


cuadrado, el inverso del número y el promedio de los resultados pedidos.

% Aplicación cíclica, utilizando como contador al control de ciclos While


format short
clc ;
n = input ( ' Ingrese un valor de N elementos = ' ) ;
while n < = 0
n = input ( ' Ingrese un valor de N elementos = ' ) ;
end
i=0;
while i < n
m = input ( ' Ingrese un número real positivo = ' ) ;
while m < = 0
m = input ( ' Ingrese un número real positivo = ' ) ;
end
r = sqrt ( m ) ;
c=m^2;
a=1/m;
p=(a+r+c)/3;
fprintf ( ' Número Real Positivo = % 9.2 f \ n ' , m ) ;
fprintf ( ' Raíz Cuadrada = % 9.5 f \ n ' , r ) ;
fprintf ( ' Número al Cuadrado = % 9.2 f \ n ' , a ) ;
fprintf ( ' Inverso del Número = % 9.5 f \ n ' , a ) ;
fprintf ( ' Promedio resultados = % 9.2 f \ n ' , p ) ;
i=i+1;
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 52 -

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un valor de N elementos = 3

Ingrese un número real positivo = -3.12


Ingrese un número real positivo = 22
Número Real Positivo = 22.00
Raíz Cuadrada = 4.69042
Número al Cuadrado = 0.05
Inverso del Número = 0.04545
Promedio resultados = 162.91

Ingrese un número real positivo = 2.45


Número Real Positivo = 2.45
Raíz Cuadrada = 1.56525
Número al Cuadrado = 0.41
Inverso del Número = 0.40816
Promedio resultados = 2.66

Ingrese un número real positivo = 0.8765


Número Real Positivo = 0.88
Raíz Cuadrada = 0.93622
Número al Cuadrado = 1.14
Inverso del Número = 1.14090
Promedio resultados = 0.95

2.- ) Conocido un grupo de n valores que representan al tiempo t en segundos que domaran
los vehículos al trasladarse de punto A al punto B, calcular el tiempo equivalente en h Horas, m
Minutos y S segundos.

% Aplicación cíclica, utilizando como contador al control de ciclos while


n = input ( ' Ingrese un número N de vehículos = ' ) ;
while n < = 0
n = input ( ' Ingrese un número N de vehículos = ' ) ;
end
i=0;
while ( i < n )
t = input ( ' Ingrese el tiempo en segundos que se demora el vehículo = ' ) ;
while ( t < 0 )
t = input ( ' Ingrese el tiempo en segundos que se demora el vehículo = ' ) ;
end
h = fix ( t / 3600 ) ; r = rem ( t , 3600 ) ;
m= fix ( r / 60 ) ; s = rem ( r , 60 ) ;
fprintf ( ' Tiempo Total = % 12 d segundos \ n ' , t )
fprintf ( ' Horas =%5d\n',h)
fprintf ( ' Minutos =%5d\n',m)
fprintf ( ' Segundos =%5d\n',s)
i=i+1;
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 53 -

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un número N de vehículos = 2

Ingrese el tiempo en segundos que se demora el vehículo = 34567


Tiempo Total = 34567 segundos
Horas = 9
Minutos = 36
Segundos = 7

Ingrese el tiempo en segundos que se demora el vehículo = 432


Tiempo Total = 432 segundos
Horas = 0
Minutos = 7
Segundos = 12

APLICACIONES CON EL CONTADOR FOR

1.- ) Conocida la función parabólica y = 3 * x 2 – 8 * x – 15, calcular los respectivos


valores de y si los valores de x están representados por los n primeros números
impares positivos.

% Aplicación cíclica, utilizando al contador for:


n = input ( ' Ingrese un valor N, para los primeros números impares = ' ) ;
while n < = 0
n = input ( ' Ingrese un valor N, para los primeros números impares = ' ) ;
end
disp( ' X Y' ) ;
for i = 1 : n
x= 2*i -1;
y = 3 * x ^ 2 - 8 * x - 15 ;
disp( [ x , y ] )
end

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un valor N, para los primeros números impares = 7

X Y

1 -20
3 -12
5 20
7 76
9 156
11 260
13 388

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 54 -

2.- ) Conocido un grupo de N números enteros positivos de W, calcular la tabla de


multiplicar de los M primeros términos, de aquellos números que son pares.

% Aplicación cíclica, utilizando al contador for


n = input ( ' Ingrese un valor N, para definir el número de casos = ' ) ;
while n < = 0
n = input ( ' Ingrese un valor N, para definir el número de casos = ' ) ;
end
m = input ( ' Ingrese un valor M, para el número de términos de la tabla de multiplicar = ' ) ;
while m < = 0
m = input ( ' Ingrese un valor M, para el número de términos de la tabla de multiplicar = ' ) ;
end
for e = 1 : n
w = input ( ' Ingrese un valor W entero positivo = ' ) ;
while w < = 0
w = input ( ' Ingrese un valor W entero positivo = ' ) ;
end
if ( rem ( w , 2 ) = = 0 ) % Selección del número par.
for i = 1 : m
y=w*i;
fprintf ( ' %4d * %4d = %6d\n',w,i,y)
end
else
disp( ' El número no es par ' )
end
end

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un valor N, para definir el número de casos = 3


Ingrese un valor M, para el número de términos de la tabla de multiplicar = 12

Ingrese un valor W entero positivo = 3


El número no es par

Ingrese un valor W entero positivo = 6

6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
6 * 10 = 60
6 * 11 = 66
6 * 12 = 72

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 55 -

Ingrese un valor W entero positivo = 10

10 * 1 = 10
10 * 2 = 20
10 * 3 = 30
10 * 4 = 40
10 * 5 = 50
10 * 6 = 60
10 * 7 = 70
10 * 8 = 80
10 * 9 = 90
10 * 10 = 100
10 * 11 = 110
10 * 12 = 120

3.- ) Conocido un grupo de N valores enteros de X, calcular el digito de las unidades y el


digito de las decenas de cada valor de X que sea del grupo de las decenas positivas.

% Aplicación cíclica, utilizando al contador for


n = input ( ' Ingrese un valor N, para definir el número de casos = ' ) ;
while n < = 0
n = input ( ' Ingrese un valor N, para definir el número de casos = ' ) ;
end
for i = 1 : n
x = input ( ' Ingrese un número entero de las decenas positivas = ' ) ;
if ( ( x > = 10 ) & ( x < 100 ) )
u = rem ( x , 10 ) ;
d = fix ( x / 10 ) ;
fprintf ( ' El dígito de las unidades es = % 2 d \ n ' , u )
fprintf ( ' El dígito de las decenas es = % 2 d \ n ' ,d )
else
disp( ' No es número del grupo de las decenas positivas ' )
end
end

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un valor N, para definir el número de casos = 3


Ingrese un número entero de las decenas positivas = 234
No es número del grupo de las decenas positivas

Ingrese un número entero de las decenas positivas = 45


El dígito de las unidades es = 5
El dígito de las decenas es = 4

Ingrese un número entero de las decenas positivas = 83


El dígito de las unidades es = 3
El dígito de las decenas es = 8

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 56 -

COMANDO break ( INTERRUMPE UNA REPETICIÓN O CICLO )

El comando break, ordena la finalización de la ejecución de un proceso dentro de un ciclo de


conteo for o en un ciclo de control while

Si se conoce un grupo de N valores cualquiera de X, calcular la raíz cuadrada de los valores


positivos, si el valor ingresado es un valor negativo, desplegar el mensaje “ERROR, Es un valor
negativo” y finalizar el proceso.

% Aplicación del comando break, interrumpiendo proceso dentro del contador for.
n = input ( ' Ingrese un valor N, para definir el número de datos = ' ) ;
while n < = 0
n = input ( ' Ingrese un valor N, para definir el número de datos = ' ) ;
end
for i = 1 : n
x = input ( ' Ingrese un valor cualquiera = ' ) ;
if x < 0
disp( ' ERROR, Es un valor negativo ' ) ;
break ;
else
r = sqrt ( x ) ;
fprintf ( ' Valor de X = % 10.4 f \ n ' , x ) ;
fprintf ( ' Raíz Cuadrada = % 10.6 f \ n ' , x ) ;
end
end

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un valor N, para definir el número de datos = 3

Ingrese un valor cualquiera = 33

Valor de X = 33.0000
Raíz Cuadrada = 33.000000

Ingrese un valor cualquiera = 56.23

Valor de X = 56.2300
Raíz Cuadrada = 56.230000

Ingrese un valor cualquiera = -5.4


ERROR, Es un valor negativo

COMANDO continue ( INTERRUMPIR UNA EJECUCIÓN )

Hace que pase inmediatamente a la siguiente iteración del ciclo for o del control de ciclo while,
no ejecuta las instrucciones que se encuentran programadas entre el comando continue y la
instrucción end del ciclo.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 57 -

SUMATORIA POR LECTURA DE DATOS

Las SUMATORIAS se identifican como procesos cíclicos de acumulación de valores definidos


por lectura de datos o por valores que se han calculado a partir de datos. Se define el número
de elementos o casos con la frase:

. . . un grupo de N valores de . . . .

Se considera que la sumatoria se produce de manera directa, una vez que el elemento o dato ha
sido ingresado (DATO LEÍDO).

S =  x = x + x + x + x + x +...... + x ( N veces )

Se establece como modelo típico para el caso, la aplicación que permite el cálculo de una
acumulación de valores y también el modelo del cálculo de un promedio, sea cualquiera la
variable de acumulación definida (edad, estatura, peso, tensión, resistencia, valores, números,
otros datos).

EJEMPLOS:

1.- ) Calcular la sumatoria de las edades definidas en años, de un grupo de N personas:

% Aplicación con un proceso de acumulación de datos o sumatoria.


n = input ( ' Ingrese un valor que defina la cantidad de personas = ' ) ;
while n < = 0
n = input ( ' Ingrese un valor que defina la cantidad de personas = ' ) ;
end
s=0;
for i = 1 : n
edad = input ( ' Edad de la persona = ' ) ;
while edad < = 0
edad = input ( ' Ingrese un valor positivo como Edad de la persona = ' ) ;
end
s = s + edad ;
end
fprintf ( ' La cantidad de personas es = % 6 d \ n ' , n )
fprintf ( ' La suma de las edades es = % 7 d \ n ' , s )

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un valor que defina la cantidad de personas = 5


Edad de la persona = 22
Edad de la persona = 17
Edad de la persona = 32
Edad de la persona = 19
Edad de la persona = 25

La cantidad de personas es = 5
La suma de las edades es = 115

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 58 -

2.- ) Calcular el promedio de las estaturas definidas en metros y no mayores a 2 metros,


disponibles de un grupo de N personas.

% Aplicación con un proceso de acumulación de datos o sumatoria y cálculo del promedio.


n = input ( ' Ingrese un valor que defina el número de personas = ' ) ;
while n < = 0
n = input ( ' Ingrese un valor que defina el número de personas = ' ) ;
end
s=0;
for i = 1 : n
e = input ( ' Estatura en metros, de la persona = ' ) ;
while ( e < = 0 ) | ( e > 2 )
e = input ( ' Ingrese un valor (entre 0 y 2)como Estatura en metros de la persona = ' ) ;
end
s=s+e;
end
p=s/n;
fprintf ( ' La cantidad de personas es = % 6 d \ n ' , n )
fprintf ( ' La suma de las Estaturas es = % 8.4 f \ n ' , s )
fprintf ( ' El promedio de las Estaturas es = % 9.4 f \ n ' , p )

 Ejecutado el programa, presenta los siguientes resultados:

>> promedio1

Ingrese un valor que defina el número de personas = 5

Estatura en metros, de la persona = 3


Ingrese un valor (entre 0 y 2) como Estatura en metros de la persona = 1.45

Estatura en metros, de la persona = 1.66


Estatura en metros, de la persona = 1.87
Estatura en metros, de la persona = 1.2
Estatura en metros, de la persona = 2

La cantidad de personas es = 5

La suma de las Estaturas es = 8.1800

El promedio de las Estaturas es = 1.6360

3.- ) Calcular el promedio de los valores que a las vez sean múltiplos de 3 y múltiplos de 5,
si se dispone de un grupo de N valores enteros positivos.

n = input ( ' Ingrese un valor de N, número de datos = ' ) ;


while n < = 0
n = input ( ' Por favor ingrese un valor positivo de N número de datos = ' ) ;
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 59 -

s=0;
m=0;
for i = 1 : n
x = input ( ' Ingrese un valor de x, número entero positivo = ' ) ;
while x < = 0
x = input ( ' Por favor ingrese un número entero positivo = ' ) ;
end
% Determinación de los números que son múltiplos de 3 y de cinco a la vez.
if ( ( rem ( x , 3 ) == 0 ) & ( rem ( x , 5 ) == 0 ) )
s=s+x;
m=m+1;
else
disp( x )
disp( ' No cumple el requisito ' )
end
end
if ( m == 0 )
disp( ' La sumatoria es = 0 ' )
else
p=s/m;
fprintf ( ' Total de elementos = % 7 d \ n ' , m )
fprintf ( ' La sumatoria es =%7d\n',s)
fprintf ( ' El promedio es = % 7.2 f \ n ' , p )
end

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese un valor de N, número de datos = 5

Ingrese un valor de x, número entero positivo = 15

Ingrese un valor de x, número entero positivo = 33


33
No cumple el requisito

Ingrese un valor de x, número entero positivo = 60

Ingrese un valor de x, número entero positivo = 25


25
No cumple el requisito

Ingrese un valor de x, número entero positivo = 105

Total de elementos = 3
La sumatoria es = 180
El promedio es = 60.00

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 60 -

SERIES DESARROLLADAS POR GENERACIÓN DE TÉRMINOS CON EL VALOR


DE LA VARIABLE ÍNDICE DEL CONTADOR

La generación del elemento o término de la serie numérica, se efectúa por medio de un cálculo,
utilizando el valor que dispone la variable índice del contador.

En las series numéricas el número de términos es INFINITO, se limita el número de términos


con la definición de los N términos necesarios para el cálculo de la serie.

Se define el número de términos con la frase:

. . . los N primeros términos de . . .

GENERACIÓN DE SERIES, UTILIZANDO COMO MULTIPLICADOR AL CONTADOR:

1.- Serie ( W ): 2 4 6 8 10 12 . . . . . . ( 2 * N )

i=1,N

W=2*i

De modo general el diagrama representa la generación de series numéricas de acuerdo a la


siguiente estructura:

i=1,N

W=m*i

Dónde:

W, representa el término de la serie matemática calculada.


m, representa cualquier valor o expresión aritmética que permita generar el término de la serie
matemática.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 61 -

EJEMPLOS:

1.- ) Calcular el valor de Y, representado por la serie conformada por los n primeros números
impares:
Y = 1 + 3 + 5 + 7 + 9 + ..........

n = input ( ' Ingrese el número de términos para la serie = ' ) ;


while n < = 0
n = input ( ' Por favor ingrese bien, un valor que defina el número de términos para la serie = ' ) ;
end
Y=0;
for i = 1 : n
w=2*i–1; Y=Y+w; % Serie numérica.
end
fprintf ( ' Número de términos de la serie = % 6 d \ n ' , n )
fprintf ( ' Valor de la serie Y = % 8 d \ n ' , Y )

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese el número de términos para la serie = 5


Número de términos de la serie = 5
Valor de la serie Y = 25

2.- ) Calcular el valor de S, representado por la serie conformada por el inverso de los n
primeros números enteros positivos:

s = 1/1 + 1/2 + 1/3 + 1/4 + 1/5 + ..........

MODELO UNO:

n = input ( ' Ingrese la cantidad de términos de la serie = ' ) ;


s=0;
while n > 0 % Utilizando control de ciclo while.
s = s + 1 / n ; disp ( 1 / n ) ; n = n – 1 ; % Serie numérica.
end
fprintf ( ' Número de términos de la serie = % 6 d \ n ' , n )
fprintf ( ' Valor de la serie s = % 8.4 f \ n ' , s )

 Ejecutado el programa, presenta los siguientes resultados:

Número de términos de la serie = 5


0.2000
0.2500
0.3333
0.5000
1
Valor de la serie s = 2.2833

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 62 -

MODELO DOS:

% Aplicación matemática que utiliza un contador for para generar


% los términos de la serie numérica.
n = input ( ' Ingrese la cantidad de términos de la serie = ' ) ;
s=0;
for i = 1 : n
s=s+1/i;
disp( 1 / i ) ;
end
fprintf ( ' Número de términos de la serie = % 6 d \ n ' , n )
fprintf ( ' Valor de la serie s = % 8.4 f \ n ' , s )

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese la cantidad de términos de la serie = 6


1
0.5000
0.3333
0.2500
0.2000
0.1667

Número de términos de la serie = 6


Valor de la serie s = 2.4500

3.- ) Calcular el valor de Omega para valores de x que sean múltiplos de 3, si se dispone de
un grupo de n valores enteros, considerando los k primeros términos de la serie definida
por:

Omega = 0.23 + 2*x /3 - 4*x3 /5 + 8 * x 5 / 7 - 16 * x 7 ) / 9 +…

% Aplicación matemática, para calcular el valor de la serie.


% para datos de X que se consideran sean múltiplos de 3.
n = input ( ' Ingrese el número de valores de x = ' ) ;
while n < = 0
n = input ( ' Favor que sea positivo, Ingrese el número de valores de x = ' ) ;
end
k = input ( ' Ingrese el número de términos de la serie = ' ) ;
while k < = 0
k = input ( ' Favor que sea positivo, Ingrese el número de términos de la serie = ' ) ;
end
for i = 1 : n
x = input ( ' Ingrese el valor entero múltiplo de 3 = ' ) ;
if ( rem ( x , 3 ) == 0 )
omega = 0.23 ;
for j = 1 : ( k – 1 )
omega = omega + ( ( 2 * j ) * x ^ ( ( 2 * j ) – 1 ) / ( ( 2 * j ) + 1 ) ) * ( - 1 ) ^ ( j + 1 ) ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 63 -

end
fprintf ( ' Valor múltiplo de 3 = %5d\n',x)
fprintf ( ' Valor serie omega = % 12.4 f \ n ' , omega )
disp( ' ' )
else
fprintf ( ' No es múltiplo de 3 el valor = % 5 d \ n ' , x )
disp( ' Por lo tanto no se puede calcular la serie ' )
disp( ' ' )
end
end

 Ejecutado el programa, presenta los siguientes resultados:

>> serie
Ingrese el número de valores de x =3
Ingrese el número de términos de la serie = 12

Ingrese el valor entero múltiplo de 3 = 22


No es múltiplo de 3 el valor = 22
Por lo tanto no se puede calcular la serie

Ingrese el valor entero múltiplo de 3 = 6


Valor múltiplo de 3 = 6
Valor serie omega = 20418432687817172.0000

Ingrese el valor entero múltiplo de 3 = 12


Valor múltiplo de 3 = 12
Valor serie omega = 43702718079101305000000.0000

MODELO DEL FACTORIAL DE UN NÚMERO N ( n ! )

El uso de multiplicaciones sucesivas y continuas se fundamenta en el modelo de una sumatoria,


considerando que las condiciones operativas cambian por el hecho de los principios
matemáticos en la multiplicación y división.

El ejemplo típico de multiplicaciones sucesivas es el FACTORIAL de un número N.

1! = 1 * 1
2! = 1 * 1 * 2
3! = 1 * 1 * 2 * 3
..........
n! = 1 * 1 * 2 * 3 * 4 * . . . . . . . . . . * n

 Calcular el factorial de un número entero positivo cualquiera.

n = input ( ' Ingrese número (Factorial de) = ' ) ;


while n < = 0

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 64 -

n = input ( ' Ingrese número positivo (Factorial de) = ' ) ;


end
f=1;
for j = 1 : n
f=f*j;
end
fprintf ( ' Número = %6d\n',n)
fprintf ( ' Factorial = % 20 d \ n ' , f )

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese número (Factorial de) = 20


Número = 20
Factorial = 2432902008176640000

Ingrese número (Factorial de) = 44


Número = 44
Factorial = 2.658272 e+54

Ingrese número (Factorial de) = 100


Número = 100
Factorial = 9.332622 e+157

APLICACIONES MATEMÁTICAS CON SERIES Y FACTORIALES

1.- ) Calcular el valor de Y para los N primeros números enteros positivos impares,
considerando los k primeros términos de la serie definida por:

Y = - x3 /2! + 2*x5 /4! - 3*x7 /6! + 4*x9 /8! - .......

% Cálculo del valor de una serie matemática, utilizando una serie numérica
% Y aplicando en cada término de la serie el cálculo del factorial de los números
n = input ( ' Ingrese el número de valores de x = ' ) ;
while n < = 0
n = input ( ' Favor que sea positivo, Ingrese el número de valores de x = ' ) ;
end
k = input ( ' Ingrese el número de términos de la serie = ' ) ;
while k < = 0
k = input ( ' Favor que sea positivo, Ingrese el número de términos de la serie = ' ) ;
end
for i = 1 : n
x=2*i–1; % Generación de los N primeros número impares.
y=0;
for j = 1 : k
f=1;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 65 -

q=2*j;
for L = 1 : q
f=f*L; % Generación del factorial para los números pares.
end
y=y+(j*x^(2*j+1)/f)*(-1)^j;
end
fprintf ( ' Valor impar = %5d\n',x)
fprintf ( ' Valor serie = % 12.4 f \ n ' , y )
disp( ' ' )
end

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese el número de valores de x = 7


Ingrese el número de términos de la serie = 15

Valor impar = 1
Valor serie = -0.4207

Valor impar = 3
Valor serie = -0.6350

Valor impar = 5
Valor serie = 11.9866

Valor impar = 7
Valor serie = -16.0962

Valor impar = 9
Valor serie = -16.6925

Valor impar = 11
Valor serie = 59.2339

Valor impar = 13
Valor serie = -336.5482

2.- ) Si se dispone de un grupo de n valores de x que son números enteros positivos de una
cifra, calcular el valor de W para cada valor de x, considerando los k primeros términos
de la serie definida por:

w = 3*x2 - 9 * x 4 / 3! + 27 * x 6 / 5! - 81 * x 8 / 7! +

% Cálculo del valor de una serie matemática, utilizando un grupo de datos


% Y aplicando en cada término de la serie el cálculo del factorial de los números
n = input ( ' Ingrese el número de valores de x = ' ) ;
while n < = 0
n = input ( ' Favor que sea positivo, Ingrese el número de valores de x = ' ) ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 66 -

end
k = input ( ' Ingrese el número de términos de la serie = ' ) ;
while k < = 0
k = input ( ' Favor que sea positivo, Ingrese el número de términos de la serie = ' ) ;
end
for i = 1 : n
x = input ( ' Ingrese un número del grupo de las unidades positivas = ' ) ;
while ( x > = 10 ) | ( x < 1 )
x = input ( ' Favor Ingrese un número del grupo de las unidades positivas = ' ) ;
end
w=0;
for j = 1 : k
f=1;
q=2*j–1;
for L = 1 : q
f=f*L;
end
w = w + ( 3 ^ j * x ^ ( 2 * j ) / f ) * ( -1 ) ^ ( j + 1 ) ;
end
fprintf ( ' Valor impar = % 12.4 f \ n ' , x )
fprintf ( ' Valor serie = % 16.4 f \ n ' , w )
disp( ' ' )
end

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese el número de valores de x = 3

Ingrese el número de términos de la serie = -4

Favor que sea positivo, Ingrese el número de términos de la serie = 15

Ingrese un número del grupo de las unidades positivas = -6

Favor Ingrese un número del grupo de las unidades positivas = 11

Favor Ingrese un número del grupo de las unidades positivas = 7


Valor impar = 7.0000
Valor serie = -0.1200

Ingrese un número del grupo de las unidades positivas = 2


Valor impar = 2.0000
Valor serie = -1.0979

Ingrese un número del grupo de las unidades positivas = 9


Valor impar = 9.0000
Valor serie = 14553.4100

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 67 -

TEMA Página
Arreglos Matemáticos Unidimensionales - Vectores 69
Estructura de Vectores - Elementos 71
Representación Vectorial de las Polinómicas 74
El Vector y la Función para Polinómicas 75
Funciones Polinómicas y Aplicaciones Vectoriales 81
Programación de Aplicaciones Vectoriales 92
Arreglos Matemáticos Bidimensionales - Matrices. 105
Estructura de Matrices y sus Elementos 107
Funciones para Matrices 113
Aplicaciones Matemáticas con Matrices 125
Aplicaciones Matriciales Generales 127

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 68 -

Un buen principio hace un buen final.


Proverbio Inglés.

Nunca me he encontrado con alguien tan ignorante de quien no


pudiese aprender algo
Galileo Galilei.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 69 -

ARREGLOS MATEMÁTICOS

ARREGLOS MATEMÁTICOS UNIDIMENSIONALES


(VECTORES)

En el MatLab a los arreglos matemáticos unidimensionales o mejor identificados como


VECTORES, se les representa con nombres de variables.

1.- ) ASIGNACIÓN DE LOS ELEMENTOS DE UN VECTOR A UNA VARIABLE

La asignación de datos a un vector cualquiera, se realiza por medio de una igualdad de los
respectivos elementos a los cuales va a representar el vector, la asignación de valores al vector
se representan entre corchetes.

>> v = [ 2 41 6 17 -7 -3 10 1 -9 3 2 8 11 0 ]

v=
2 41 6 17 -7 -3 10 1 -9 3 2 8 11 0

2.- ) INGRESO DE LOS ELEMENTOS DE UN VECTOR A UNA VARIABLE

El ingreso de datos en un vector cualquiera corresponde a un diseño de lectura de datos para


el vector, considerando un número N de elementos respectivos.

Por programación, los vectores son representados por nombres de variables y el ingreso de
datos ( LECTURA VECTORIAL ) se diseña con un conjunto de instrucciones que define el ciclo
de lectura, la identificación de la posición del elemento en el vector se realiza entre paréntesis
con la variable índice definida por un contador.

% Diseño de lectura de datos o elementos de un vector.


n = input ( ' Ingrese número de elementos del vector x = ' ) ;
while n < = 0
n = input ( ' Ingrese número positivo de elementos del vector x = ' ) ;
end
for i = 1 : n
fprintf ( ' Ingrese el elemento del vector X ( % 2 d ) ' , i )
x(i) = input ( ' = ' ) ;
end

Ingrese número de elementos del vector x = -4


Ingrese número positivo de elementos del vector x = 5
Ingrese el elemento del vector X ( 1 ) = 11
Ingrese el elemento del vector X ( 2 ) = -22
Ingrese el elemento del vector X ( 3 ) = 43
Ingrese el elemento del vector X ( 4 ) = 7
Ingrese el elemento del vector X ( 5 ) = 19

En la lectura de datos de un vector, se puede considerar que el vector por lo menos tenga DOS
elementos, pero de acuerdo al proceso aplicarse, el vector puede disponer de UN elemento.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 70 -

A los arreglos VECTORIALES, se les representa con nombres de variables y con un subíndice
que indica la posición del elemento en el vector.

El vector tiene la siguiente notación: Nombre (variable índice)

Nombre, corresponde a un nombre propio de variable que representa al vector o al espacio de


memoria que ocupa el vector en una dirección, para sus N elementos.

Variable índice, corresponde a un nombre de variable predefinida, constante o expresión


aritmética predefinida, que identifica a la posición del elemento en el vector o a la posición del
elemento en el espacio de memoria del arreglo, no se identifica como parte propia del nombre
del vector.

En el MatLab, para identificar a los elementos de un vector se utiliza la siguiente notación:

1.- Cuando se refiere específicamente a un solo elemento del vector, el detalle de posición es
explícito y el subíndice es una constante:
A(5) v(7)

2.- Cuando se refiere a un elemento del vector de acuerdo a la identificación de la posición del
elemento; en el detalle de posición el subíndice es un nombre de variable predefinida o una
expresión aritmética que defina la posición del elemento:
A(i) v ( 3* i – 1 )

3.- Cuando se refiere a un grupo de los elementos del vector; en el detalle de posición el
subíndice es un nombre de variable predefinida o una expresión aritmética que defina las
posiciones de los elementos:
A(2:5) v ( 2* i : 2 : 10 )

4.- Cuando se refiere específicamente al vector, únicamente el nombre del vector, identifica a
todos sus elementos en el orden y posición que representa:
A v

Ejemplos:

>> v = [ 2 41 6 17 -7 -3 10 1 -9 3 28 11 0 ] % Generar un vector.


v=
2 41 6 17 -7 -3 10 1 -9 3 2 8 11 0

>> v ( 2 : 5 ) % Identifica elementos de un vector.


ans =
41 6 17 -7

>> i = 1 ;
>> v ( 2 * i : 2 : 10 )
ans =
41 17 -3 1 3

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 71 -

ESTRUCTURA DE MANEJO DE VECTORES Y ELEMENTOS DEL VECTOR:

Por medio de funciones del MatLab, se hace operativo con instrucciones del manejo de
vectores, considerando lo que representa y la operatividad matemática:

 Direccionamiento de las posiciones de los elementos de un vector.

>> x = [ 8 1 9 4 6 0 2 ] ;
>> p = [ 3 5 7 ] ;
>> w = x ( p )

w=

9 6 2 % w contiene los elementos de las posiciones 3, 5 y 7 del vector x

>> x = [ 18 21 99 76 14 66 40 17 22 ] ;
>> p = [ 4 8 5 ] ;
>> w = x ( p )

w=

76 17 14 % w contiene los elementos de las posiciones 4, 8 y 5 del vector x

 Asignación de valores como elementos de un vector por medio de una secuencia


matemática o series numéricas.

>> p = [ 1 : 12 ]

p=
1 2 3 4 5 6 7 8 9 10 11 12

>> z = [ 1 : 2 : 15 ]

z=
1 3 5 7 9 11 13 15

>> n = [ -2.0 : 0.4 : 1.2 ]

n=
-2.0000 -1.6000 -1.2000 -0.8000 -0.4000 -0.0000 0.4000 0.8000 1.2000

>> m = 1 ;
>> k = 10 ;
>> n = 0.3 ;
>> w = [ m : 2 * n : k ]

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 72 -

w=

Columns 1 through 10
1.0000 1.6000 2.2000 2.8000 3.4000 4.0000 4.6000 5.2000 5.8000 6.4000

Columns 11 through 16
7.0000 7.6000 8.2000 8.8000 9.4000 10.0000

>> r = [ 20 : -2 : 4 ]

r=
20 18 16 14 12 10 8 6 4

>> m = [ 15 : -1 : 1 ]

m=
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Cuando a un vector se lo genera por medio de una igualdad, los elementos del vector son
separados únicamente por un espacio o también por medio de una coma ( , ), representando así
a los denominados VECTORES FILA:

A = [ 5 8 11 2 6 3 1 0 9 ]

A = [ 5 , 8 , 11 , 2 , 6 , 3 , 1 , 0 , 9 ]

Para representar o asignar a un VECTOR COLUMNA o vector fila transpuesto, se utiliza el


operador apostrofo ( ' ) que acompañe al nombre del vector:

>> z = A '

z=
5
8
11
2
6
3
1
0
9

>> R = z '
R=
5 8 11 2 6 3 1 0 9

También, se puede generar el vector transpuesto, separando a los elementos del vector con el
punto y coma ( ; ) :

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 73 -

>> A = [ 5 ; 8 ; 11 ; 2 ; 6 ; 3 ; 1 ; 0 ; 9 ]

A=
5
8
11
2
6
3
1
0
9

 Cálculo de valores como elementos de un vector, utilizando otro vector.

>> % Incluir los elementos de un vector en otro vector.

>> x = [ 11 22 33 ] ;

>> y = [ 3 , x , -6 , 7 ]

y=

3 11 22 33 -6 7

>> % Producto escalar con los elementos de un vector.

>> x = [ 11 22 33 ] ;

>> z = 2 * x

z=

22 44 66

>> % Crear un vector con cálculos realizados por funciones.

>> x = [ 11 22 33 ] ;

>> w = sqrt ( x )

w=

3.3166 4.6904 5.7446

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 74 -

REPRESENTACIÓN VECTORIAL DE LOS COEFICIENTES DE UNA POLINÓMICA

La estructura de un vector, ayuda también a definir a los coeficientes de una ecuación


polinómica de grado n, que de acuerdo al número m de elementos que disponga el vector
generado, representará a la polinómica de n = ( m -1 ) grado:

Ecuación cúbica: x 3 - 3 x 2 - 13 x + 15 = 0 Grado 3, con 4 coeficientes.

Representación vectorial: P = [ 1 -3 -13 15 ] Vector con 4 elementos.

Si P es la ecuación polinómica de grado n = 3, tiene m = 4 elementos o coeficientes el vector


que representa a la ecuación, es útil para realizar algunas operaciones de cálculo en MatLab.

FUNCIÓN roots

Realiza el cálculo de las raíces solución de una polinómica definida por un vector.

>> P = [ 1 -3 -13 15 ] ;
>> r = roots ( P )
r=
5.0000
-3.0000
1.0000

Se observa en la ventana Workspace del MatLab, que la variable r es un vector que contiene
tres elementos que son raíces de la ecuación de tercer grado trabajada.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 75 -

Es una función equivalente y óptima para el cálculo de valores funcionales de una polinómica
de grado n, pero establecido de manera definida en n=3; para cuando se desea de otra
polinómica con un grado y coeficientes diferentes, se debe cambiar los datos de la nueva
polinómica representada por el vector P o cualquier otro nombre de vector.

1.-) Ecuación polinómica: x 4 - 25 x 3 - 427 x 2 - 826 x + 4236 = 0

>> F = [ 1 -25 -427 826 4236 ]


F=
1 -25 -427 826 4236

>> c = roots ( F )
c=
36.1034
-12.4454
3.8139
-2.4719

Se presenta cuatro raíces solución de la polinómica, que se guardan en el vector c

2.-) Ecuación polinómica: x 3 - 3 x 2 + 7 x + 11 = 0

>> b = [ 1 -3 7 11 ]
b=
1 -3 7 11

>> x = roots ( b )
x=
2.0000 + 2.6458 i Es una raíz compleja.
2.0000 - 2.6458 i Es una raíz compleja.
-1.0000 + 0.0000 i Es una raíz real con representación de raíz compleja.

En la aplicación, la polinómica de grado n = 3 presenta un par de raíces solución imaginarias.


Se presentan tres raíces solución de la polinómica, que se guardan en el vector x

EL VECTOR Y LA FUNCIÓN PARA POLINÓMICAS

FUNCIÓN polyval

Realiza el cálculo de la función Y de la polinómica definida por un vector para un valor X:

>> P = [ 1 -3 -13 15 ] ;
>> y = polyval ( P , 2.5 )
y=
- 20.6250

Para realizar varios cálculos de pares coordenados de la polinómica, se programa a la


polinómica de las siguientes formas:

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 76 -

1.- ) Considerando que X es un vector generado con valores [ 1 2 3 4 5 6 7 8 ]

P = [ 1 -3 -13 15 ] ;
disp( ' Valores funcionales de: y = x3 - 3 x2 - 13 x + 15 ' ) ;
disp( ' ' ) ;
disp( ' X Y' ) ;
for i = 1 : 8
X(i) = i ;
Y(i) = polyval ( P , i ) ;
end
for i = 1 : 8
disp( [ X(i) , Y(i) ] )
end

 Ejecutado el programa, presenta los siguientes resultados:

Valores funcionales de: y = x 3 - 3 x 2 - 13 x + 15


X Y
1 0
2 -15
3 -24
4 -21
5 0
6 45
7 120
8 231

Realizando un proceso netamente matemático desde la ventana del Command Window del
MatLab, también se puede generar el cálculo de los valores del vector Y para los valores del
vector X, utilizando la función y = x 3 - 3 x 2 - 13 x + 15, así:

>> X = [ 1 2 3 4 5 6 7 8 ] ;
>> P = [ 1 -3 -13 15 ] ;
>> Y = polyval ( P , X )
Y=
0 -15 -24 -21 0 45 120 231

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 77 -

2.- ) Considerando que X es un vector generado con valores entre -1.5 a 8.5 variando 1.

P = [ 1 -3 -13 15 ] ;
i=0;
disp( ' Valores funcionales de: y = x 3 - 3 x 2 - 13 x + 15 ' ) ;
disp( ' ' ) ;
disp( ' X Y');
for u = -1.5 : 8.5
i=i+1;
X(i) = u ;
Y(i) = polyval ( P , u ) ;
end
for k = 1 : i
fprintf ( ' % 6.2 f % 10.4 f \ n ' , X(k) , Y(k) ) % disp( [ X(k) , Y(k) ] )
end

 Ejecutado el programa, presenta los siguientes resultados:

Valores funcionales de: y = x 3 - 3 x 2 - 13 x + 15

X Y
-1.50 24.3750
-0.50 20.6250
0.50 7.8750
1.50 -7.8750
2.50 -20.6250
3.50 -24.3750
4.50 -13.1250
5.50 19.1250
6.50 78.3750
7.50 170.6250
8.50 301.8750

3.- ) Considerando que X es un vector con M elementos como datos leídos.

P = [ 1 -3 -13 15 ] ;
disp( ' Valores funcionales de: y = x 3 - 3 x 2 - 13 x + 15 ' ); disp( ' ' ) ;
m = input( ' Ingrese el número de datos m = ' ) ;
for i = 1 : m
fprintf ( ' Ingrese el valor de X ( % 2 d ) ' , i )
X(i) = input ( ' = ' ) ;
end
for i = 1 : m
Y(i) = polyval ( P , i ) ;
end
disp( ' X Y');
for i = 1 : m
fprintf ( ' % 10.4 f % 15.4 f ' , X(i) , Y(i) )
disp( ' ' ) ;
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 78 -

 Ejecutado el programa, presenta los siguientes resultados:

Valores funcionales de: y = x 3 - 3 x 2 - 13 x + 15

Ingrese el número de datos m = 5


Ingrese el valor de X ( 1 ) = -5.67
Ingrese el valor de X ( 2 ) = 3
Ingrese el valor de X ( 3 ) = 1.23
Ingrese el valor de X ( 4 ) = -2.456
Ingrese el valor de X ( 5 ) = 7.776

X Y
-5.6700 0.0000
3.0000 -15.0000
1.2300 -24.0000
-2.4560 -21.0000
7.7760 0.0000

4.- ) Considerando que X es un vector que contiene M elementos como datos leídos para
una polinómica de grado N.

La programación de la aplicación considerando que tanto la polinómica de grado N como los


valores de X, son ingresados por teclado (DATOS LEÍDOS ), para calcular el valor funcional Y
y se logre el par coordenado, se procede de la siguiente manera:

4.1.- ) Lectura de los coeficientes de una polinómica de grado N

n = input ( ' Ingrese el grado N de la polinómica = ' ) ;


while n < = 0
n = input ( ' Ingrese el grado N de la polinómica = ' ) ;
end
for i = 1 : ( n + 1 )
fprintf ( ' Ingrese el coeficiente A ( % 2 d ) de la polinómica ' , i )
a(i) = input ( ' = ' ) ;
while a(1) = = 0
a(1) = input ( ' Ingrese el coeficiente A ( 1 ) de la polinómica diferente a cero = ' ) ;
end
end

4.2.- ) Lectura de los M elementos del vector X.

m = input ( ' Ingrese el número M de elementos del vector X = ' ) ;


while m < = 0
m = input ( ' Ingrese el número M positivo de elementos del vector X = ' ) ;
end
for i = 1 : m
fprintf ( ' Ingrese el elemento del vector X ( % 2 d ) ' , i )
x(i) = input ( ' = ' ) ;
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 79 -

4.3.- ) Cálculo de los M valores funcionales de Y de una polinómica de grado N conocido


los valores de X.

La polinómica está definida por la serie:

Y = A1 X N + A2 X N-1 + A3 X N-2 + . . . . . . + AN X + AN+1

Por lo que se debe calcular un valor de Y para cada valor de X, denominado el par coordenado,
diseñando bajo el criterio de aplicación vectorial:

for i = 1 : m
Y(i) = a ( n + 1 ) ;
for k = 1 : n
Y(i) = Y(i) + a(k) * x(i) ^ ( n + 1 – k ) ;
end
end

APLICACIÓN GENERAL:

n = input ( ' Ingrese el grado N de la polinómica = ' ) ;


while n < = 0
n = input ( ' Ingrese el grado N de la polinómica = ' ) ;
end
for i = 1 : ( n + 1 )
fprintf ( ' Ingrese el coeficiente A ( % 2 d ) de la polinómica ' , i )
a(i) = input ( ' = ' ) ;
while a(1) = = 0
a(1) = input ( ' Ingrese el coeficiente A ( 1 ) de la polinómica diferente a cero = ' ) ;
end
end

m = input ( ' Ingrese el número M de elementos del vector X = ' ) ;


while m < = 0
m = input ( ' Ingrese el número M positivo de elementos del vector X = ' ) ;
end
for i = 1 : m
fprintf ( ' Ingrese el elemento del vector X ( % 2 d ) ' , i )
x(i) = input ( ' = ' ) ;
end

for i = 1 : m
Y(i) = a ( n + 1 ) ;
for k = 1 : n
Y(i) = Y(i) + a(k) * x(i) ^ ( n + 1 - k ) ;
end
end
disp( ' X Y')
for i = 1 : m
fprintf ( ' % 10.4 f % 14.4 f \ n ' , x(i) , Y(i) )
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 80 -

Almacenado el programa como polinomica.m, se realiza la ejecución y se logra como ejemplo,


los siguientes cálculos:

Ingrese el grado N de la polinómica = 3


Ingrese el coeficiente A ( 1 ) de la polinómica = 1
Ingrese el coeficiente A ( 2 ) de la polinómica = -3
Ingrese el coeficiente A ( 3 ) de la polinómica = -13
Ingrese el coeficiente A ( 4 ) de la polinómica = 15
Ingrese el número M de elementos del vector X = 6
Ingrese el elemento del vector X ( 1 ) = 1.134
Ingrese el elemento del vector X ( 2 ) = 2.43
Ingrese el elemento del vector X ( 3 ) = 4.78
Ingrese el elemento del vector X ( 4 ) = 6
Ingrese el elemento del vector X ( 5 ) = 7.89
Ingrese el elemento del vector X ( 6 ) = 9.0023

X Y
1.1340 -2.1416
2.4300 -19.9558
4.7800 -6.4698
6.0000 45.0000
7.8900 216.8428
9.0023 384.4049

Se puede diseñar la toma de información de los datos de la polinómica de acuerdo a la


asignación directa a un vector; para cambiar los coeficientes de otra polinómica, se deberá
cambiar los valores del vector que contiene los coeficientes de la polinómica asignada,
programado de la siguiente manera:

a = [ 1 -3 -13 15 ] ; % Para nueva polinómica cambiar los valores


p = length ( a ) ;
n=p–1;
m = input ( ' Ingrese el número M de elementos del vector X = ' ) ;
while m < = 0
m = input ( ' Ingrese el número M positivo de elementos del vector X = ' ) ;
end
for i = 1 : m
fprintf ( ' Ingrese el elemento del vector X ( % 2 d ) ' , i )
x(i) = input ( ' = ' ) ;
end
for i = 1 : m
Y(i) = a ( n + 1 ) ;
for k = 1 : n
Y(i) = Y(i) + a(k) * x(i) ^ ( n + 1 - k ) ;
end
end
disp( ' X Y')
for i = 1 : m
fprintf ( ' % 10.4 f % 14.4 f \ n ' , x(i) , Y(i) )
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 81 -

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese el número M de elementos del vector X = 5


Ingrese el elemento del vector X ( 1 ) = 1.23
Ingrese el elemento del vector X ( 2 ) = 2.54
Ingrese el elemento del vector X ( 3 ) = 4.32
Ingrese el elemento del vector X ( 4 ) = 5
Ingrese el elemento del vector X ( 5 ) = 7.32
X Y
1.2300 -3.6678
2.5400 -20.9877
4.3200 -16.5256
5.0000 0.0000
7.3200 151.3160

FUNCIONES POLINÓMICAS Y APLICACIONES VECTORIALES

FUNCIÓN eval

Realiza el cálculo de la función Y de la polinómica definida de modo literal para un valor X.

>> f = ' X ^ 3 - 3 * X ^ 2 - 13 * X + 15 ' ;


>> X = 1.23 ;
>> Y = eval ( f )

Y=
-3.6678

>> f = ' 3 * x ^ 4 - 2 * x ^ 3 - 8 * x ^ 2 – 3 * x - 11 ' ;


>> x = 3 ;
>> y = eval ( f )

y=
97

FUNCIÓN poly

Realiza el cálculo de la ecuación origen a partir del producto de las raíces.

>> p = [ 1 -3 -13 15 ] ;
>> x = roots ( p ) % Raíces de la polinómica.
x=
5.0000
-3.0000
1.0000

>> r = poly ( x ) % Producto de las raíces.


r=
1.0000 -3.0000 -13.0000 15.0000

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 82 -

FUNCIÓN poly2sym

La función poly2sym realiza la representación de la ecuación definida por un vector que


contiene los coeficientes de la ecuación a una expresión de la ecuación de modo algébrico.

>> a = [1 -3 -13 15 ]
>> ecua = poly2sym (a)
>> disp (ecua)

x ^ 3 – 3 * x ^ 2 – 13 * x + 15

>> a = [1 5 3 -10 ]
>> ecua = poly2sym (a)
>> disp. (' ')
>> fprintf ( ' Ecuación: 0=')
>> disp (ecua)

0 = x ^ 3 + 5* x ^ 2 + 3 * x - 10

FUNCIÓN sym2poly

La función sym2poly realiza la representación de la ecuación definida de modo algébrico a un


vector que contiene los coeficientes de la ecuación.

>> polinom = ' x ^ 3 – 3 * x ^ 2 – 13 * x + 15 '

>> p = sym2poly (polinom)

p=
1 -3 - 13 15

FUNCIÓN find

Determina el o los índices de los elementos del vector que no son igual a cero.

>> s = [ 1 3 5 0 6 4 0 11 ]

s =
1 3 5 0 6 4 0 11

>> h = find ( s )

h=
1 2 3 5 6 8

Los índices 4 y 7, identifican a elementos igual a cero, por lo tanto no los considera.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 83 -

>> Y = find ( s > 3 )

Y=
3 5 6 8

Los índices 3, 5, 6 y 8 disponen de elementos en el vector s mayores a 3

FUNCIÓN max

Determina el número mayor de los elementos de un vector.

>> v = [ 2 5 -4 11 -6 0 7 9 1 ]

v=
2 5 -4 11 -6 0 7 9 1

>> Mayor = max ( v )

Mayor =
11

FUNCIÓN min

Determina el número menor de los elementos de un vector.

>> v = [ 2 5 -4 11 -6 0 7 9 1 ]

v =
2 5 -4 11 -6 0 7 9 1

>> Menor = min ( v )

Menor =

-6

FUNCIÓN sum

Realiza el cálculo de la sumatoria o acumulación de los elementos del vector.

>> v = [ 2 5 -4 11 -6 0 7 9 1 ]

v=
2 5 -4 11 -6 0 7 9 1

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 84 -

>> Total = sum ( v )

Total =
25

FUNCIÓN mean

Realiza el cálculo de la media aritmética de los elementos del vector.

>> k = [ 2 3 5 7 4 8 9 ]

k=
2 3 5 7 4 8 9

>> Media = mean ( k )

Media =
5.4286

FUNCIÓN median

Realiza el cálculo de la mediana de los elementos del vector.

>> V = [ 2 3 4 5 6 7 8 9 2 3 5 4 6 7 8 9 1 4 3 ]

V=
2 3 4 5 6 7 8 9 2 3 5 4 6 7 8 9 1 4 3

>> Mediana = median ( V )

Mediana =
5

FUNCIÓN std

Realiza el cálculo de la desviación estándar de los elementos del vector.

>> V = [ 2 3 4 5 6 7 8 9 2 3 5 4 6 7 8 9 1 4 3 ]

V=
2 3 4 5 6 7 8 9 2 3 5 4 6 7 8 9 1 4 3

>> w = std ( V )

w=
2.4602

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 85 -

FUNCIÓN prod

Realiza el cálculo del producto escalar de los elementos del vector.

>> k = [ 2 3 5 7 4 8 9 ]

k=
2 3 5 7 4 8 9

>> q = prod ( k )

q=
60480

FUNCIÓN cumprod

Realiza el cálculo del producto escalar de los elementos del vector y asigna a otro vector los
productos parciales o acumulados.

>> k = [ 2 3 5 7 4 8 9 ]

k=
2 3 5 7 4 8 9

>> d = cumprod ( k )

d=
2 6 30 210 840 6720 60480

FUNCIÓN sort

Realiza el ordenamiento ascendente de los elementos del vector, asignando a otro vector los
elementos ordenados

>> a = [ 1 7 22 18 9 15 12 20 6 ]

a=
1 7 22 18 9 15 12 20 6

>> c = sort ( a )

c=
1 6 7 9 12 15 18 20 22

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 86 -

FUNCIÓN dsort

Realiza el ordenamiento descendente de los elementos del vector, asignando a otro vector los
elementos ordenados

>> a = [ 1 7 22 18 9 15 12 20 6 ]

a=
1 7 22 18 9 15 12 20 6

Determina al vector ordenado de modo descendente como vector columna:

>> e = dsort ( a )

e=
22
20
18
15
12
9
7
6
1

Determina al vector ordenado de modo descendente como un vector fila (transpuesto):

>> e = dsort ( a ) '

e=
22 20 18 15 12 9 7 6 1

FUNCIÓN fzero

Realiza el cálculo de la raíz solución real de una ecuación, considerando la asignación de un


valor inicial a x.

>> f = ' x ^ 2 -4 * x + 5 ' % Tiene raíces complejas ( un par conjugado )


>> r = fzero ( f , 2 )
f=
x^2–4*x+5

Exiting fzero: aborting search for an interval containing a sign change


because NaN or Inf function value encountered during search.
(Function value at -1.7162e+154 is Inf.)
Check function or try again with a different starting value.

r=
NaN

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 87 -

>> f = ' x ^ 2 -4 * x -5 ' % Tiene raíces reales ( - 1 5)


>> r = fzero ( f , 2 )
f=
x^2–4*x–5

r=
-1

La función también puede operar y realizar el cálculo de la raíz solución real de una ecuación
definiendo un rango en x (intervalo solución), en donde se considera existe una raíz solución.

>> f = ' x ^ 3 -3 * x ^ 2 -13 * x + 15 ' ; % Los de x deben tener f(x) de signo contrario.
>> r = fzero ( f , [ 4.5 , 5.3 ] )

r=
5.0000

>> f = ' x ^ 3 -3 * x ^ 2 -13 * x + 15 ' ;


>> r = fzero ( f , [ -0.5 , 1.3 ] )

r=
1

FUNCIÓN dot

Realiza la multiplicación punto entre los elementos de dos vectores con igual número de
elementos y entrega como resultado la suma de los productos calculados.

>> e = [ 2 5 7 9 ] ;
>> h = [ 2 1 6 3 ] ;
>> k = dot ( e , h )

k=
78

FUNCIÓN conv

Realiza el producto de polinomios o la multiplicación entre dos vectores que representan a los
polinomios, entregando un vector que representa a cada uno de los coeficientes del polinomio
resultante calculado.

>> b = [ 3 , 4 , -2 ] ; % Representa: b = 3 * X 2 + 4 * X – 2
>> a = [ 1 4 4 ] ; % Representa: a = X 2 + 4 * X + 4
>> c = conv ( a , b )

c=
3 16 26 8 -8 % Representa: c = 3*X 4 + 16*X 3 + 26*X 2 + 8*X – 8

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 88 -

FUNCIÓN deconv

Realiza la división de polinomios entre dos vectores que representan a los polinomios,
entregando dos vectores que representan al polinomio cociente y al polinomio residuo, cada
vector contiene los coeficientes delos polinomio resultantes calculados.

>> [ c , r ] = deconv ( a , b ) ; % División de los polinomios a , b


>> c % Cociente
>> r % Residuo
>> s = [ 3 16 26 8 -8 ] ; % División exacta
>> t = [ 1 4 4 ] ;
>> [ c , r ] = deconv ( s , t )

c=
3 4 -2

r=
0 0 0 0 0 % Residuo cero

>> y = [ 1 -3 5 -8 11 ] ;
>> z = [ 2 1 4 ] ;
>> [ p , q ] = deconv ( y , z )

p=
0.5000 -1.7500 2.3750

q=
0 0 0 -3.3750 1.5000

>> h = [ 3 7 -74 86 -32 24 ] ;


>> t = [ 1 4 4 ] ;
>> [ c , r ] = deconv ( h , t )

c=
3 -5 -66 370

r=
0 0 0 0 -1248 -1456

FUNCIÓN interp1

Realiza la interpolación lineal entre dos vectores que representan al eje de las abscisas y al eje
de las ordenadas de los puntos < x , y > coordenados, de un valor o un vector de valores de
interpolación, dentro de los límites establecidos.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 89 -

1.- ) Aplicación para interpolar un solo valor:

>> x = [ 1 2 3 6 8 9 11 ] ; % Eje de las abscisas.


>> y = [ 3.3 4.1 5.3 7.0 8.1 9.3 9.9 ] ; % Eje de las ordenadas.
>> z = 4.75 ; % Valor a interpolar.
>> u = interp1 ( x , y , z , ' linear ' )

u=
6.2917

2.- ) Aplicación para interpolar varios valores:

>> x = [ 1 2 3 6 8 9 11 ] ; % Eje de las abscisas.


>> y = [ 3.3 4.1 5.3 7.0 8.1 9.3 9.9 ] ; % Eje de las ordenadas.
>> z = [ 1.5 4.75 9.25 10.5 ] ; % Valores a interpolar.
>> u = interp1 ( x , y , z , ' linear ' )

u=
3.7000 6.2917 9.3750 9.7500

FUNCIÓN spline

Realiza el cálculo de interpolación con una polinómica de ajuste cúbico, de uno o varios
valores dentro de los límites de los valores coordenados de interpolación, de dos vectores que
representan al eje de las abscisas y al eje de las ordenadas de los puntos < x , y >.

1.- ) Aplicación para interpolar un solo valor:

>> x = [ 1 2 3 6 8 9 11 ] ; % Eje de las abscisas


>> y = [ 3.3 4.1 5.3 7.0 8.1 9.3 9.9 ] ; % Eje de las ordenadas
>> z = 4.75 ; % Valor a interpolar
>> u = spline ( x , y , z )

u=
6.5590

2.- ) Aplicación para interpolar varios valores:

>> x = [ 1 2 3 6 8 9 11 ] ; % Eje de las abscisas.


>> y = [ 3.3 4.1 5.3 7.0 8.1 9.3 9.9 ] ; % Eje de las ordenadas.
>> z = [ 1.5 4.75 9.25 10.5 ] ; % Valores a interpolar.
>> u = spline ( x , y , z )

u=
3.5920 6.5590 9.5946 10.2780

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 90 -

FUNCIÓN polyfit

Realiza el cálculo de un vector que contiene los coeficientes de una polinómica de ajuste de
mínimos cuadrados de grado 2 ( o de grado n ).

>> x = [ 1 2 3 6 8 9 11 ] ; % Eje de las abscisas.


>> y = [ 3.3 4.1 5.3 7.0 8.1 9.3 9.9 ] ; % Eje de las ordenadas.
>> a = polyfit ( x , y , 2 ) % Cálculo del polinomio de ajuste de grado 2.

a=
-0.0192 0.8901 2.4965

>> x = [ 1 2 3 6 8 9 11 ] ; % Eje de las abscisas.


>> y = [ 3.3 4.1 5.3 7.0 8.1 9.3 9.9 ] ; % Eje de las ordenadas.
>> a = polyfit ( x , y , 3 ) % Cálculo del polinomio de ajuste de grado 3.

a=
0.0014 -0.0454 1.0246 2.3405

Para comprobar que la polinómica de ajuste corresponde a los pares coordenados < x , y >, al
vector resultante que representa a la nueva polinómica, se le calcula los valores funcionales
que se quieran realizar.

>> a = [ 0.0014 -0.0454 1.0246 2.3405 ] ;


>> w = polyval ( a , 1 )

w=
3.3211

>> a = [ 0.0014 -0.0454 1.0246 2.3405 ] ;


>> w = polyval ( a ,11 )

w=
9.9811

>> a = [ 0.0014 -0.0454 1.0246 2.3405 ] ;


>> w = polyval ( a , 6 )

w=
7.1561

FUNCIÓN syms

Define a una variable como variable de tipo simbólico o algébrica, se visualiza la definición en
la ventana Workspace

>> syms x

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 91 -

FUNCIÓN factor

Realiza la factorización de una expresión algébrica, considerando el manejo simbólico de


variables.

>> syms x;
>> f = 3 * x ^ 2 + 5 * x ;
>> w = factor ( f )

w=
[x,3*x+5]

FUNCIÓN int

Realiza el cálculo de la integral de una expresión algébrica, considerando el manejo simbólico


de variables.

>> syms x;
>> y = x ^ 2 -3 * x + 7 ;
>> a = int ( y )

a=
( x * ( 2 * x ^ 2 - 9 * x + 42 ) ) / 6

La función también puede operar y realizar el cálculo de la integral de una expresión


definiendo un rango de integración en x ( límites de integración ).

>> syms x;
>> y = x ^ 2 – 3 * x + 7 ;
>> c = int ( y , 0 , 5 )

c=
235 / 6

FUNCIÓN diff

Realiza el cálculo de la derivada de una expresión algébrica, considerando el manejo simbólico


de variables.

>> syms x;
>> y = x ^ 2 – 3 * x + 7 ;
>> d = diff ( y )

d=
2*x- 3

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 92 -

PROGRAMACIÓN DE APLICACIONES VECTORIALES

1.- ) Considerando que X es un vector que contienen M elementos ( mínimo 8


elementos ) como datos leídos, ordenar en forma ascendente y en forma descendente a
los elementos del vector X.

% Vector de datos de X.
n = input ( ' Ingrese el número de datos X = ' ) ;
while n < 8
n = input ( ' Ingrese el número de datos X = ' ) ;
end
for i = 1 : n
fprintf ( ' Ingrese el elemento del vector X ( % 2 d ) ' , i )
x(i) = input ( ' = ' ) ;
xa(i) = x(i) ;
xd(i) = x(i) ;
end
for k = 1 : n
p=k;
menor = xa(k) ;
j=k;
for L = j : n
if xa(L) < menor
p=L;
menor = xa(L) ;
end
end
xa(p) = xa(k) ;
xa(k) = menor ;
end
for k = 1 : n
p=k;
mayor = xd(k) ;
j=k;
for L = j : n
if xd(L) > mayor
p=L;
mayor = xd(L) ;
end
end
xd(p) = xd(k) ;
xd(k) = mayor ;
end
disp( ' Vector original Vector ascendente Vector descendente ' ) ;
disp( ' x xa xd ' )
for i = 1 : n
fprintf ( ' % 12.3 f % 12.3 f % 12.3 f \ n ' , x(i) , xa(i) , xd(i) )
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 93 -

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese el número de datos X = 8

Ingrese el elemento del vector X ( 1 ) = 1


Ingrese el elemento del vector X ( 2 ) = 5
Ingrese el elemento del vector X ( 3 ) = 3
Ingrese el elemento del vector X ( 4 ) = -7
Ingrese el elemento del vector X ( 5 ) = 9
Ingrese el elemento del vector X ( 6 ) = 11
Ingrese el elemento del vector X ( 7 ) = 6
Ingrese el elemento del vector X ( 8 ) = 10

Vector original Vector ascendente Vector descendente

x xa xd

1.000 -7.000 11.000


5.000 1.000 10.000
3.000 3.000 9.000
-7.000 5.000 6.000
9.000 6.000 5.000
11.000 9.000 3.000
6.000 10.000 1.000
10.000 11.000 -7.000

 Para ordenar un vector de forma ascendente y descendente, con funciones de MatLab:

% Vector de datos de X.
n = input ( ' Ingrese el número de datos X = ' ) ;
while n < 8
n = input ( ' Ingrese el número de datos X = ' ) ;
end
for i = 1 : n
fprintf ( ' Ingrese el elemento del vector X ( % 2 d ) ' , i )
x(i) = input ( ' = ' ) ;
end

% Ordenamiento ascendente del vector


xa = sort ( x ) ;

% ordenamiento descendente del vector


xd = dsort ( x ) ;
disp( ' Vector original Vector ascendente Vector descendente ' ) ;
disp( ' x xa xd ' )
for i = 1 : n
fprintf ( ' % 12.3 f % 12.3 f % 12.3 f \ n ' , x(i) , xa(i) , xd(i) )
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 94 -

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese el número de datos X = 8

Ingrese el elemento del vector X ( 1 ) = 1


Ingrese el elemento del vector X ( 2 ) = 8
Ingrese el elemento del vector X ( 3 ) = -5
Ingrese el elemento del vector X ( 4 ) = 11
Ingrese el elemento del vector X ( 5 ) = 3
Ingrese el elemento del vector X ( 6 ) = 22
Ingrese el elemento del vector X ( 7 ) = 15
Ingrese el elemento del vector X ( 8 ) = 17

Vector original Vector ascendente Vector descendente

x xa xd

1.000 -5.000 22.000


8.000 1.000 17.000
-5.000 3.000 15.000
11.000 8.000 11.000
3.000 11.000 8.000
22.000 15.000 -5.000
15.000 17.000 3.000
17.000 22.000 1.000

2.- ) Considerando que X y F(X) son vectores pares coordenados que contienen M
elementos (mínimo 6 elementos) como datos leídos, ordenar en forma ascendente al
par coordenado en función de los elementos del vector X.

% Vector < X – Y > par coordenado.


n = input ( ' Ingrese el número de datos X - F(x) = ' ) ;
while n < 6
n = input ( ' Ingrese el número de datos X - F(x) = ' ) ;
end
for i = 1 : n
x(i) = input ( ' Ingrese X = ' ) ;
fx(i) = input ( ' Ingrese F(X) = ' ) ;
ax(i) = x(i) ;
afx(i) = fx(i) ;
end
for k = 1 : n
p=k;
menor = x(k) ;
j=k;
for L = j : n
if x(L) < menor
p=L;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 95 -

menor = x(L) ;
end
end
aux = fx(p) ;
x(p) = x(k) ;
x(k) = menor ;
fx(p) = fx(k) ;
fx(k) = aux ;
end
disp( ' Par Coordenado Original Par Coordenado Ordenado ' )
disp( ' x fx x f(x) ' )
for i = 1 : n
fprintf ( ' % 10.2 f % 16.4 f % 10.2 f % 16.4 f \ n ' , ax(i) , afx(i) , x(i) , fx(i) )
end

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese el número de datos X - F(x) = 8


Ingrese X = 1
Ingrese F(X) = 5.6
Ingrese X = 3
Ingrese F(X) = 7.9
Ingrese X = 6
Ingrese F(X) = 11.34
Ingrese X = 2
Ingrese F(X) = 6.76
Ingrese X = 8
Ingrese F(X) = 13.6
Ingrese X = 9
Ingrese F(X) = 17.42
Ingrese X = 7
Ingrese F(X) = 11.98
Ingrese X = 11
Ingrese F(X) = 21

Par Coordenado Original Par Coordenado Ordenado


x fx x f(x)

1.00 5.6000 1.00 5.6000


3.00 7.9000 2.00 6.7600
6.00 11.3400 3.00 7.9000
2.00 6.7600 6.00 11.3400
8.00 13.6000 7.00 11.9800
9.00 17.4200 8.00 13.6000
7.00 11.9800 9.00 17.4200
11.00 21.0000 11.00 21.0000

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 96 -

3.- ) Considerando que se dispone de una ecuación polinómica de grado N ( mayor a grado
2 y menor a grado 7 ), calcular una raíz solución por el método de aproximación de
Newton determinando por Investigación un intervalo menor solución.

Se establece de modo general la polinómica de grado N, la misma que dispone de (N+1)


coeficiente, de la forma general:

f(X) = a1 X n + a2 X n-1 + a3 X n-2 + . . . . + an X + an+1

Los métodos iterativos o de aproximación requieren de un valor de X inicial para realizar los
cálculos que corresponden a determinar el respectivo X solución

El valor de Xinicial se calcula por medio de la fórmula de la Relación de Newton, que entrega
un valor aproximado al X solución de mayor valor, que tenga la polinómica como raíz solución.

 a2 
2
 a 
X inicial     2  3 
  a 1   a 1 

El intervalo solución calculado, es en el que de hecho se encuentra un X solución , se determina
cuando se logre limitar o definir entre dos valores de X consecutivos, sean X k y X k+1, en
donde los valores funcionales de: f ( X k ) y f ( X k+1 ) sean siempre valores de signo
contrario, permitiendo de modo general que:

Xk <= (X solución ) < = X k+1

Intervalo menor en X, en el que de manera segura se encuentra un X solución

Al determinar el intervalo menor, para aplicar el método Newton, se utiliza uno de los valores
de X calculados que actuará como el X aproximado a la solución y con el valor que se da inicio
a la aplicación iterativa del método; además Newton requiere de la definición de la derivada de
la polinómica bajo la forma general de:

f' ( X ) = n a1 X n-1 + (n-1) a2 X n-2 + (n-2) a3 X n-3 + . . . . + 2 a (n-1) X + a n

Se procede iterativamente al cálculo de X solución aplicando la fórmula siguiente:

f ( Xn )
X n1  Xn 
f '( Xn)

Hasta el último cálculo, determinado de modo general por el error absoluto:

│ Xn+1 - Xn │ < = err

Circunstancia en donde Xn+1 se considera la raíz solución, aceptando que el error


preestablecido o valor de aproximación de err está definido como la aproximación al error
absoluto correspondiente ( aceptado como un valor en la n cifra decimal ).

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 97 -

Para la aplicación del presente ejemplo, se considera los detalles matemáticos iniciales
siguientes:

1.- Polinómica: f(X) = X3 - 3 X2 - 13 X + 15

2.- Error Absoluto: Valor definido entre 0.01 a 0.000000001 ( err )

3.- Programación:

% Grado de la Polinómica
N = input ( ' Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = ' ) ;
while ( N < 2 ) | ( N > 6 )
N = input( ' Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = ' ) ;
End

% Lectura de los coeficientes de la Polinómica


for i = 1 : ( N + 1 )
fprintf ( ' Ingrese el coeficiente A ( % 2 d ) ' , i )
A(i) = input ( ' = ' ) ;
while ( A(1) = = 0 )
fprintf ( ' Ingrese el coeficiente A ( % 2 d ) ' , i )
A(i) = input ( ' = ' ) ;
end
end

% Cálculo del valor de la Relación de Newton diferente a cero


wil = 1.5 ;
X = sqrt ( abs ( ( A(2) / A(1) ) ^ 2 – 2 * ( A(3) / A(1) ) ) ) * wil ;
if X = = 0
X = 5.5 ;
wil = 4 ;
disp( ' X inicial cero, se reasigna valor de x ' )
end
XF = ( - X ) * wil ;
v=0;
F = A(N+1) ;
for k = 1 : N
F = F + A(k) * X ^ ( N + 1 – k ) ;
end
if F = = 0
fprintf ( ' X = % 10.4 f Es solución debido a que F(x) = 0 \ n ' )
break
else
M = input ( ' Ingrese el número de intervalos en X, un valor Mayor a 20 = ' ) ;
while ( M < = 0 )
M = input ( ' Ingrese el número de intervalos en X, un valor Mayor a 20 = ' ) ;
end
DX = ( XF – X ) / M ;
for i = 1 : M
X = X + DX ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 98 -

F2 = A(N+1) ;
for k = 1 : N
F2 = F2 + A(k) * X ^ ( N + 1 – k ) ;
end
if ( F * F2 = = 0 )
fprintf ( ' X = % 10.4 f Es solución debido a que F(x) = 0 \ n ' )
break
else
if ( F * F2 > 0 )
F = F2 ;
else
X2 = X ;
X1 = X – DX ;
v=v+1;
Z1(v) = X1 ;
Z2(v) = X2 ;
FZ1(v) = F ;
FZ2(v) = F2 ;
F = F2 ;
end
end
end
end

% Aplicación de Newton para cualquier intervalo solución.


if v = = 0
disp( ' No hay intervalos solución ' )
break
else
disp( ' Intervalos Solución para la Ecuación ' )
for con = 1 : v
fprintf ( ' Intervalo número = % 2 d \ n ' , con )
disp( ' Valores en X Valores en f(X) ' )
fprintf ( ' % 10.6 f % 15.6 f \ n ' , Z1(con) , FZ1(con) )
fprintf ( ' % 10.6 f % 15.6 f \ n ' , Z2(con) , FZ2(con) )
disp( ' ' )
disp( ' **************************************** ' )
end

% Seleccionar el intervalo
fprintf ( ' Solo existe % 2 d intervalos solución \ n ' , v )
disp( ' ' )
ww = input ( ' Ingrese el número ( 1 , 2 , 3 , ..... ) del intervalo que desea trabajar = ' ) ;
if ( ww > 1 ) & ( ww < = v )
NX = Z1(ww) ;
else
NX = Z1(1) ;
end
Q=input('Ingrese un número ENTERO de decimales para la aproximación en X solución = ');
while ( ( Q < 2 ) | ( Q > = 10 ) )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 99 -

Q=input('Ingrese un número ENTERO de decimales para la aproximación en X solución =');


end
err = 1 / ( 10 ^ Q ) ;
en = 101 ;
clc
disp( ' X f(X) fd(X) error ' )
while ( abs(en) > err )
NFX = A(N+1) ;
for k = 1 : N
NFX = NFX + A(k) * NX ^ ( N + 1 – k ) ;
end
if ( NFX = = 0 )
fprintf ( ' Raíz solución X = % 12.6 \ n ' , NX ) ;
break
end
NFDX = A(N) ;
for k = 1 : ( N – 1 ) ;
NFDX = NFDX + ( N + 1 – k ) * A(k) * NX ^ ( N – k ) ;
end
if ( NFDX = = 0 )
disp( ' No HAY Raíz Solución X, La DERIVADA es cero ' )
break
else
en = NFX / NFDX ;
fprintf ( ' % 10.6 f % 14.6 f % 14.6 f % 8.6 f \ n ' , NX , NFX , NFDX , en )
NX=NX-en;
end
end
disp( ' ')
fprintf ( ' X Solución = % 12.8 f \ n ' , NX )
end

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = 3

Ingrese el Coeficiente A ( 1 ) = 1
Ingrese el Coeficiente A ( 2 ) = -3
Ingrese el Coeficiente A ( 3 ) = -13
Ingrese el Coeficiente A ( 4 ) = 15

Ingrese el número de intervalos en X, un valor Mayor a 40 = 22

Intervalos Solución para la Ecuación


Intervalo número = 1
Valores en X Valores en f(X)
5.378254 13.875175
4.840429 -4.804783
****************************************

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 100 -

Intervalo número = 2
Valores en X Valores en f(X)
1.075651 -1.209981
0.537825 7.296070

****************************************

Intervalo número = 3
Valores en X Valores en f(X)
-2.689127 8.818271
-3.226953 -7.892263

****************************************

Solo existen 3 intervalos solución

Ingrese el número (1 , 2 , 3 , ..... ) del intervalo que desea trabajar = 1

Ingrese un numero ENTERO de decimales para la aproximación en X solución = 6

X f(X) fd(X) error


5.378254 13.875175 41.507333 0.334282
5.043972 1.430387 33.061125 0.043265
5.000707 0.022628 32.016968 0.000707
5.000000 0.000006 32.000004 0.000000

X Solución = 5.00000000

Ingrese el número (1 , 2 , 3 , ..... ) del intervalo que desea trabajar = 2

Ingrese un número ENTERO de decimales para la aproximación en X solución = 6

X f(X) fd(X) error


1.075651 -1.209981 -15.982831 0.075705
0.999946 0.000867 -16.000000 -0.000054
1.000000 -0.000000 -16.000000 0.000000

X Solución = 1.00000000

Ingrese el número (1 , 2 , 3 , ..... ) del intervalo que desea trabajar = 3

Ingrese un numero ENTERO de decimales para la aproximación en X solución = 6

X f(X) fd(X) error


-2.689127 8.818271 24.828978 0.355160
-3.044288 -1.440827 33.068787 -0.043571
-3.000717 -0.022950 32.017210 -0.000717
-3.000000 -0.000006 32.000005 -0.000000

X Solución = -3.00000000

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 101 -

 Programación de los valores funcionales de la polinómica con funciones MatLab:

1.- Polinómica: f(X) = X3 - 3 X2 - 13 X + 15

2.- Error Absoluto: Valor definido entre 0.01 a 0.000000001 ( err )

3.- Programación:

% Grado de la Polinómica
N = input ( ' Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = ' ) ;
while ( N < 2 ) | ( N > 6 )
N = input( ' Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = ' ) ;
End

% Lectura de los coeficientes de la Polinómica


for i = 1 : ( N + 1 )
fprintf ( ' Ingrese el coeficiente A ( % 2 d ) ' , i )
A(i) = input ( ' = ' ) ;
while ( A(1) = = 0 )
fprintf ( ' Ingrese el coeficiente A ( % 2 d ) ' , i )
A(i) = input ( ' = ' ) ;
end
end

% Vector derivada de la Polinómica


nm = ( length ( A ) – 1 ) ;
for c = 1 : nm
DA(c) = A(c) * ( nm + 1 – c ) ;
End

% Cálculo del valor de la Relación de Newton diferente a cero


wil = 1.5 ;
X = sqrt ( abs ( ( A(2) / A(1) ) ^ 2 – 2 * ( A(3) / A(1) ) ) ) * wil ;
if X = = 0
X = 5.5 ;
wil = 4 ;
disp( ' X inicial cero, se reasigna valor de x ' )
end
XF = ( - X ) * wil ;
v=0;

% Utilizando funciones, se valora a la Polinómica


F = polyval ( A , X ) ;
if F = = 0
fprintf ( ' X = % 10.4 f Es solución debido a que F(x) = 0 \ n ' )
break
else
M = input ( ' Ingrese el número de intervalos en X, un valor Mayor a 40 = ' ) ;
while ( M < = 0 )
M = input ( ' Ingrese el número de intervalos en X, un valor Mayor a 40 = ' ) ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 102 -

end
DX = ( XF – X ) / M ;
for i = 1 : M
X = X + DX ;
F2 = polyval ( A , X ) ;
if ( F * F2 = = 0 )
fprintf ( ' X = % 10.4 f Es solución debido a que F(x) = 0 \ n ' )
break
else
if ( F * F2 > 0 )
F = F2 ;
else
X2 = X ;
X1 = X – DX ;
v=v+1;
Z1(v) = X1 ;
Z2(v) = X2 ;
FZ1(v) = F ;
FZ2(v) = F2 ;
F = F2 ;
end
end
end
end

% Aplicación de Newton para cualquier intervalo solución.


if v = = 0
disp( ' No hay intervalos solución ' )
break
else
disp( ' Intervalos Solución para la Ecuación ' )
for con = 1 : v
fprintf ( ' Intervalo número = % 2 d \ n ' , con )
disp( ' Valores en X Valores en f(X) ' )
fprintf ( ' % 10.6 f % 15.6 f \ n ' , Z1(con) , FZ1(con) )
fprintf ( ' % 10.6 f % 15.6 f \ n ' , Z2(con) , FZ2(con) )
disp( ' ' )
disp( ' **************************************** ' )
end

% Seleccionar el intervalo
disp( ' ' )
fprintf ( ' Solo existe % 2 d intervalos solución \ n ' , v )
disp(' ')
ww = input ( ' Ingrese el número ( 1 , 2 , 3 , ..... ) del intervalo que desea trabajar = ' ) ;
if ( ww > 1 ) & ( ww < = v )
NX = Z1(ww) ;
else
NX = Z1(1) ;
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 103 -

Q=input('Ingrese un número ENTERO de decimales para la aproximación en X solución = ');


while ( ( Q < 2 ) | ( Q > = 10 ) )
Q=input('Ingrese un número ENTERO de decimales para la aproximación en X solución =');
end
err = 1 / ( 10 ^ Q ) ;
en = 101 ;
clc
disp( ' X f(X) fd(X) error ' )
while ( abs (en) > err )
NFX = polyval ( A , NX ) ;
If ( NFX = = 0 )
Fprintf ( ' Raíz solución X = % 12.6 \ n ' , NX ) ;
break
end

% Utilizando funciones se valora a la derivada de la Polinómica


NFDX = polyval ( DA , NX ) ;
if ( NFDX = = 0 )
disp( ' No HAY Raíz Solución X, La DERIVADA es cero ' )
break
else
en = NFX / NFDX ;
fprintf ( ' % 10.6 f % 14.6 f % 14.6 f % 8.6 f \ n ' , NX , NFX , NFDX , en )
NX = NX – en ;
end
end
disp( ' ')
fprintf ( ' X Solución = % 12.8 f \ n ' , NX )
end

 Programación para calcular las raíces solución de la polinómica con funciones MatLab:

Programación:
% Grado de la Polinómica
N = input ( ' Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = ' ) ;
while ( N < 2 ) | ( N > 6 )
N = input( ' Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = ' ) ;
End

% Lectura de los coeficientes de la Polinómica


for i = 1 : ( N + 1 )
fprintf ( ' Ingrese el coeficiente A ( % 2 d ) ' , i )
A(i) = input ( ' = ' ) ;
while ( A(1) = = 0 )
fprintf ( ' Ingrese el coeficiente A ( % 2 d ) ' , i )
A(i) = input ( ' = ' ) ;
end
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 104 -

% Cálculo de las Raíces de la Polinómica


x = roots ( A ) ;
m = length ( x ) ;

% Impresión de las Raíces Solución de la Polinómica


for L = 1 : m
fprintf ( ' Raíz solución X ( % 2 d ) = % 12.6 f \ n ' , L , x(L) )
end

 Ejecutado el programa, presenta los siguientes resultados:

Para la Polinómica: f(X) = X3 - 3 X2 - 13 X + 15

Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = 1

Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = 3

Ingrese el Coeficiente A ( 1 ) = 1
Ingrese el Coeficiente A ( 2 ) = -3
Ingrese el Coeficiente A ( 3 ) = -13
Ingrese el Coeficiente A ( 4 ) = 15

Raíz solución X ( 1 ) = 5.000000


Raíz solución X ( 2 ) = -3.000000
Raíz solución X ( 3 ) = 1.000000

Para la Polinómica: f ( X ) = X 5 + 2 X 4 + 2 X 3 - 4 X 2 + 12 X + 3

Ingrese el Grado N de la Polinómica Mayor a 2 y Menor a 7 = 5

Ingrese el Coeficiente A ( 1 ) = 1
Ingrese el Coeficiente A ( 2 ) = 2
Ingrese el Coeficiente A ( 3 ) = 2
Ingrese el Coeficiente A ( 4 ) = -4
Ingrese el Coeficiente A ( 5 ) = 12
Ingrese el Coeficiente A ( 6 ) = 3

Raíz solución X(1)= -1.818844


Raíz solución X(2)= -1.818844
Raíz solución X(3)= 0.934164
Raíz solución X(4)= 0.934164
Raíz solución X(5)= -0.230641

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 105 -

ARREGLOS MATEMÁTICOS BIDIMENSIONALES

MATRICES

En el MatLab a los arreglos matemáticos bidimensionales o mejor identificados como


MATRICES, se les representa con nombres de variables.

1.- ) ASIGNACIÓN DE LOS ELEMENTOS DE UNA MATRIZ A UNA VARIABLE

La asignación de datos a una matriz cualquiera, se realiza por medio de una igualdad de los
respectivos elementos a los cuales va a representar la matriz, la asignación de valores a la
matriz se representan entre corchetes.

>> v = [ 2 41 6 17 ; -7 -3 10 1 ; 9 3 2 8 ]

v=
2 41 6 17
-7 -3 10 1
9 3 2 8

2.- ) INGRESO DE LOS ELEMENTOS DE UNA MATRIZ A UNA VARIABLE

El ingreso de datos en una matriz cualquiera corresponde a un diseño de lectura de datos para
la matriz, considerando un número N de filas y un número M de columnas respectivas.

Por programación, las matrices son representadas por nombres de variables y el ingreso de
datos ( LECTURA MATRICIAL ) se diseña con un conjunto de instrucciones que define el ciclo
de lectura, la identificación de la posición del elemento en la matriz se realiza entre paréntesis
con las variables índice definidas por un contador de las filas y un contador de las columnas.

% Diseño de lectura de datos o elementos de una matriz.


n = input ( ' Ingrese número de filas de la matriz a = ' ) ;
while n<=0
n = input ( ' Ingrese un número positivo de filas de la matriz a = ' ) ;
end

m = input ( ' Ingrese número de columnas de la matriz a = ' ) ;


while m<=0
m = input ( ' Ingrese un número positivo de columnas de la matriz a = ' ) ;
end

for f = 1 : n
for c = 1 : m
fprintf ( ' Ingrese el elemento de la matriz A ( % 2 d , % 2 d ) ' , f , c )
a(f,c) = input ( ' = ' ) ;
end
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 106 -

Ingrese número de filas de la matriz a = -4


Ingrese un número positivo de filas de la matriz a = 3
Ingrese número de columnas de la matriz a = -2
Ingrese un número positivo de columnas de la matriz a = 4
Ingrese el elemento de la matriz A ( 1 , 1 ) = 11
Ingrese el elemento de la matriz A ( 1 , 2 ) = -4
Ingrese el elemento de la matriz A ( 1 , 3 ) = 65
Ingrese el elemento de la matriz A ( 1 , 4 ) = 8
Ingrese el elemento de la matriz A ( 2 , 1 ) = 14
Ingrese el elemento de la matriz A ( 2 , 2 ) = 6
Ingrese el elemento de la matriz A ( 2 , 3 ) = 0
Ingrese el elemento de la matriz A ( 2 , 4 ) = 21
Ingrese el elemento de la matriz A ( 3 , 1 ) = 33
Ingrese el elemento de la matriz A ( 3 , 2 ) = 1
Ingrese el elemento de la matriz A ( 3 , 3 ) = 17
Ingrese el elemento de la matriz A ( 3 , 4 ) = 20

En la lectura de los datos de una matriz, se puede considerar que la matriz por lo menos tenga
UN elemento, para ser representada como ESCALAR o por lo menos DOS elementos para ser
representada como un VECTOR.

A los arreglos MATRICIALES, se les representa con nombres de variables y con los
subíndices que indican la posición del elemento en la fila y de la columna de la matriz.

La matriz tiene la siguiente notación:

Nombre ( variable índice fila , variable índice columna )

Nombre, corresponde a un nombre propio de variable que representa a la matriz o al espacio


de memoria que ocupa la matriz en dos direcciones, para sus elementos distribuidos en N filas
y M columnas.

Variable índice fila, corresponde a un nombre de variable predefinida, constante o expresión


aritmética predefinida, que identifica la posición del elemento en la fila respectiva de la matriz
o la posición del elemento en la fila del espacio de memoria del arreglo matricial.

Variable índice columna, corresponde a un nombre de variable predefinida, constante o


expresión aritmética predefinida, que identifica la posición del elemento en la columna
respectiva de la matriz o la posición del elemento en la columna del espacio de memoria del
arreglo matricial.

Matriz B ( N , M )

B(1,1) B(1,2) B(1,3) ... B(1,M)


B(2,1) B(2,2) B(2,3) ... B(2,M)
... ... ... ... ...
B(N,1) B(N,2) B(N,3) . . . B(N,M)

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 107 -

En el MatLab, para identificar a la matriz o sus elementos, se puede utilizar la siguiente


notación:

1.- Cuando se refiere específicamente a un solo elemento de la matriz, el detalle de posición


es explícito y los subíndices son una constante:
a(5,3) b(1,4)

2.- Cuando se refiere a un elemento de la matriz de acuerdo a la identificación de la posición


del elemento; en el detalle de posición los subíndices son nombres de variable predefinidas
o de una expresión aritmética que defina las posiciones de los elementos:
a(f,4) b ( 3* f – 1 , 2*c )

3.- Cuando se refiere específicamente a la matriz, únicamente el nombre de la matriz, identifica


a todos sus elementos en el orden y posición que representa:
a v

ESTRUCTURA DEL MANEJO DE MATRICES Y SUS ELEMENTOS:

Por medio de funciones del MatLab, se logra con un conjunto de instrucciones el manejo de las
matrices, considerando el arreglo que representa y la operatividad matemática:

 Asignación directa de una matriz.

>> a = [ 6 3 ; 5 1 ]

a=
6 3
5 1

 Asignación directa de una matriz, utilizando comas para separar los elementos.

>> a = [ 12 , -33 ; 25 , 17 ; 10 , 71 ]

a=
12 -33
25 17
10 71

 Determinación directa de un elemento de la matriz.

>> a = [ 12 , -33 ; 25 , 17 ; 10 , 71 ] ;
>> a ( 3 , 1 ) % Fila 3 Columna 1

ans =
10

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 108 -

>> a = [ 12 , -33 ; 25 , 17 ; 10 , 71 ] ;
>> r = a ( 2 , 2 ) % Fila 2 Columna 2

r=
17

En la ventana workspace se puede activar el editor de arreglos, que presenta un esquema


similar a una hoja electrónica, en el que se puede visualizar la estructura y los elementos de la
matriz y también modificar con facilidad las dimensiones y el contenido de la matriz y de los
vectores disponibles.

 Generar una matriz con los elementos de un vector.

>> x = [ 5 , 13 , -4 , 8 ] ;
>> a = [ x ; x ]

a=

5 13 -4 8
5 13 -4 8

>> x = [ 5 , 13 , -4 , 8 ] ;
>> y = [ 6 , 0 , 21 , 5 ] ;
>> a = [ x ; y ]

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 109 -

a=

5 13 -4 8
6 0 21 5

 Generar una matriz aumentada con los elementos de un vector.

a=
5 13 -4 8
6 0 21 5

>> b = [ 5 , 6 , -3 , 11 ] ;
>> c = [ a ; b ]

c=
5 13 -4 8
6 0 21 5
5 6 -3 11

 Generar un vector con los elementos de una fila o columna seleccionada de la matriz.

c=
5 13 -4 8
6 0 21 5
5 6 -3 11

>> x = c ( 2 , : )

x=
6 0 21 5

>> y = c ( : , 1 )

y=
5
6
5

 Eliminar los elementos de una fila o columna seleccionada de la matriz.

c=
5 13 -4 8
6 0 21 5
5 6 -3 11

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 110 -

>> c ( : , 3 ) = [ ] % Para eliminar tercera columna de la matriz.

c=
5 13 8
6 0 5
5 6 11

>> c ( 2 , : ) = [ ] % Para eliminar segunda fila de la matriz.

c=

5 13 8
5 6 11

 Generar matriz nula (sin elementos la matriz).

>> a = [ ]

a=
[]

 Generar una matriz transpuesta.

>> a = [ 11 , 2 , 33 ; 44 , 25 , 62 ; 37 , 8 , 29 ; 13 , 17 , 4 ]

a=
11 2 33
44 25 62
37 8 29
13 17 4

>> c = a ' % Matriz transpuesta

c=
11 44 37 13
2 25 8 17
33 62 29 4

 Calcular el producto de un escalar con una matriz.

>> a = [ 11 , 2 , 33 ; 44 , 25 , 62 ; 37 , 8 , 29 ; 13 , 17 , 4 ]
>> c = 3 * a

a=
11 2 33
44 25 62
37 8 29
13 17 4

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 111 -

c=

33 6 99
132 75 186
111 24 87
39 51 12

 Calcular la suma de matrices (del mismo orden).

>> a = [ 11 , 2 , 33 ; 44 , 25 , 62 ; 37 , 8 , 29 ; 13 , 17 , 4 ]
>> c = [ 33 , 6 , 99 ; 132 , 75 , 186 ; 111 , 24 , 87 ; 39 , 51 ,12 ]
>> s = a + c

s=
44 8 132
176 100 248
148 32 116
52 68 16

 Calcular el producto de matrices. ( número columnas de a = número filas de b ).

>> a = [ 1 , 2 , -5 ; 4 , 2 , -6 ; 7 , 8 , 9 ; -3 , 7 , 4 ]
>> b = [ 3 , 7 , -1 ; 4 , 9 , 2 ; -3 , 4 , 1 ]
>> c = a * b

a=
1 2 -5
4 2 -6
7 8 9
-3 7 4

b=
3 7 -1
4 9 2
-3 4 1

c=
26 5 -2
38 22 -6
26 157 18
7 58 21

 Calcular el producto de matrices, elemento por elemento (matrices del mismo orden).

>> a = [ 1 , 2 , -5 ; 4 , 2 , -6 ]
>> b = [ 3 , 7 , 2 ; -3 , 4 , 1 ]
>> c = a . * b

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 112 -

a=
1 2 -5
4 2 -6

b=
3 7 2
-3 4 1

c=
3 14 -10
-12 8 -6

 Calcular el cuadrado de una matriz ( equivalente al producto de una matriz cuadrada).

>> a = [ 1 , 2 , -5 ; 4 , 2 , -6 ; -3 , 7 , 4 ]
>> z = a ^ 2

a=
1 2 -5
4 2 -6
-3 7 4

z=
24 -29 -37
30 -30 -56
13 36 -11

 Calcular el cuadrado de cada elemento de una matriz.

>> a = [ 1 , 2 , -5 ; 4 , 2 , -6 ; -3 , 7 , 4 ]
>> x = a . ^ 2

a=
1 2 -5
4 2 -6
-3 7 4

x=
1 4 25
16 4 36
9 49 16

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 113 -

FUNCIONES PARA MATRICES Y GENERACIÓN DE MATRICES ESPECIALES

FUNCIÓN isinteger

La función isinteger determina si la entrada de datos es matriz de enteros y devuelve true si la


matriz es un tipo entero y false si no lo es.

>> A = [ 3 4 5 ]

A=
3 4 5

>> T = isinteger ( A )

T=
0

>> v = [ 2 3 4 ; 4 5 6 ]

v=
2 3 4
4 5 6

>> r = isinteger ( v )

r=
0

FUNCIÓN ones

La función ones, genera una matriz en que todos sus elementos son 1.

 Para generar una matriz cuadrada.

>> a = ones ( 5 ) % Matriz cuadrada unitaria de orden 5

a=
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 114 -

 Para generar una matriz de orden ( n * m ).

>> b = ones ( 4 , 3 ) % Matriz unitaria de orden ( 4, 3 )

b=
1 1 1
1 1 1
1 1 1
1 1 1

FUNCIÓN rand

La función rand, genera una matriz con números aleatorios (entre 0 y 1).

 Para generar una matriz cuadrada.

>> a = rand ( 3 )

a=
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575

 Para generar una matriz de orden ( n * m ).

>> w = rand ( 3 , 4 )

w=
0.8147 0.9134 0.2785 0.9649
0.9058 0.6324 0.5469 0.1576
0.1270 0.0975 0.9575 0.9706

FUNCIÓN diag

La función diag, genera una matriz cuadrada ubicando a los n elementos que tiene un vector
como elementos de la diagonal principal.

>> w = [ 15 -13 29 ] ;
>> z = diag ( w )

z=
15 0 0
0 -13 0
0 0 29

La función diag, también genera un vector con los n elementos que tiene la matriz como
valores de la diagonal principal.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 115 -

>> a = [ 1 , 2 , -5 ; 4 , 2 , -6 ; -3 , 7 , 4 ]
>> d = diag ( a )

a=
1 2 -5
4 2 -6
-3 7 4

d=
1
2
4

FUNCIÓN size

La función size, determina el número de filas y el número de columnas que tiene una matriz.

>> a = [ 11 , 2 , 33 ; 44 , 25 , 62 ; 37 , 8 , 29 ; 13 , 17 , 4 ]
>> [ n , m ] = size ( a )

a=
11 2 33
44 25 62
37 8 29
13 17 4

n=
4

m=
3

FUNCIÓN eye

La función eye, genera una matriz cuadrada en la que la diagonal principal sus elementos es
el valor 1 ( Diagonal principal unitaria ).

>> w = eye ( 4 ) ;

w=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 116 -

FUNCIÓN zeros

La función zeros, genera una matriz cuadrada en la que sus elementos son el valor cero ( 0 ).

>> h = zeros ( 4 )

h=

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

FUNCIÓN det

La función det, genera el valor calculado de la determinante de una matriz cuadrada.

>> a = [ 2 , -4 , 16 ; 3 , -5 , 1 ; 7 , 0 , 6 ]
>> d = det ( a )

a=

2 -4 16
3 -5 1
7 0 6

d=
544

FUNCIÓN inv

La función inv, calcula la matriz inversa.

>> a = [ 2 , -4 , 16 ; 3 , -5 , 1 ; 7 , 0 , 6 ]
>> b = inv ( a )

a=

2 -4 16
3 -5 1
7 0 6

b=

-0.0551 0.0441 0.1397


-0.0202 -0.1838 0.0846
0.0643 -0.0515 0.0037

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 117 -

FUNCIÓN tril

La función tril, determina la matriz triangular inferior.

>> a = [ 2 , -4 , 16 ; 13 , -5 , 1 ; 7 , 11 , 6 ]
>> b = tril ( a )

a=
2 -4 16
13 -5 1
7 11 6

b=
2 0 0
13 -5 0
7 11 6

FUNCIÓN triu

La función triu, determina la matriz triangular superior.

a = [ 2 , -4 , 16 ; 13 , -5 , 1 ; 7 , 11 , 6 ]
b = triu ( a )

a=
2 -4 16
13 -5 1
7 11 6

b=
2 -4 16
0 -5 1
0 0 6

FUNCIÓN lu

La función lu, realiza la descomposición triangular de la matriz a en la matriz b y matriz c


tales que en el orden de ( b * c ) entrega la matriz original a

>> a = [ 1 1 1 1 ; 2 1 3 2 ; 1 3 2 1 ; 3 2 1 1 ]
>> [ b , c ] = lu ( a )

a=
1.0000 1.0000 1.0000 1.0000
2.0000 1.0000 3.0000 2.0000
1.0000 3.0000 2.0000 1.0000
3.0000 2.0000 1.0000 1.0000

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 118 -

b=

0.3333 0.1429 0.1667 1.0000


0.6667 -0.1429 1.0000 0
0.3333 1.0000 0 0
1.0000 0 0 0

c=

3.0000 2.0000 1.0000 1.0000


0 2.3333 1.6667 0.6667
0 0 2.5714 1.4286
0 0 0 0.3333

>> w = b * c

w=

1.0000 1.0000 1.0000 1.0000


2.0000 1.0000 3.0000 2.0000
1.0000 3.0000 2.0000 1.0000
3.0000 2.0000 1.0000 1.0000

FUNCIÓN max

La función max, determina el mayor valor de los elementos de cada columna de la matriz.

>> a = [ 2 , -4 , 16 , 8 ; 3 , 6, -5 , 11 ; 17 , 14 , 6 , -2 ; -3 , 10 , 7 , 4 ]
>> v = max ( a )

a=

2 -4 16 8
3 6 -5 11
17 14 6 -2
-3 10 7 4

v=

17 14 16 11

FUNCIÓN sum

La función sum, calcula la sumatoria de los elementos de cada columna de la matriz.

>> a = [ 2 , -4 , 16 , 8 ; 3 , 6, -5 , 11 ; 17 , 14 , 6 , -2 ; -3 , 10 , 7 , 4 ]
>> s = sum ( a )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 119 -

a=

2 -4 16 8
3 6 -5 11
17 14 6 -2
-3 10 7 4

s=

19 26 24 21

FUNCIÓN prod

La función prod, calcula el producto de los elementos de cada columna de la matriz.

>> a = [ 2 , -4 , 16 , 8 ; 3 , 6, -5 , 11 ; 17 , 14 , 6 , -2 ; -3 , 10 , 7 , 4 ]
>> h = prod ( a )

a=

2 -4 16 8
3 6 -5 11
17 14 6 -2
-3 10 7 4

h=
-306 -3360 -3360 -704

FUNCIÓN mean

La función mean, calcula el promedio de los elementos de cada columna de la matriz.

>> a = [ 2 , -4 , 16 , 8 ; 3 , 6, -5 , 11 ; 17 , 14 , 6 , -2 ; -3 , 10 , 7 , 4 ]
>> m = mean ( a )

a=

2 -4 16 8
3 6 -5 11
17 14 6 -2
-3 10 7 4

m=

4.7500 6.5000 6.0000 5.2500

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 120 -

FUNCIÓN sort

La función sort, realiza el ordenamiento ascendente de los elementos de cada columna de la


matriz.

>> a = [ 2 , -4 , 16 , 8 ; 3 , 6, -5 , 11 ; 17 , 14 , 6 , -2 ; -3 , 10 , 7 , 4 ]
>> x = sort ( a )

a=

2 -4 16 8
3 6 -5 11
17 14 6 -2
-3 10 7 4

x=

-3 -4 -5 -2
2 6 6 4
3 10 7 8
17 14 16 11

FUNCIÓN cumprod

La función cumprod, calcula el producto acumulado (sumatoria) de cada uno de los elementos
de cada columna de la matriz.

>> a = [ 2 , -4 , 16 , 8 ; 3 , 6, -5 , 11 ; 17 , 14 , 6 , -2 ; -3 , 10 , 7 , 4 ]
>> y = cumprod ( a )

a=

2 -4 16 8
3 6 -5 11
17 14 6 -2
-3 10 7 4

y=

2 -4 16 8
6 -24 -80 88
102 -336 -480 -176
-306 -3360 -3360 -704

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 121 -

FUNCIÓN cumsum

La función cumsum, calcula la sumatoria acumulada de cada uno de los elementos de cada
columna de la matriz.

>> a = [ 2 , -4 , 16 , 8 ; 3 , 6, -5 , 11 ; 17 , 14 , 6 , -2 ; -3 , 10 , 7 , 4 ]
>> v = cumsum ( a )

a=

2 -4 16 8
3 6 -5 11
17 14 6 -2
-3 10 7 4

v=

2 -4 16 8
5 2 11 19
22 16 17 17
19 26 24 21

FUNCIÓN vander

La función vander, genera la matriz cuadrada de Vandermonde en que sus elementos


representan a los coeficientes de un sistema de ecuaciones lineales definidos con los valores de
x, de acuerdo al grado n de la polinómica, que sus coeficientes se desean calcular.

Si se plantea que la polinómica a definir es:

Y = a (1) x 3 + a(2) x 2 + a(3) x + a(4)

Y las incógnitas de la polinómica son los términos definidos con la variable vectorial a,
entonces se plantea el siguiente sistema con valores conocidos de x:

a(1) x1 3 + a(2) x1 2 + a(3) x1 + a(4) = f (x1)


a(1) x2 3 + a(2) x2 2 + a(3) x2 + a(4) = f (x2)
a(1) x3 3 + a(2) x3 2 + a(3) x3 + a(4) = f (x3)
a(1) x4 3 + a(2) x4 2 + a(3) x4 + a(4) = f (x4)

Por lo que se dispondría de la matriz:

x1 3 x1 2 x1 1
x2 3 x2 2 x2 1
x3 3 x3 2 x3 1
x4 3 x4 2 x4 1

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 122 -

Por lo tanto si el vector x está definido por ( m = 4 ) elementos seleccionados, la aplicación de


la función vander, realizara el cálculo de la siguiente matriz ejemplo:

>> x = [ 3 , 5 , 6 , 8 ] ;

>> a = vander ( x )

a=

27 9 3 1
125 25 5 1
216 36 6 1
512 64 8 1

FUNCIÓN rref

La función rref, a partir de la matriz de orden N * M en que sus elementos se han generado
con los coeficientes de un sistema de ecuaciones lineales simultaneas, calcula la matriz solución
del sistema de ecuaciones lineales simultaneas, por el Método de Gauss-Jordan, entregando
una matriz final en el que la diagonal principal es unitaria, los elementos sobre y bajo la
diagonal principal son ceros y la columna M de la matriz son los valores respectivos de las
incógnitas del sistema.

Tomando como ejemplo un sistema de orden cuatro ( 4 ecuaciones, 4 incógnitas ):

X1 + X2 + X3 + X4 = 10

2 X1 + X2 + 3 X3 + 2 X4 = 21

X1 + 3 X2 + 2 X3 + X4 = 17

3 X1 + 2 X2 + X3 + X4 = 14

Se plantea la matriz inicial siguiente:

>> a = [ 1 1 1 1 10 ; 2 1 3 2 21 ; 1 3 2 1 17 ; 3 2 1 1 14 ]

a=

1 1 1 1 10
2 1 3 2 21
1 3 2 1 17
3 2 1 1 14

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 123 -

Aplicando la función rref, que aplicación el Método de Gauss-Jordan, se dispone de:

>> x = rref ( a )

x=

1 0 0 0 1
0 1 0 0 2
0 0 1 0 3
0 0 0 1 4

Por lo tanto, los valores solución del sistema, en la matriz resultante, son:

X1 = 1.0000
X2 = 2.0000
X3 = 3.0000
X4 = 4.0000

>> open rref

La instrucción permite visualizar el contenido de la función rref, que calcula los valores
solución de un sistema de ecuaciones lineales simultaneas por el método de Gauss-Jordan.

function [ A , jb ] = rref ( A , tol )

% rref Reduced row echelon form.


% R = RREF(A) produces the reduced row echelon form of A.
%
% [R,jb] = RREF(A) also returns a vector, jb, so that:
% r = length(jb) is this algorithm's idea of the rank of A,
% x(jb) are the bound variables in a linear system, Ax = b,
% A(:,jb) is a basis for the range of A,
% R(1:r,jb) is the r-by-r identity matrix.
%
% [R,jb] = RREF(A,TOL) uses the given tolerance in the rank tests.
%
% Roundoff errors may cause this algorithm to compute a different
% value for the rank than RANK, ORTH and NULL.
%
% Class support for input A:
% float: double, single
%
% See also RANK, ORTH, NULL, QR, SVD.

% Copyright 1984-2005 The MathWorks, Inc.

[ m , n ] = size ( A ) ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 124 -

% Does it appear that elements of A are ratios of small integers?


[ num , den ] = rat ( A ) ;
rats = isequal ( A , num . / den ) ;

% Compute the default tolerance if none was provided.


if ( nargin < 2 ) , tol = max ( m , n ) * eps ( class ( A ) ) * norm ( A , ' inf ' ) ; end

% Loop over the entire matrix.


i = 1;
j = 1;
jb = [ ];
while ( i < = m ) && ( j < = n )

% Find value and index of largest element in the remainder of column j.


[ p , k ] = max ( abs ( A ( i : m , j ) ) ) ; k = k + i – 1 ;
if ( p < = tol )

% The column is negligible, zero it out.


A ( i : m , j ) = zeros ( m – i + 1 , 1 ) ;
j = j + 1;
else

% Remember column index


jb = [ jb j ];

% Swap i-th and k-th rows.


A([ik],j:n)=A([ki],j:n);

% Divide the pivot row by the pivot element.


A(i,j:n)=A(i,j:n)/A(i,j);

% Subtract multiples of the pivot row from all the other rows.
for k = [ 1 : i – 1 i + 1 : m ]
A(k,j:n)=A(k,j:n)-A(k,j)*A(i,j:n);
end
i = i + 1;
j = j + 1;
end
end

% Return "rational" numbers if appropriate.


if rats
[ num , den ] = rat ( A ) ;
A = num . / den ;
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 125 -

APLICACIONES MATEMÁTICAS CON MATRICES

 Producto de la inversa de una matriz cuadrada con un vector vertical.

>> a = [ 1 1 1 1 ; 2 1 3 2 ; 1 3 2 1 ; 3 2 1 1 ]

>> b = [ 10 ; 21 ; 17 ; 14 ]

>> x = inv ( a ) * b

a=
1 1 1 1
2 1 3 2
1 3 2 1
3 2 1 1

b=
10
21
17
14

x=
1.0000
2.0000
3.0000
4.0000

El proceso matemático generado, representa a la aplicación matemática de resolución de un


sistema de ecuaciones lineales simultaneas utilizando el método de Gauss Jordan, de modo
directo presenta las soluciones de las incógnitas del sistema.

Tomando como ejemplo un sistema de orden cuatro ( 4 ecuaciones, 4 incógnitas ):

X1 + X2 + X3 + X4 = 10

2 X1 + X2 + 3 X3 + 2 X4 = 21

X1 + 3 X2 + 2 X3 + X4 = 17

3 X1 + 2 X2 + X3 + X4 = 14

La matriz cuadrada se representa con los coeficientes de sistema de ecuaciones lineales y el


vector vertical con los términos independientes del sistema de ecuaciones lineales.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 126 -

a=[1111;2132;1321;3211]

b = [ 10 ; 21 ; 17 ; 14 ]

Se realiza el cálculo de la matriz inversa y se efectúa el producto con el vector vertical,


matemáticamente procede a reemplazar a toda la estructura de cálculo de los valores de X1,
X2, X3 y X4 que se realiza por el método de Gauss Jordan, que son las incógnitas del sistema.

>> z = inv ( a )

>> x = z * b

z =

-0.6667 0.1667 -0.1667 0.5000


0.3333 -0.3333 0.3333 0.0000
-1.6667 0.6667 0.3333 -0.0000
3.0000 -0.5000 -0.5000 -0.5000

x =

1.0000 % Representa a X1.

2.0000 % Representa a X2.

3.0000 % Representa a X3.

4.0000 % Representa a X4.

 Generación de una matriz cuadrada compuesta.

>> clear all

>> a = rand ( 3 ) % Matriz aleatoria.


>> b = [ 15 33 29 ] % Vector.

>> e = diag ( b ) % Matriz con diagonal que tiene los elementos del vector.
>> c = eye ( 3 ) % Matriz con la diagonal unitaria.
>> d = zeros ( 3 ) % Matriz que contiene ceros.
>> t=[a e; c d] % Matriz compuesta.

a=

0.8147 0.9134 0.2785


0.9058 0.6324 0.5469
0.1270 0.0975 0.9575

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 127 -

b=

15 33 29

e=

15 0 0
0 33 0
0 0 29

c=

1 0 0
0 1 0
0 0 1

d=

0 0 0
0 0 0
0 0 0

t=

0.8147 0.9134 0.2785 15.0000 0 0


0.9058 0.6324 0.5469 0 33.0000 0
0.1270 0.0975 0.9575 0 0 29.0000
1.0000 0 0 0 0 0
0 1.0000 0 0 0 0
0 0 1.0000 0 0 0

APLICACIONES MATRICIALES GENERALES

1.- ) Considerando que A es una matriz de orden ( N x M ) con datos leídos, calcular el
promedio de los elementos de cada fila y determinar el número mayor de los
promedios calculados de las filas.

% Aplicación con elementos de la matriz a


n = input ( ' Ingrese número de filas = ' ) ;
while ( n < 1 )
n = input ( ' Ingrese número de filas = ' ) ;
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 128 -

m = input ( ' Ingrese número de columnas = ' ) ;


while ( m < 1 )
m = input ( ' Ingrese número de columnas = ' ) ;
end
for i = 1 : n
for j = 1 : m
fprintf ( ' Ingrese elemento de la matriz A ( % 2 d , % 2 d ) ' , i , j )
a(i,j) = input ( ' = ' ) ;
end
end

% Promedio de cada fila


for i = 1 : n
s=0;
for j = 1 : m
s = s + a(i,j) ; % Sumatoria de elementos de cada fila.
end
p(i) = s / m ; % Promedio de cada fila.
End

% Número mayor de los promedios de cada fila


mayor = p(1) ;
for d = 2 : n
if p(d) > mayor
mayor = p(d) ;
end
end

% Impresión de la matriz con los promedios por cada fila


disp( ' MATRIZ ' )
disp( ' ' )
for i = 1 : n
for j = 1 : m
fprintf ( ' % 5 d ' , a(i,j) ) % Con formato solo para números enteros
end
fprintf ( ' % 10.4 f \ n ' , p(i) )
end

% Impresión del valor mayor de los promedios de cada fila


disp( ' ' )
fprintf ( ' Valor mayor de los promedios = % 10.4 f \ n ' , mayor )

% Fin del programa.

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese número de filas = 4


Ingrese número de columnas = 5
Ingrese elemento de la matriz A ( 1 , 1 ) = 11

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 129 -

Ingrese elemento de la matriz A ( 1 , 2 ) = 15


Ingrese elemento de la matriz A ( 1 , 3 ) = 17
Ingrese elemento de la matriz A ( 1 , 4 ) = 21
Ingrese elemento de la matriz A ( 1 , 5 ) = 28
Ingrese elemento de la matriz A ( 2 , 1 ) = 23
Ingrese elemento de la matriz A ( 2 , 2 ) = 32
Ingrese elemento de la matriz A ( 2 , 3 ) = 36
Ingrese elemento de la matriz A ( 2 , 4 ) = 12
Ingrese elemento de la matriz A ( 2 , 5 ) = 9
Ingrese elemento de la matriz A ( 3 , 1 ) = 5
Ingrese elemento de la matriz A ( 3 , 2 ) = 13
Ingrese elemento de la matriz A ( 3 , 3 ) = 27
Ingrese elemento de la matriz A ( 3 , 4 ) = 33
Ingrese elemento de la matriz A ( 3 , 5 ) = 37
Ingrese elemento de la matriz A ( 4 , 1 ) = 4
Ingrese elemento de la matriz A ( 4 , 2 ) = 1
Ingrese elemento de la matriz A ( 4 , 3 ) = 0
Ingrese elemento de la matriz A ( 4 , 4 ) = 16
Ingrese elemento de la matriz A ( 4 , 5 ) = 20

MATRIZ

11 15 17 21 28 18.4000
23 32 36 12 9 22.4000
5 13 27 33 37 23.0000
4 1 0 16 20 8.2000

Valor mayor de los promedios = 23.0000

 Para calcular los promedios y determinar el número mayor, con funciones de MatLab:

% Aplicación con elementos de la matriz a


n = input ( ' Ingrese número de filas = ' ) ;
while ( n < 1 )
n = input ( ' Ingrese número de filas = ' ) ;
end
m = input ( ' Ingrese número de columnas = ' ) ;
while ( m < 1 )
m = input ( ' Ingrese número de columnas = ' ) ;
end
for i = 1 : n
for j = 1 : m
fprintf ( ' Ingrese elemento de la matriz A ( % 2 d , % 2 d ) ' , i , j )
a(i,j) = input ( ' = ' ) ;
end
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 130 -

% Promedio de cada fila


b=a';
p = mean ( b ) ;

% Número mayor de los promedios de cada fila


mayor = max ( p ) ;

% Impresión de la matriz con los promedios por cada fila


for i = 1 : n
for j = 1 : m
fprintf ( ' % 5 d ' , a(i,j) )
end
fprintf ( ' % 10.4 f \ n ' , p(i) )
end

% Impresión del valor mayor de los promedios de cada fila


disp( ' ' )
fprintf ( ' Valor mayor de los promedios = % 10.4 f \ n ' , mayor )

% Fin del programa

2.- ) Considerando que A es una matriz cuadrada ( N x N ) con datos leídos, calcular el
promedio de los elementos de la matriz y determinar el número menor de los elementos
de la diagonal principal.

% Aplicación con matriz y diagonal principal.


n = input ( ' Ingrese número de filas/columnas matriz cuadrada = ' ) ;
while ( n < 1 )
n = input ( ' Ingrese número de filas/columnas matriz cuadrada = ' ) ;
end
for i = 1 : n
for j = 1 : n
a(i,j) = input ( ' Ingrese elemento de la matriz = ' ) ;
end
end

% Promedio de la matriz
s=0;
for i = 1 : n
for j = 1 : n
s = s + a(i,j) ;
end
end
p=s/(n*n);

% Número menor de la diagonal principal


menor = a(1,1) ;
for d = 1 : n

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 131 -

if a(d,d) < menor


menor = a(d,d) ;
end
end

% Impresión de la matriz con los promedios por cada fila


disp( ' ' )
disp( ' MATRIZ ' )
disp( ' ' )
for i = 1 : n
for j = 1 : n
fprintf ( ' % 5 d ' , a(i,j) ) % Con formato solo para números enteros
end
disp( ' ' )
end
disp( ' ' )

% Impresión del promedio de la matriz y el número menor de la diagonal principal.


fprintf ( ' Valor promedio de los elementos de la matriz = % 10.4 f \ n ' , p )
disp( ' ' )
fprintf ( ' Número menor de la diagonal principal de la matriz = % 10.4 f \ n ' , menor

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese número de filas/columnas matriz cuadrada = 4

Ingrese elemento de la matriz = 5


Ingrese elemento de la matriz = 7
Ingrese elemento de la matriz = 9
Ingrese elemento de la matriz = 3
Ingrese elemento de la matriz = 22
Ingrese elemento de la matriz = 33
Ingrese elemento de la matriz = 11
Ingrese elemento de la matriz = 44
Ingrese elemento de la matriz = 20
Ingrese elemento de la matriz = 40
Ingrese elemento de la matriz = 10
Ingrese elemento de la matriz = 30
Ingrese elemento de la matriz = 7
Ingrese elemento de la matriz = 2
Ingrese elemento de la matriz = 6
Ingrese elemento de la matriz = 1

MATRIZ

5 7 9 3
22 33 11 44
20 40 10 30
7 2 6 1

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 132 -

Valor promedio de los elementos de la matriz = 15.6250

Número menor de la diagonal principal de la matriz = 1.0000

 Para calcular el promedio de los elementos de la matriz y determinar el número menor de


la diagonal principal, con funciones de MatLab:

% Aplicación con matriz y diagonal principal.


n = input ( ' Ingrese número de filas/columnas matriz cuadrada = ' ) ;
while ( n < 1 )
n = input ( ' Ingrese número de filas/columnas matriz cuadrada = ' ) ;
end
for i = 1 : n
for j = 1 : n
a(i,j) = input ( ' Ingrese elemento de la matriz = ' ) ;
end
end

% Promedio de los elementos de la matriz

% r = mean ( a ) ; p = mean ( r ) ;
P = mean ( mean ( a ) ) ; % Una sola instrucción.

% Número menor de la diagonal principal


d = diag ( a ) ;
menor = min ( d ) ;

% Impresión de la matriz
disp( ' ' ); disp( ' MATRIZ ' ) ; disp( ' ' )
for i = 1 : n
for j = 1 : n
fprintf ( ' % 5 d ' , a(i,j) ) % Con formato solo para números enteros
end
disp( ' ' )
end

% Impresión del promedio de la matriz y el número menor de la diagonal principal.


disp( ' ' )
fprintf ( ' Valor promedio de los elementos de la matriz = % 10.4 f \ n ' , p )
disp( ' ' )
fprintf ( ' Número menor de la diagonal principal de la matriz = % 10.4 f \ n ' , menor )

3.- ) Considerando que A y B son matrices de orden ( N x M ) con datos leídos, calcular
la suma de las matrices ( C = A + B ).

% Suma de dos matrices del mismo orden ( N x M )


n = input ( ' Ingrese número de filas = ' ) ;
while ( n < 1 )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 133 -

n = input ( ' Ingrese número de filas = ' ) ;


end
m = input ( ' Ingrese número de columnas = ' ) ;
while ( m < 1 )
m = input ( ' Ingrese número de columnas = ' ) ;
end

% Lectura de datos de la matriz A y de la matriz B


for f = 1 : n
for c = 1 : m
fprintf ( ' Ingrese el elemento de la matriz A ( % 2 d , % 2 d ) ' , f , c )
a(f,c) = input ( ' = ' ) ;
end
end
for f = 1 : n
for c = 1 : m
fprintf ( ' Ingrese el elemento de la matriz B ( % 2 d , % 2 d ) ' , f , c )
b(f,c) = input ( ' = ' ) ;
end
end

% Suma de matrices
c=a+b;

% Impresión de la matriz A y de la matriz B


disp( ' MATRICES: A + B = C')
for i = 1 : n
for j = 1 : m
fprintf ( ' % 5 d ' , a(i,j) )
end
fprintf ( ' ')
for j = 1 : m
fprintf ( ' % 5 d ' , b(i,j) )
end
fprintf ( ' ')
for j = 1 : m
fprintf ( ' % 5 d ' , c(i,j) )
end
disp( ' ' )
end
disp( ' ' )
disp( ' ******* Muchas Gracias ' )

% Fin del programa

 Ejecutado el programa, presenta los siguientes resultados:

Ingrese número de filas = 2


Ingrese número de columnas = 3

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 134 -

Ingrese el elemento de la matriz A ( 1, 1) = 11


Ingrese el elemento de la matriz A ( 1, 2) = 22
Ingrese el elemento de la matriz A ( 1, 3) = 33
Ingrese el elemento de la matriz A ( 2, 1) = 20
Ingrese el elemento de la matriz A ( 2, 2) = 30
Ingrese el elemento de la matriz A ( 2, 3) = 10
Ingrese el elemento de la matriz B ( 1, 1) =2
Ingrese el elemento de la matriz B ( 1, 2) =4
Ingrese el elemento de la matriz B ( 1, 3) =6
Ingrese el elemento de la matriz B ( 2, 1) =3
Ingrese el elemento de la matriz B ( 2, 2) =7
Ingrese el elemento de la matriz B ( 2, 3) =9

MATRICES: A + B = C

11 22 33 2 4 6 13 26 39
20 30 10 3 7 9 23 37 19

4.- ) Calcular las soluciones Xi de un Sistema de Ecuaciones Lineales Simultáneas,


considerando la programación MatLab de la aplicación matemática del Método de
Gauss Jordan, generando la matriz con los coeficientes del Sistema de Ecuaciones
Lineales de orden N.

Tomando como ejemplo un sistema de orden cuatro ( 4 ecuaciones, 4 incógnitas ):

X1 + X2 + X3 + X4 = 10
2 X1 + X2 + 3 X3 + 2 X4 = 21
X1 + 3 X2 + 2 X3 + X4 = 17
3 X1 + 2 X2 + X3 + X4 = 14

Con los coeficientes del sistema de ecuaciones lineales, se plantea la matriz inicial:

1 1 1 1 10
2 1 3 2 21
1 3 2 1 17
3 2 1 1 14

 La programación de la aplicación del Método de Gauss Jordan, se detalla a continuación:

clc
clear all
close all

% Lectura de datos de la matriz generada por los coeficientes del sistema de ecuaciones
fprintf ( ' Ingrese orden del Sistema de Ecuaciones Lineales, N ' )
N = input ( ' = ' ) ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 135 -

M=N+1;
for f = 1 : N
for c = 1 : M
fprintf ( ' Ingrese el valor de X ( % d , % d ) ' , f , c )
A ( f , c ) = input ( ' = ' ) ;
end
disp( ' ' )
end
clc
disp( ' ' )
disp( ' ******* SISTEMA DE ECUACIONES LINEALES SIMULTANEAS ' )
disp( ' ' )
for i = 1: N
for j = 1 : N
if ( A ( i , j ) > = 0 )
fprintf ( ' + % 10.4 f X ^ % d ' , A ( i , j ) , j )
else
fprintf ( ' - % 10.4 f X ^ % d ' , abs ( A ( i , j ) ) , j )
end
end
fprintf ( ' = % 10.4 f ' , A ( i , M ) )
disp( ' ' )
end
disp( ' ' )
disp( ' ******* Matriz Inicial Del Sistema De Ecuaciones Lineales ' )
disp( ' ' )
for ff = 1 : N
for cc = 1 : M
fprintf ( ' % 10.5 f ' , A ( ff , cc ) )
end
disp( ' ' )
end
disp( ' ' )
disp( ' ******* MÉTODO SOLUCIÓN DE GAUSS JORDAN ' )
disp( ' ' )

% Aplicación del Método de Gauss Jordan ( Total )


for i = 1 : N
Z=A(i,i);
F=i;
for j = F : M
if Z = = 0
disp( ' ' )
disp( ' CAMBIAR ORDEN DE ECUACIONES ' )
disp( ' ' )
break
else
A(i,j)=A(i,j)/Z;
end
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 136 -

for k = 1 : N
if k ~ = i
D=A(k,i);
for j = F : M
A(k,j)=A(k,j)–D*A(i,j);
end
end
end

% Impresión de cada matriz resultado por cada elemento de la diagonal unitaria


disp( ' ' )
fprintf ( ' Matriz % d ****************** ' , i )
disp( ' ' )
for ff = 1 : N
for cc = 1 : M
fprintf ( ' % 15.5 f ' , A ( ff , cc ) )
end
disp( ' ' )
end
end
for i = 1 : N
xc ( i ) = A ( i , M ) ;
end

disp( ' ' ) ;


disp( ' Valores solución del Sistema de Ecuaciones Lineales ' )
disp( ' ' )
for i = 1 : N
fprintf ( ' X % d = % 10.5 f \ n ' , i , A ( i , M ) )
end

disp( ' ' )


disp( ' ' )
disp( ' ******* Muchas Gracias ' )

% Fin del programa

 Los resultados de la aplicación del programa para el sistema de ecuaciones del ejemplo es el
siguiente:

******* SISTEMA DE ECUACIONES LINEALES SIMULTÁNEAS

+ 1.0000 X^1 + 1.0000 X^2 + 1.0000 X^3 + 1.0000 X^4 = 10.0000


+ 2.0000 X^1 + 1.0000 X^2 + 3.0000 X^3 + 2.0000 X^4 = 21.0000
+ 1.0000 X^1 + 3.0000 X^2 + 2.0000 X^3 + 1.0000 X^4 = 17.0000
+ 3.0000 X^1 + 2.0000 X^2 + 1.0000 X^3 + 1.0000 X^4 = 14.0000

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 137 -

******* Matriz Inicial Del Sistema De Ecuaciones Lineales

1.00000 1.00000 1.00000 1.00000 10.00000


2.00000 1.00000 3.00000 2.00000 21.00000
1.00000 3.00000 2.00000 1.00000 17.00000
3.00000 2.00000 1.00000 1.00000 14.00000

******* MÉTODO SOLUCIÓN DE GAUSS JORDAN

Matriz 1 ******************
1.00000 1.00000 1.00000 1.00000 10.00000
0.00000 -1.00000 1.00000 0.00000 1.00000
0.00000 2.00000 1.00000 0.00000 7.00000
0.00000 -1.00000 -2.00000 -2.00000 -16.00000

Matriz 2 ******************
1.00000 0.00000 2.00000 1.00000 11.00000
0.00000 1.00000 -1.00000 -0.00000 -1.00000
0.00000 0.00000 3.00000 0.00000 9.00000
0.00000 0.00000 -3.00000 -2.00000 -17.00000

Matriz 3 ******************
1.00000 0.00000 0.00000 1.00000 5.00000
0.00000 1.00000 0.00000 0.00000 2.00000
0.00000 0.00000 1.00000 0.00000 3.00000
0.00000 0.00000 0.00000 -2.00000 -8.00000

Matriz 4 ******************
1.00000 0.00000 0.00000 0.00000 1.00000
0.00000 1.00000 0.00000 0.00000 2.00000
0.00000 0.00000 1.00000 0.00000 3.00000
0.00000 0.00000 0.00000 1.00000 4.00000

Valores solución del Sistema de Ecuaciones Lineales

X1 = 1.00000

X2 = 2.00000

X3 = 3.00000

X4 = 4.00000

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 138 -

5.- ) Cálculo de un valor de interpolación XI de una tabla de N pares coordenados de datos


X - Y por medio del Método de Interpolación Polinomial con ajuste mínimo de una
polinómica de grado N = 3, planteando un sistema de Ecuaciones Lineales de orden
M = 4, utilizando la función Vander de MatLab y la programación del Método de
Gauss Jordan.

DATOS DE LA TABLA

X FX
1.00 1.75
2.00 3.00
2.50 3.25
3.00 3.60
4.00 3.80
4.50 4.10
5.00 3.75
6.00 3.50

DATO DE INTERPOLACIÓN

XI = 2.3500

 La programación de la aplicación del Método Interpolación Polinomial, se detalla a


continuación:

clc
clear all
disp( ' ' )
disp( ' ******* Ingrese el grado de la polinómica de ajuste a calcular ' ) ;
po = uint8 ( input ( ' De preferencia Grado 3, Máximo Grado 6 = ' ) ) ;
while ( po < 3 ) | ( po > 6 )
po = input ( ' ! Por favor el Grado de la Polinómica debe estar entre 3 y 6 = ! ' ) ;
end
disp( ' ' )
disp( ' ' )
disp( ' ******* Ingrese el número de pares coordenados X - Y para la tabla de
Interpolación ' ) ;
n = uint8 ( input ( ' Que sea Mínimo 8 pares de datos = ' ) ) ;
while ( n < 8 )
n = input ( ' ! El número de pares de datos debe ser mayor o igual a 10 = ! ' ) ;
end
disp( ' ' )
disp( ' ' )
disp( ' ******* INGRESO DE DATOS X - Y, NO REPETIR LOS DATOS DE X ' )
fprintf ( ' Ingrese X ( 1 ) ' )
x ( 1 ) = input ( ' = ' ) ;
fprintf ( ' Ingrese FX ( 1 ) ' )
y ( 1 ) = input ( ' = ' ) ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 139 -

for i = 2 : n
fprintf ( ' Ingrese X ( % d ) ' , i )
x ( i ) = input ( ' = ' ) ;
H=i–1;
W=0;
for L = 1 : H
if x ( i ) = = x ( L )
W=W+1;
end
end
while W > 0
fprintf ( ' *** Ingrese un valor diferente para X ( % d ) \ n ' , i )
fprintf ( ' Ingrese X ( % d ) ' , i )
x ( i ) = input ( ' = ' ) ;
H=i–1;
W=0;
for L = 1 : H
if x ( i ) = = x ( L )
W=W+1;
end
end
end
fprintf ( ' Ingrese FX ( % d ) ' , i )
y ( i ) = input ( ' = ' ) ;
end
for f1 = 1 : n
xx ( f1 ) = x ( f1 ) ;
yy ( f1 ) = y ( f1 ) ;
end
for k = 1 : n
P=k;
menor = x ( k ) ;
J=k;
for L = J : n
if x ( L ) < menor
P=L;
menor = x ( L ) ;
end
end
aux = y ( P ) ;
x(P)=x(k);
x ( k ) = menor ;
y(P)=y(k);
y ( k ) = aux ;
end
clc
disp( ' DATOS DE LA TABLA DATOS DE TABLA ORDENADOS ' )
disp( ' ' )
disp( ' X FX X FX ' )
for i=1:n

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 140 -

fprintf ( ' % 12.5 f % 12.5 f % 12.5 f % 12.5 f \ n ' , xx ( i ) , yy ( i ) , x ( i ) , y ( i ) )


end
disp( ' ' )
disp( ' ******* INGRESO DEL VALOR DE X A INTERPOLAR ******* ' )
disp( ' ' )
fprintf ( ' Ingrese valor a interpolar XI ' )
xinter = input ( ' = ' ) ;
while xinter < = x ( 1 ) | xinter > = x ( n )
fprintf ( ' *** El valor a interpolar debe estar entre X(inicial) = % 15.5 f y el valor
de X(final) = % 15.5 f \ n ' , x ( 1 ) , x ( n ) )
fprintf ( ' Ingrese valor a interpolar XI ' )
xinter = input ( ' = ' ) ;
end
for c = 2 : n - 1
while ( xinter = = x ( c ) )
fprintf ( ' *** El valor a interpolar de XI = % 15.5 f debe ser diferente a los valores de
X de la tabla \ n ' , xinter )
fprintf ( ' Ingrese valor a interpolar XI ' )
xinter = input ( ' = ' ) ;
end
end
while xinter < = x ( 1 ) | xinter > = x ( n )
fprintf ( ' *** El valor a interpolar debe estar entre ( % 15.5 f ) y el valor de ( % 15.5 f ) \ n ' ,
x(1),x(n))
fprintf ( ' Ingrese valor a interpolar XI ' )
xinter = input ( ' = ' ) ;
end
disp( ' ' )
disp( ' DATO DE INTERPOLACIÓN ' )
fprintf ( ' XI = % 8.4 f \ n ' , xinter ) ;
clc
Xr = xinter ;
disp( ' ' )
fprintf ( ' Valor de Interpolación XI = % 15.5 f \ n ' , xr )
disp( ' ******************************************* ' )

% Ajustando datos para una tabla auxiliar de N+1 grado de la polinómica de ajuste
wil = po ;
while po = = wil
if ( xr > x ( n – 1 ) ) & & ( xr < x ( n ) )
for q = 0 : po
z ( q + 1 ) = x ( n – wil + q ) ;
fz ( q + 1 ) = y ( n – wil + q ) ;
end
end
if ( xr > x ( 1 ) ) & & ( xr < x ( 2 ) )
for p = 1 : po + 1
z(p)=x(p);
fz ( p ) = y ( p ) ;
end

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 141 -

else
for r = 1 : n - 2
if ( xr > x ( r ) ) & & ( xr < x ( r + 1 ) )
for l = 1 : po + 1
z ( l ) = x ( r + l - ( wil – 1 ) ) ;
fz ( l ) = y ( r + l - ( wil – 1 ) ) ;
end
end
end
end

wil = wil + 1 ;
end
disp( ' ' )
fprintf ( ' TABLA DE INTERPOLACIÓN ' )
disp( ' ' )
disp( ' X F(X) ' )
disp( ' ' )
for f = 1 : po + 1
fprintf ( ' % 15.5 f % 15.5 f \ n ' , z ( f ) , fz ( f ) )
end

disp( ' ' )


ww = vander ( z ) ;
A = [ ww fz ' ] ;
H = po + 1 ;
T = po + 2 ;
for ff = 1 : H
for cc = 1 : T
fprintf ( ' % 12.5 f ' , A ( ff , cc ) ) ;
end
disp( ' ' )
end

% Aplicación del Método de Gauss Jordan (Total)


for i = 1 : H
Z=A(i,i);
F=i;
for j = F : T
if Z = = 0
disp( ' ' )
disp( ' Se debe Cambiar el orden de las Ecuaciones Lineales ' )
break
else
A(i,j)=A(i,j)/Z;
end
end
for k = 1 : H
if k ~ = i
D=A(k,i);

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 142 -

for j = F : T
A(k,j)=A(k,j)-D*A(i,j);
end
end
end

% Impresión de cada matriz resultado por cada elemento de la diagonal unitaria


fprintf( ' \ n Matriz % d ************** \ n ' , i )
disp( ' ' )
for ff = 1 : H
for cc = 1 : T
fprintf ( ' % 12.5 f ' , A ( ff , cc ) )
end
disp( ' ' )
disp( ' ' )
end
end
for i = 1 : H
xc ( i ) = A ( i , T ) ;
end

disp( ' ' )


fprintf ( ' \ n *** Coeficientes de la Polinómica Grado N = % d \ n ' , po )
for i = 1 : H
fprintf ( ' A % d = % 12.5 f \ n ' , i , A ( i , T ) )
end

% Elaboración de la ecuación polinómica como un texto (Programación)


disp( ' ' )
disp( ' Por programación la ECUACIÓN es: ' ) ;
vec = length ( xc ) ;
nn = vec – 1 ;
pp = 5 ;
st = ' f ( x ) = ' ;
for j = nn : - 1 : 0
if not ( xc ( nn – j + 1 ) = = 0 )
if and ( not ( j = = nn ) , xc ( nn – j + 1 ) > 0 )
st = strcat ( st , ' + ' ) ;
end ;
if xc ( nn – j + 1 ) < 0
st = strcat ( st , ' - ' ) ;
end ;
if or ( not ( abs ( xc ( nn – j + 1 ) ) = = 1 ) , j = = 0 )
st = strcat ( st , ' % . ' , num2str ( pp ) , ' f ' ) ;
end;
if and ( not ( abs ( xc ( nn – j + 1 ) ) = = 1 ) , j > 0 )
st = strcat ( st , ' * ' ) ;
end ;
if j > 0
st = strcat ( st , ' x ' ) ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 143 -

end ;
if j > 1
st = strcat ( st , ' ^ ' , num2str ( j ) ) ;
end ;
end ;
end ;
cont = 0 ;
b=0;
for j = 1 : nn
if not ( or ( xc ( j ) = = 0 , abs ( xc ( j ) ) = = 1 ) )
cont = cont + 1 ;
if cont = = 1
b ( 1 ) = abs ( xc ( j ) ) ;
else
b = [ b , abs ( xc ( j ) ) ] ;
end ;
end ;
end ;
b = [ b , abs ( xc ( end ) ) ] ;
st = strcat ( st , ' \ n ' ) ;
disp( ' ' )
fprintf ( st , b ) ;

% Elaboración de la ecuación polinómica como un texto (Función)


disp( ' ' )
disp( ' ' )
disp( ' Por uso de función la ECUACIÓN es: ' )
disp( ' ' )
ecua = vpa ( poly2sym ( xc ) , 6 ) ;
fprintf ( ' Ecuación: f(x) = ' )
disp( ecua )
disp( ' ' )
disp( ' ' )
yinter = polyval ( xc , xinter ) ;
fprintf ( ' \ n Valor XI = % 15.5 f Valor FXI = % 15.5 f \ n ' , xinter , yinter )
disp( ' ' )
disp( ' ' )
disp( ' ******* Muchas Gracias ' )

% Fin del programa

 Los resultados de la aplicación del programa para una tabla de M=8 pares coordenados
X - Y del ejemplo, es el siguiente:

******* Ingrese el grado de la polinómica de ajuste a calcular

De preferencia Grado 3, Máximo Grado 6 = 3

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 144 -

******* Ingrese el número de pares coordenados X - Y para la tabla de Interpolación

Que sea Mínimo 8 pares de datos = 8

******* INGRESO DE DATOS X - Y, NO REPETIR LOS DATOS DE X

Ingrese X(1) = 1
Ingrese FX(1) = 1.75

Ingrese X(2) = 3.0


Ingrese FX(2) = 3.6

Ingrese X(3) = 5
Ingrese FX(3) = 3.75

Ingrese X(4) = 6.0


Ingrese FX(4) = 3.5

Ingrese X(5) = 3
*** Ingrese un valor diferente para X(5)

Ingrese X(5) = 2
Ingrese FX(5) = 3

Ingrese X(6) = 4.5


Ingrese FX(6) = 4.1

Ingrese X(7) = 5
*** Ingrese un valor diferente para X(7)

Ingrese X(7) = 4
Ingrese FX(7) = 3.8

Ingrese X(8) = 2.5


Ingrese FX(8) = 3.25

DATOS DE LA TABLA DATOS DE TABLA ORDENADOS

X FX X FX
1.00000 1.75000 1.00000 1.75000
3.00000 3.60000 2.00000 3.00000
5.00000 3.75000 2.50000 3.25000
6.00000 3.50000 3.00000 3.60000
2.00000 3.00000 4.00000 3.80000
4.50000 4.10000 4.50000 4.10000
4.00000 3.80000 5.00000 3.75000
2.50000 3.25000 6.00000 3.50000

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 145 -

******* INGRESO DEL VALOR DE X A INTERPOLAR *******

Ingrese valor a interpolar XI = 2.35

DATO DE INTERPOLACIÓN

XI = 2.3500

Valor de Interpolación XI = 2.35000


*******************************************

TABLA DE INTERPOLACIÓN

X F(X)
1.00000 1.75000
2.00000 3.00000
2.50000 3.25000
3.00000 3.60000

1.00000 1.00000 1.00000 1.00000 1.75000


8.00000 4.00000 2.00000 1.00000 3.00000
15.62500 6.25000 2.50000 1.00000 3.25000
27.00000 9.00000 3.00000 1.00000 3.60000

Matriz 1 **************

1.00000 1.00000 1.00000 1.00000 1.75000


0.00000 -4.00000 -6.00000 -7.00000 -11.00000
0.00000 -9.37500 -13.12500 -14.62500 -24.09375
0.00000 -18.00000 -24.00000 -26.00000 -43.65000

Matriz 2 **************

1.00000 0.00000 -0.50000 -0.75000 -1.00000


0.00000 1.00000 1.50000 1.75000 2.75000
0.00000 0.00000 0.93750 1.78125 1.68750
0.00000 0.00000 3.00000 5.50000 5.85000

Matriz 3 **************

1.00000 0.00000 0.00000 0.20000 -0.10000


0.00000 1.00000 0.00000 -1.10000 0.05000
0.00000 0.00000 1.00000 1.90000 1.80000
0.00000 0.00000 0.00000 -0.20000 0.45000

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 146 -

Matriz 4 **************

1.00000 0.00000 0.00000 0.00000 0.35000


0.00000 1.00000 0.00000 0.00000 -2.42500
0.00000 0.00000 1.00000 0.00000 6.07500
0.00000 0.00000 0.00000 1.00000 -2.25000

*** Coeficientes de la Polinómica Grado N = 3

A1 = 0.35000

A2 = -2.42500

A3 = 6.07500

A4 = -2.25000

Por programación la ECUACIÓN es:

f(x) =0.35000 * x^3 -2.42500 * x^2 +6.07500 * x -2.25000

Por uso de función la ECUACIÓN es:

Ecuación: f(x) = 0.35*x^3 - 2.425*x^2 + 6.075*x - 2.25

Valor XI = 2.35000 Valor FXI = 3.17644

******* Muchas Gracias

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 147 -

Graficación 2 D de Funciones 149


Comando de Graficación plot para Pares de Datos 149
Rotulación de los Ejes y Titulación del Gráfico. 155
Aplicación con Funciones Polinómicas y Transcendentales 155
Editor de Gráficos 158
Comando de Graficación ezplot 159
Comando ginput 163
Comando gtext 163
Comando de Graficación Polar ezpolar 164
Comando de Graficación subplot 164
Comando de Graficación figure 167
Graficación 3 D de Funciones 168
Comando ezsurf 168
Comando ezmesh 170
Comando ezcontour 170
Comando ezsurfc 171

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 148 -

Dios algunas veces geometriza


Platón.

Entre dos hombres iguales en fuerza, el más


fuerte es el que tiene la razón.
Pitágoras.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 149 -

GRAFICACIÓN 2 D DE FUNCIONES

COMANDO DE GRAFICACIÓN plot PARA PARES DE DATOS

Para graficar funciones que se generan con pares coordenados de datos, se utiliza el comando
plot, considerando la estructura de:

plot ( eje x , eje y , parámetros )

1.- ) Para cuando se dispone de valores solo en el eje y:

>> y = [ 5 3 7 9 4 3 1 ] ;
>> plot ( y )

Grafo en el que el eje x por estructura propia de graficación de la función plot, la escala
inicia a partir de 1, variando en 1 hasta el número total de datos.

2.- ) Para cuando se dispone de pares coordenados, valores en el eje x y en el eje y:

>> y = [ 5 3 7 9 4 3 1 ] ;
>> x = [ 2 4 6 8 10 12 14 ] ;
>> plot ( x , y )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 150 -

3.- ) Para cuando se requiere graficar curvas utilizando parámetros para algún diseño de
representación del gráfico de los pares coordenados < x , y >, desde programación:

 Generando el grafo sin línea pero con un asterisco en los puntos < x , y >

>> y = [ 5 4 6 7 8 6 4 ] ;
>> x = [ 2 4 7 10 14 18 21 ] ;
>> plot ( x , y, ' * ' ) % Genera los asterisco en cada punto <x,y>

 Generando el grafo con línea punteada por los puntos < x , y >

>> y = [ 5 4 6 7 8 6 4 ] ;
>> x = [ 2 4 7 10 14 18 21 ] ;
>> plot ( x , y , ' - - ' ) % Generación de la línea punteada

 Generando el grafo con línea punteada por los puntos < x , y > y con cuadrícula

>> x = [ -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 ] ;
>> y = [ 13.0 9.75 7.0 4.75 3.0 1.75 1.0 0.75 1.0 1.75 3.0 4.75 ] ;
>> plot ( x , y , ' - ' )
>> grid on ; % Generación de la cuadrícula

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 151 -

 Generando el grafo con línea punteada por los puntos < x , y > , con cuadrícula, con un
círculo en cada punto < x , y > y la línea de color verde, todo superpuesto.

>> x = [ -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 ] ;

>> y = [ 13.0 9.75 7.0 4.75 3.0 1.75 1.0 0.75 1.0 1.75 3.0 4.75 ] ;

>> plot ( x , y , ' o ' ) % Grafo con círculos en los puntos <x,y>
>> plot ( x , y , ' - - ' ) % Genera la línea punteada.
>> plot ( x , y , ' g ' ) % Genera la línea de color verde (green)

>> grid on
>> hold on % Para superponer los gráficos.

 El comando hold on permite superponer gráficos, para desactivar la superposición, se


ejecuta la orden hold off

Se superpone gráficos de dos o más curvas con diseños variados, utilizando en el plot la
programación respectiva con los pares coordenados correspondientes:

Curva Uno: corresponde ejes x – y

Curva Dos: corresponde ejes x – z

>> x = [ -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 ] ;
>> y = [ 13.0 9.75 7.0 4.75 3.0 1.75 1.0 0.75 1.0 1.75 3.0 4.75 ] ;
>> z = [ 9.5 7.5 4.5 2.5 1.0 0.5 1.5 2.5 4.0 5.75 6.0 8.0 ] ;
>> plot ( x , y , ' r * - ' , x , z , ' b > - - ' )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 152 -

En la elaboración de los gráficos para polinómicas generados con la función plot, se dispone de
una variedad de parámetros que se pueden utilizar solos o combinados entre ellos:

 Símbolos permitidos para realizar la representación ( marca ) de los puntos < x , y >:

o Círculo x Aspa
* Asterisco . Punto
h Estrella 6 puntas p Estrella 5 puntas
s Cuadrado v Triángulo
d Rombo \^ Triángulo arriba
> Triángulo derecha < Triángulo izquierda
+ Cruz ( más )

 Símbolos permitidos para realizar el trazado de la línea de los puntos < x , y >:

- Continuo ( línea solida ) -- Línea de Trazos


: Discontinuo ( línea punteada ) .- Línea de Punto y guión
.-- Punto y línea discontinuo

 Colores permitidos para el trazado de las líneas del gráfico:

r rojo m magenta
g verde w blanco
b azul c celeste
y amarillo k negro

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 153 -

4.- ) Para cuando se requiere graficar programando la aplicación con algún diseño de
cálculo o aplicación matemática, utilizando funciones propias de ecuaciones y
representación del gráfico de los pares coordenados < x , y >:

 Generando el grafo con línea punteada color rojo por los puntos < z , p >, que
corresponden a la tabla de valores de la polinómica de ajuste de grado 3 .

>> x = [ -1.0 -0.8 0.2 0.7 1.3 1.8 2.1 2.6 3.3 3.7 4.2 4.8 ] ;

>> y = [ 13.0 9.7 7.1 4.7 3.1 1.8 1.0 0.8 1.0 1.9 3.1 4.9 ] ;

>> a = polyfit ( x , y , 3 ) % Coeficientes polinómica de ajuste grado 3


>> z = [ -1 : 0.5 : 4.5 ] % Definición de valores de z

>> p = polyval ( a , z ) % Definición de valores de p en función de z


>> plot ( z , p , ' r ' ) % Grafo con línea de color rojo

Determinando los siguientes valores que se calculan para realizar la curva de ajuste:

a=
0.0527 0.5219 -4.1979 7.3797

z=
-1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000

p=
12.0469 9.6026 7.3797 5.4178 3.7565 2.4351 1.4934 0.9708 0.9068 1.3411 2.3131 3.8624

Cuando se utiliza la función como polyfit ( x , y , 1 ), realiza el cálculo de la recta de ajuste


para la determinación de valores de interpolación por medio de una ecuación lineal.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 154 -

 Generando el grafo con línea punteada color rojo por los puntos < z , s >, que
corresponden a la tabla de valores de la polinómica de ajuste con los valores de
interpolación utilizando la ecuación cubica de ajuste.

>> x = [ -1.0 -0.8 0.2 0.7 1.3 1.8 2.1 2.6 3.3 3.7 4.2 4.8 ] ;
>> y = [ 13.0 9.7 7.1 4.7 3.1 1.8 1.0 0.8 1.0 1.9 3.1 4.9 ] ;

>> a = polyfit ( x , y , 3 )
>> z = [ -1 : 0.5 : 4.5 ]

>> p = polyval ( a , z )
>> s = spline ( x , y , z )

>> plot ( z , s , ' r ' )


>> grid on

a=

0.0527 0.5219 -4.1979 7.3797

z=

-1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000

p=

12.0469 9.6026 7.3797 5.4178 3.7565 2.4351 1.4934 0.9708 0.9068 1.3411 2.3131 3.8624

s=

13.0000 7.4948 7.3016 5.7534 3.7125 2.6371 1.2201 0.7896 0.7775 1.3993 2.6208 3.9006

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 155 -

ROTULACIÓN DE LOS EJES Y TITULACIÓN DEL GRÁFICO

 Para cuando se requiere rotular los ejes y asignar un título al gráfico se hace la
representación de los títulos por programación:

>> x = [ -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 ] ;
>> y = [ 13.0 9.75 7.0 4.75 3.0 1.75 1.0 0.75 1.0 1.75 3.0 4.75 ] ;

>> plot ( x , y , ' b * - - ' ) ; xlabel ( ' E j e X ' ) ; ylabel ( ' E j e Y');...
title ( ' Grafo Par Coordenado X - Y ' ) ;

La curva de trazado tiene una combinación de características dadas por la unión de tres
parámetros que representa el color azul ( b ) con un asterisco ( * ) de símbolo que marca los
puntos < x , y > y la línea punteada ( - - ), con un título general del gráfico y títulos
individualizados de identificación en cada eje; y, la aplicación del parámetro . . . que permite
continuar con la programación en la siguiente línea de código.

APLICACIÓN CON FUNCIONES POLINÓMICAS O TRANSCENDENTALES

 Para cuando se requiere graficar los pares coordenados < x , y >, programando la
aplicación con el uso de funciones polinómicas o funciones transcendentales, generando
un vector de valores para x y un vector de valores para y con la respectiva función y
facilitando la representación del gráfico.

f = función transcendental o polinómica.


x = vector de valores en x.
y = vector de valores en y, de la función para cada valor de x, par coordenado < x , y >

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 156 -

 Aplicación con una función polinómica REPRESENTADA por un vector:

>> p = [ 1 -4 -7 21 3 ] ; % p = x 3 – 4 * x 2 + 21 * x + 3

>> x = [ -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 ]
>> y = polyval ( p , x ) % Pares coordenados < x – y >

plot ( x , y , ' bo -- ' ) ; xlabel ( ' Escala en E j e X ' ) ; ylabel ( ' Escala en E j e Y ' ) ;...
title ( ' Grafico Polinómica: y = x 3 – 4 * x 2 + 21 * x + 3 ' ) ;

x=

-1.0000 -0.5000 0 0.5000 1.0000 1.5000 2.0000 2.5000


3.0000 3.5000 4.0000 4.5000

y=

-20.0000 -8.6875 3.0000 11.3125 14.0000 10.3125 1.0000 -11.6875


-24.0000 -30.6875 -25.0000 1.3125

Una polinómica representada en un vector p ( p = x 3 – 4 * x 2 + 21 * x + 3 ) que se utiliza


con el vector x, para definir los valores coordenados de y, realizar la graficación de los pares
coordenados < x , y > con un trazado discontinuo, de color azul y con el símbolo o que es la
marca o la representación de los puntos de graficación.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 157 -

 APLICACIÓN CON UNA FUNCIÓN POLINÓMICA

>> f = ' x . ^ 2 – 4 . * x + 4 ' ; % Función polinómica de x.

>> x = [ -8 : 2 : 10 ] % Vector de valores de x.


>> y = eval ( f ) % Vector de valores de y.

>> plot ( x , y , ' r * - - ' )

x=

-8 -6 -4 -2 0 2 4 6 8 10

y=

100 64 36 16 4 0 4 16 36 64

 APLICACIÓN CON UNA FUNCIÓN TRANSCENDENTAL

>> f = ' x . ^ 2 – sin ( x ) ' ; % Función transcendental de x.

>> x = ( -3.1416 : 0.5 : 3.1416 ) % Vector de valores de x.


>> y = eval ( f ) % Vector de valores de y.

>> plot ( x , y , ' b x - - ' ) ; xlabel ( ' Escala Eje X ' ) ; ylabel ( ' Escala Eje Y ' ) ; . . .
title ( ' Grafo y = x ^ 2 – sin ( x ) Par Coordenado X - Y ' ) ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 158 -

x=

-3.1416 -2.6416 -2.1416 -1.6416 -1.1416 -0.6416 -0.1416 0.3584

0.8584 1.3584 1.8584 2.3584 2.8584

y=

9.8696 7.4575 5.4279 3.6923 2.2126 1.0101 0.1612 -0.2223

-0.0199 0.8677 2.4947 4.8565 7.8910

EDITOR DE GRÁFICOS

El denominado Editor de Gráficos, se utiliza después que el gráfico ha sido realizado por
programación y si el usuario requiere posterior a utilizar las facilidades del editor de gráficos
para cambiar las propiedades de las figuras: color, tipo, símbolos y otras características.
También se puede modificar o insertar en el gráfico el texto necesario, el diseño de las líneas,
las presentación de las flechas, los tipos de rótulos y otros cabios estéticos; además, se puede
realizar estadísticas básicas y ajuste de curvas.

Para habilitar el editor de gráficos seleccione el botón Show Plot Tools en la barra de opciones
de accesos rápidos del gráfico presente y luego de acuerdo a los diseños que se desee hacer se
selecciona la opción Show the inspector, desde la opción de More Propertier, para disponer de
la caja de propiedades del gráfico y realizar los ajustes indicados que el usuario requiera.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 159 -

Habilitado el editor del gráfico y la respectiva caja de propiedades ( Inspector ), se dispone de


todas las características que el usuario requiera hacer el ajuste requerido:

GRAFICACIÓN DE FUNCIONES TRANSCENDENTALES Y POLINÓMICAS

COMANDO DE GRAFICACIÓN ezplot

Para graficar funciones que se generan con el uso directo de la expresión matemática de una
función polinómica o transcendental, se utiliza el comando ezplot, considerando la estructura
siguiente:
ezplot ( ' función ' , [ valor inicial , valor final ] )

1.- ) Para cuando se dispone de la función sea una polinómica o una transcendental, por
omisión los valores para el eje x son asignados entre [ -2  a 2  ] :

ezplot ( ' función ' )

>> f = ' x ^ 2 – sin ( x ) ' ;

>> ezplot ( f ) ; xlabel ( ' Escala Eje X ' ) ; ylabel ( ' Escala Eje Y ' ) ; . . .
title ( ' Grafo y = x ^ 2 – sin ( x ) Par Coordenado X - Y ' ) ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 160 -

2.- ) Para cuando se dispone de la función y los respectivos valores inicial y final conocidos
son asignados para el rango de graficación:

ezplot ( ' función ' , [ valor inicial , valor final ] )

Valores para el rango de graficación: valor inicial: 0 valor final: pi ( 3.1415926 ):

>> ezplot ( ' sin ( x ) * exp ( x ) ' , [ 0 , pi ] ) ; xlabel ( ' Escala Eje X ' ) ; . . .
ylabel ( ' Escala Eje Y ' ) ; title ( ' Grafo: sin ( x ) * exp ( x ) - Par Coordenado X - Y ' ) ;
>> grid on ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 161 -

3.- ) Para cuando se dispone de la función transcendental de tipo netamente trigonométrica y


por omisión los valores para el eje x son asignados entre [ -2  a 2  ] :

>> ezplot ( ' sin ( sqrt ( x ^ 2 – y ^ 2 ) ) ' ) ; xlabel ( ' Escala Eje X ' ) ; . . .
ylabel ( ' Escala Eje Y ' ) ; title ( ' Grafo: sin ( sqrt ( x 2 – y 2 ) ) - Par Coordenado X - Y ' ) ;

>> grid on ;

>> ezplot ( ' sin ( sqrt ( x ^ 2 ) ) ' , [ 0 , pi ] ) ; xlabel ( ' Escala Eje X ' ) ; . . .
ylabel ( ' Escala Eje Y ' ) ; title ( ' Grafo: sin ( sqrt ( x 2 ) ) - Par Coordenado X - Y ' ) ;

>> grid on ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 162 -

Como aplicación, realice las pruebas de graficación con las dos siguientes expresiones y
observe los gráficos resultantes:

% Ejemplo uno.

>> ezplot ( ' sin ( sqrt ( x ^ 2 ) ) ' ) ; xlabel ( ' Escala Eje X ' ) ; . . .
ylabel ( ' Escala Eje Y ' ) ; title ( ' Grafo: Par Coordenado X - Y ' ) ;

>> grid on ;

% Ejemplo dos.

>> ezplot ( ' 2 * x ^ 3 – 2 * cos ( x ) ^ 2 + 5 ' ) ; xlabel ( ' Escala Eje X ' ) ; . . .
ylabel ( ' Escala Eje Y ' ) ; title ( ' Grafo: Par Coordenado X - Y ' ) ;

>> grid on ;

4.- ) Para cuando se dispone de la función polinómica de grado N y los respectivos valores
inicial y final conocidos son asignados para el rango de graficación

>> ezplot ( ' x ^ 4 – 25 * x ^ 3 – 427 * x ^ 2 + 826 * x + 4236 ' , [ -15 , 40 ] ) ; . . .


xlabel ( ' Escala Eje X ' ) ; ylabel ( ' Escala Eje Y ' ) ; . . .
title ( ' Grafo: x 4 – 25 * x 3 – 427 * x 2 + 826 * x + 4236 ' ) ;

>> grid on ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 163 -

COMANDO ginput

Para ingresar n puntos desde pantalla de un gráfico realizado por una función, se utiliza el
comando ginput, considerando la estructura siguiente:

[ x , y ] = ginput ( n )

Al presentarse el grafico, con el mouse se apunta a los puntos que se desean tomar como los
valores de las coordenadas X – Y , y se almacenan como vector en las variables definidas.

>> ezplot ( ' x ^ 2 – sin ( x ) ' ) ;


>> grid on ;
>> [ x , y ] = ginput ( 6 ) ; % Ingrese 6 puntos desde un gráfico en la pantalla .
>> plot ( x , y ) % Genera un nuevo gráfico con los puntos X – Y tomados.

COMANDO gtext

Para ingresar un TEXTO o MENSAJE en una cuadricula X - Y, se utiliza el comando gtext,


considerando la estructura siguiente:

gtext ( ' Mensaje ' )

Al presentarse la cuadrícula, con el mouse se señala el lugar deseado en la pantalla en que se


desea insertar el mensaje.

>> gtext ( ' Cuadrícula para gráfico ' )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 164 -

COMANDO DE GRAFICACIÓN POLAR ezpolar

Para graficar funciones generadas por expresión matemática trigonométricas, se utiliza el


comando ezpolar, considerando la estructura siguiente:

ezpolar ( ' función ' , [ valor inicial , valor final ] )

>> ezpolar ( ' sin ( sqrt ( x ) ) – 3 * cos ( sqrt ( x / 2 ) ) ' )

Para cuando se consideran el parámetro inicial y final de graficación de la función, se utiliza


el comando ezpolar, con los valores límites definidos:

>> ezpolar ( ' sin ( sqrt ( x ) ) – 3 * cos ( sqrt ( x / 2 ) ) ' , [ 0 , pi ] )

COMANDO DE GRAFICACIÓN subplot

Para graficar varias funciones generadas por expresiones matemáticas de tipo polinómica o
transcendental en una misma gráfica, utilizando los mismos parámetros o valores del eje x para
definir los respectivos valores coordenados del eje y de cada función, se utiliza el comando
subplot, considerando la estructura siguiente:

subplot ( n , m , k ) ; plot ( x , y , x , y1 , x , y2 , . . . . . )

El comando a más de realizar un solo gráfico, permite la programación para dividir la figura
general en subgráficos o celdas de gráficos, detallados por filas y columnas de la imagen total
de graficación; en donde los parámetros n, m, k representan:

n, número de filas del gráfico a generar.


m, número de columnas del gráfico a generar.
k, número que corresponde al subgráfico o celda activada de los gráficos generados.

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 165 -

 Generación del gráfico para tres funciones polinómicas en una sola celda, espeficada como
la gráfico 1, subplot está programado para generar dos filas y dos columnas de celdas de
graficación:

>> clear all


>> close all
>> p = [ 1 -3 -13 15 ] ; % p = x 3 – 3 * x 2 – 13 * x + 15
>> x = [ -3 -2 -1 1 3 4 6 ] ;
>> q = [ 1 -2 -2 -3 ] ; % q = x 3– 2 * x 2– 2 * x – 3
>> f = [ 1 -4 4 ] ; % f = x 2– 4 * x + 4
>> y = polyval ( p , x ) ;
>> y1 = polyval ( q , x ) ;
>> y2 = polyval ( f , x ) ;
>> subplot ( 2 , 2 , 1 ) ; plot ( x , y , ' b * - - ' , x , y1 , ' g o - ' , x , y2 , ' r x - ' ) ; . . .
xlabel ( ' Es el eje X ' ) ; ylabel ( ' Este es el eje Y ' ) ; title ( ' Graficos: X - Y ' ) ;
>> grid ;

 Generación del gráfico para tres funciones polinómicas en una sola celda, subplot está
programado para generar dos filas y dos columnas de celdas de graficación presentando el
gráfico general como gráfico 1 y los gráficos individuales de cada polinómica como
gráfico 2, gráfico 3 y gráfico 4:

>> clear all


>> close all
>> p = [ 1 -3 -13 15 ] ; % p = x 3 – 3 * x 2 – 13 * x + 15

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 166 -

>> x = [ -3 -2 -1 1 3 4 6 ] ;
>> q = [ 1 -2 -2 -3 ] ; % q = x 3– 2 * x 2– 2 * x – 3
>> f = [ 1 -4 4 ] ; % f = x 2– 4 * x + 4
>> y = polyval ( p , x ) ;
>> y1 = polyval ( q , x ) ;
>> y2 = polyval ( f , x ) ;
>> subplot ( 2 , 2 , 1 ) ; plot ( x , y , ' b * - - ' , x , y1 , ' g o - ' , x , y2 , ' r x - ' ) ; . . .
xlabel ( ' Es el eje X ' ) ; ylabel ( ' Este es el eje Y ' ) ; title ( ' Graficos: X - Y ' ) ;
>> grid ;

% Graficación para las otras celdas especificadas en las figuras 2, figura 3 y figura 4
>> subplot ( 2 , 2 , 2 ) ; plot ( x , y , ' b * - - ' ) ; xlabel ( ' Es el eje X ' ) ; . . .
ylabel ( ' Este es el eje Y ' ) ; title ( ' y = x ^ 3 – 3 * x ^ 2 – 13 * x + 15 ') ;
>> grid ;
>> subplot ( 2 , 2 , 3 ) ; plot ( x , y1 , ' g o - ' ) ; xlabel ( ' Es el eje X ' ) ; . . .
ylabel ( ' Este es el eje Y ' ) ; title ( ' y1 = x ^ 3 – 2 * x ^ 2 – 2 * x – 3 ' ) ;
>> grid ;
>> subplot ( 2 , 2 , 4 ) ; plot ( x , y2 , ' r x - ' ) ; xlabel ( ' Es el eje X ' ) ; . . .
ylabel ( ' Este es el eje Y ' ) ; title ( ' y = x ^ 2 – 4 * x + 4 ' ) ;
>> grid ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 167 -

COMANDO DE GRAFICACIÓN figure


El comando figure permite la graficación de cada función programada como figura
independiente, cada gráfico en una celda respectiva identificada con el nombre de figura 1, 2,
3, . . . , para la matriz de gráficos generada por el subplot.

>> clear all ; close all


>> p = [ 1 -3 -13 15 ] ; % p = x 3 – 3 * x 2 – 13 * x + 15
>> x = [ -3 -2 -1 1 3 4 6 ] ;
>> q = [ 1 -2 -2 -3 ] ; % q = x 3– 2 * x 2– 2 * x – 3
>> f = [ 1 -4 4 ] ; % f = x 2– 4 * x + 4
>> y = polyval ( p , x ) ;
>> y1 = polyval ( q , x ) ;
>> y2 = polyval ( f , x ) ;
>> figure ( 1 ) ; plot ( x , y , ' b * - - ' , x , y1 , ' g o - ' , x , y2 , ' r x - ' ) ; . . .
xlabel ( ' Es el eje X ' ) ; ylabel ( ' Este es el eje Y ' ) ; title ( ' Graficos: X - Y ' ) ;
>> grid ;
>> figure ( 2 ) ; plot ( x , y , ' b * - - ' ) ; xlabel ( ' Es el eje X ' ) ; . . .
ylabel ( ' Este es el eje Y ' ) ; title ( ' y = x ^ 3 – 3 * x ^ 2 – 13 * x + 15 ' ) ;
>> grid ;
>> figure ( 3 ) ; plot ( x , y1 , ' g o - ' ) ; xlabel ( ' Es el eje X ' ) ; . . .
ylabel ( ' Este es el eje Y ' ) ; title ( ' y1 = x ^ 3 – 2 * x ^ 2 – 2 * x – 3 ' ) ;
>> grid ;
>> figure ( 4 ) ; plot ( x , y2 , ' r x - ' ) ; xlabel ( ' Es el eje X ' ) ; . . .
ylabel ( ' Este es el eje Y ' ) ; title ( ' y = x ^ 2 – 4 * x + 4 ' ) ;
>> grid ;

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 168 -

GRAFICACIÓN 3 D DE FUNCIONES

COMANDO ezsurf

Para graficar funciones en tres dimensiones generadas por expresión matemática, se utiliza el
comando ezsurf, considerando la estructura siguiente:

ezsurf ( ' función ' , [ valor inicial , valor final ] )

>> clear all ; close all


>> p = ' sin ( sqrt ( x ^ 2 – y ^ 2 ) ) / sqrt ( x ^ 2 – y ^ 2 ) ' ;
>> ezsurf ( p , [ - pi , pi ] )

>> clear all ; close all


>> p = ' sin ( sqrt ( x ^ 2 – y ^ 2 ) ) / sqrt ( x ^ 2 – y ^ 2 ) ' ;
>> ezsurf ( p )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 169 -

% Utilizando programación para identificar los ejes tridimensionales.


>> clear all ; close all
>> w = ' ( 2 * x ^ 3 ) - ( 5 * y ^ 2 ) ' ;
>> ezsurf ( w ) ; xlabel ( ' EJE X ' ) ; ylabel ( ' EJE Y ' ) ; zlabel ( ' EJE Z');

>> clear all ; close all


>> p = ' sin ( sqrt ( x ^ 2 – y ^ 2 ) ) ' ;
>> ezsurf ( p ) ; xlabel ( ' EJE X ' ) ; ylabel ( ' EJE Y ' ) ; zlabel ( ' EJE Z');

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 170 -

COMANDO ezmesh

Para graficar funciones en tres dimensiones generadas por expresión matemática, se utiliza el
comando ezmesh, considerando la estructura siguiente:

ezmesh ( ' función ' , [ valor inicial , valor final ] )

La graficación respectiva, se realiza igual que el comando ezsurf, presentando el trazado del
gráfico con colores y tonos más suaves.

>> p = ' sin( sqrt ( x ^ 2 – y ^ 2 ) ) ' ;

>> ezmesh ( p )

COMANDO ezcontour

Para graficar funciones en las que se requiere trazados en líneas o curvas de nivel, se utiliza el
comando ezcontour, considerando la estructura siguiente:

ezcontour ( ' función ' , [ valor inicial , valor final ] )

>> p = ' sin ( sqrt ( x ^ 2 – y ^ 2 ) ) ' ;

>> ezcontour ( p )

PDF created with pdfFactory Pro trial version


MatLab Ing. Wilian Andrade Medina - 171 -

COMANDO ezsurfc

Para graficar funciones en tres dimensiones y que en el plano X – Y se genere un trazado en


líneas o curvas de nivel, se utiliza el comando ezsurfc, considerando la estructura siguiente:

ezsurfc ( ' función ' , [ valor inicial , valor final ] )

>> clear all ; close all


>> p = ' sin ( sqrt ( x ^ 2 – y ^ 2 ) ) ' ;
>> ezsurfc ( p ); xlabel ( ' EJE X ' ) ; ylabel ( ' EJE Y ' ) ; zlabel ( ' EJE Z')

Gráficos estadísticos
>> bar ( x ) diagrama de barras
>> hist ( x ) histograma
>> stairs ( x ) dibuja x mediante escalones
>> pie ( x ) gráfico tipo pastel
>> pie3 ( x ) pastel en relieve
>> v = [ 0 , 1 , 0 ] vector para extraer sectores del pastel
>> pie3 ( x , v ) gráfico tipo pastel con un sector separado

PDF created with pdfFactory Pro trial version

Das könnte Ihnen auch gefallen