programacion matlab 1

18
Modulo 1 - 1 – Ingeniería Química –Universidad del Atlántico MODULO SOBRE PROGRAMACION MATLAB MATLAB ELEMENTAL. OBJETIVOS Al terminar éste módulo el estudiante estará en condiciones de: Definir el término programación Matlab. Nombrar las partes de una proposición en Matlab. Definir como se obtiene el valor de una expresión aritmética en Matlab. Especificar que representa una variable cuando se usa en una expresión arimética. Especificar los operadores aritméticos. Especificar los operadores lógicos. Especificar los operadores de comparación. Explicar cómo se utliza la proposición input con su argumento. Explicar cómo se utiliza la proposición disp con argumento. Explicar cómo se utiliza la proposición %. Explicar cómo se utiliza la proposición fprintf para imprimir los cálculos. ¿ QUÉ ES MATLAB ? Matlab es un software producido por Mathworks, Inc. , empresa establecida por los analistas numéricos Cleve Moler y John Little. Como su nombre lo indica, MATLAB fue desarrollado en principio como un laboratorio de matrices ( MATrix LABoratory ). Es un sistema interactivo y lenguaje de programación para cómputo científico y técnico en general. La programación consiste en la correcta codificación de las proposiciones Matlab y su ensamble en la secuencia apropiada para alcanzar los resultados deseados. Un programa en Matlab consiste en una serie detallada de instrucciones o proposiciones organizadas en secuencia logica para alcanzar resultados predecibles. 1 1

Upload: criogenox

Post on 22-Oct-2015

16 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Programacion matlab 1

Modulo 1

- 1 – Ingeniería Química –Universidad del Atlántico

MODULO SOBRE PROGRAMACION MATLAB MATLAB ELEMENTAL.

OBJETIVOS Al terminar éste módulo el estudiante estará en condiciones de:

� Definir el término programación Matlab.

� Nombrar las partes de una proposición en Matlab.

� Definir como se obtiene el valor de una expresión aritmética en Matlab.

� Especificar que representa una variable cuando se usa en una expresión arimética.

� Especificar los operadores aritméticos.

� Especificar los operadores lógicos.

� Especificar los operadores de comparación.

� Explicar cómo se utliza la proposición input con su argumento.

� Explicar cómo se utiliza la proposición disp con argumento.

� Explicar cómo se utiliza la proposición %.

� Explicar cómo se utiliza la proposición fprintf para imprimir los cálculos.

¿ QUÉ ES MATLAB ?

Matlab es un software producido por Mathworks, Inc. , empresa establecida por los

analistas numéricos Cleve Moler y John Little. Como su nombre lo indica, MATLAB fue

desarrollado en principio como un laboratorio de matrices ( MATrix LABoratory ). Es un

sistema interactivo y lenguaje de programación para cómputo científico y técnico en

general.

La programación consiste en la correcta codificación de las proposiciones Matlab y su

ensamble en la secuencia apropiada para alcanzar los resultados deseados.

Un programa en Matlab consiste en una serie detallada de instrucciones o proposiciones

organizadas en secuencia logica para alcanzar resultados predecibles.

1 1

Page 2: Programacion matlab 1

Modulo 1

- 2 – Ingeniería Química –Universidad del Atlántico

Código, es otro nombre para el conjunto de instrucciones de un programa. Se debe tener

mucho cuidado con las reglas de sintaxis (el arreglo de carácteres preescritos en una

proposición Matlab) para escribir un programa que resuelva un problema especifico de

ingeniería química.

PROPOSICIÓN. Una proposición en Matlab puede ser una instrución explícita para que la

computadora ejecute una tarea sencilla; por ejemplo, leer un valor introducido desde el

teclado y asignarlo al nombre de una variable o realizar operaciones ariméticas y asignar el

resultado a la variable, repetir una serie de tareas o imprimir los resultados de un cáculo.

Existen dos categorias generales de proposiciones en Matlab: Ejecutables y no ejecutables.

PROPOSICIONES EJECUTABLES. Las proposiones ejecutables instruyen a la

computadora para realizar (ejecutar) alguna acción especifica; por ejemplo, imprimir un

resultado.

PROPOSICIONES NO EJECUTABLES. Las prosiciones no ejecutables no realizan una

tarea particular, pero proporcionan la información esencial para llevar a cabo de manera

apropiada algunas proposiciones ejecutables. La tabla 1, muestra las proposiciones

ejecutables y no ejecutables.

Tabla 1 PROPOSICIONES EN MATLAB.

EJECUTABLES NO EJECUTABLES

TIPO PROPOSICION TIPO PROPOSICION

Entrada/Salida input Declaración global

fprintf

Transferencia if

ifelse

Iteración for Especificación %10.3f

Control return

break Definición data

end function

table

Asignación pi

Page 3: Programacion matlab 1

Modulo 1

- 3 – Ingeniería Química –Universidad del Atlántico

0PERACIONES ARITMETICAS EN MATLAB

Matlab proporciona cinco operaciones aritméticas básicas:

Adición, sustracción, multiplicación, división y exponenciación. En la Tabla 2 se muestran

los operadores aritméticos de MATLAB.

Tabla 2 OPERADORES ARITMETICOS

Operador Significado

+ Adición

- Sustracción

* Multiplicación

/ División

^ Exponenciación

OPERADORES ARITMETICOS DE CARACTERES ESPECIALES

.* Multiplicación de arreglos. A.* B es el producto elemento a

elemento de los arreglos A y B.

.^ Potenciación de arrglos. A.^ B es la matriz con elementos A(i,j)

a la potencia B(i,j).

\ División matricial a izquierda.

. / División de arreglos a la derecha. A . / B es la matriz con los

elementos A(i,j)/ B(i,j).

: Dos puntos. Se usan para crear vectores,subindices de matrices

é iteraciones. En los corchetes para generar columnas de valores

( ) Paréntesis (izquierdo-derecho). Se usan para indicar prioridades

en las expresiones aritméticas.

[ ] Corchetes (izquierdo-derecho). Se usan para formar vectores y

matrices.

{ } Llave (izquierda-derecha). Se usan para indicar prioridades en

las expresiones aritméticas.

. Punto decimal.

. . . Continuación. Se usa para después de una expresión para supri

mir su impresión.

; Punto y coma. Se usan dentro de los corchetes para indicar el

fin de una fila. Para evitar que se impriman valores.

' Apóstrofo. A’ es la transpuesta algebraica lineal de A. [ , ] Concatenación horizontal. Se usan dentro de los corchetes para

separar variables.

[ ; ] Concatenaación vertical. Se usan para indicar el fin de una fila.

, Coma. Se usa para separar los subindices de las matrices y

argumentos de las funciones.

Page 4: Programacion matlab 1

Modulo 1

- 4 – Ingeniería Química –Universidad del Atlántico

EXPRESIONES LOGICAS Y OPERADORES RELACIONALES

Una expresión lógica hace una pregunta acerca de dos o más variables o expresiones

aritméticas. ¿Es A menor que B?. ¿Es C mayor que D?. ¿Son iguales E y F ?.

Los seis operadores relacionales básicos de la Tabla 3, se utilizan para efectuar estas

interrogaciones relacionales.

Como se observa en la Tabla 4, estos operadores relacionales se usan para construir

expresiones lógicas.

Tabla 3 0PERADORES RELACIONALES

Operador Significado

< Menor que

<= Menor o igual que.

> Mayor que.

>= Mayor que o igual que.

== Igual a.

~= No igual a

Tabla 4 EXPRESIONES LOGICAS

Expresión lógica Significado

A < B ¿Es A menor que B?

C == ( D/E ) ¿Es C igual al cociente de D entre E?

X > (R + S ) ¿Es X mayor que la suma de R más S ?

EXPRESIONES RELACIONALES Y OPERADORES LOGICOS

Una expresión de comparación hace una pregunta acerca de dos o más variables

relacionandolas entre sí con operadores lógicos. Los operadores lógicos proporcionan un

medio de combinar o negar expresiones relacionales. La Tabla 5 muestra los tres

operadores lógicos que se usan para construir expresiones relacionales.

Tabla 5 OPERADORES LOGICOS. Operador Significado

& AND ( Y lógica )

| OR ( O lógica )

~ NOT (Negación lógica)

La Tabla 6 muestran como se utilizan estos operadores lógicos para construir expresiones

relacionales.

Page 5: Programacion matlab 1

Modulo 1

- 5 – Ingeniería Química –Universidad del Atlántico

Tabla 6 EXPRESIONES RELACIONALES

Expresiones relacionales Significado

A < B & C > D ¿Es A menor que B y es C mayor que D?.

E >= F | G <= ( H-X ) ¿Es E mayor o igual que F o es G menor o igual

que la resta de H menos X?

X == R ∼ R > D ¿Es X igual a R No es R mayor que D?

EXPRESIONES EN MATLAB Una expresión en Matlab describe las relaciones matemáticas de un conjunto de constantes

o variables. En algunos casos, una expresión puede estar formada por una sola constante,

variable o función ; por ejemplo:

X, X*Y, X^2 y (X + 1 )*(Y – 1)

La Tabla 7, resume las reglas de operaciones y expresiones aritméticas.

Operaciones Operación Notación Simbolo Matlab Expresión en Matlab

Adición A + B + A + B

Sustracción A – B – A – B

Multiplicación A x B * A * B

División A/ B / A / B

Exponenciación 2A ^ A^2

Expresiones

Notación Matemática Expresión en Matlab

pi*R

)2̂2̂(

3)^(

4/2̂*

2̂*

BAsqrt

BA

Dpi

Rpi

+

+

)2^2^(

3)^(

4/2^*

2^*

BAsqrt

BA

Dpi

Rpi

+

+

JERARQUIA DE OPERACIONES ARTMÉTICAS

La computadora evalúa las expresions aritméticas Matlab en orden estrictamente secuencial

o jerárquico:

1. Eliminación de paréntesis: Se eliminan de adentro hacia fuera, revisando de

izquierda a derecha.

2. Evaluación de funciones : Analizando de izquierda a derecha.

22

3

2

2

)(

4/

BA

BA

D

R

R

+

+

π

π

π

Page 6: Programacion matlab 1

Modulo 1

- 6 – Ingeniería Química –Universidad del Atlántico

3. Exponenciación : Revisión de izquierda a derecha, ejecutando la exponenciación de

derecha a izquierda.

4. Multiplicación o división : Analisis y multiplicación o división de izquierda a

derecha.

5. Adición o sustracción : Las operaciones de suma y resta se analizan y se ejecutan de

izquierda a derecha.

La jerarquia de operaciones aritméticas y el uso adecuado de paréntesis para agrupar

deben entenderse bién y practicarse con cuidado al codificar expesiones aritméticas.

Cuando se usan paréntesis, es importante que aparezcan en pares; debe haber el mismo

número de paréntesis izquierdos que derechos. Los paréntesis sin pareja constituyen un

error de sintaxis.

Ejemplo 1.1 Codificación de una expresión aritmética en Matlab. Considérese la expresión matemática:

Y=dc

ba

+

Siendo a =4 ; b = 3 ; c = 2 ; d = 1

Solución:

a ) Mal codificado : Y = a + b / c – d

b ) Bien codificado : Y = ( a + b )/( c – d )

Se evalúan las dos expresiones a) y b) de la siguiente forma:

a ) Y = 4 + 3/2 – 1 b ) Y = (4 + 3 )/ (2 – 1 )

1.5 7

1

5.5 7 4.5 El resultado que se obtiene en la expresión a) es incorrecto y el que se obtiene en b) es el

correcto.

Muchas respuestas erróneas son resultados de codificaciones incorrectas de expresiones

aritméticas.

Ejemplo 1.2 Codificación en Matlab Codifique en Matlab la siguiente expresión matemática y realice las operaciones aritméticas

en el orden jerarquico

Y = edc

ab−+

cos

3

Sea a = 2 ; b = 3 ; c = 0 ; d=4 ; e = 5

2

3

Page 7: Programacion matlab 1

Modulo 1

- 7 – Ingeniería Química –Universidad del Atlántico

Solución:

Expresión en Matlab: Y = edc

ba −+)cos(

3^*

La expresión en Matlab se evalúa:

Y = 2*3^3/cos(0) + 4 - 5

1

27

54

54

58

53

>> Y =

53 ( Resultado final )

Ejemplo 1.3 Operaciones aritméticas en orden jerárquico.

Codifique en Matlab la siguiente expresión matemática y realice las operaciones aritméticas

en orden jerárquico:

Y =( ) )/(sin2 bdc

ba

π+

+ Siendo a = 4; b = 6 ; c = 2 ; d = 3

Solución:

La expresión codificada en Matlab : Y = (a + b ) / ( ( c + d )*sin(pi/b)^2 )

La expresión en Matlab se calcula:

Y = ( 4 + 6 ) / (( 2 + 3 )* sin( pi / 6 ) ^2 )

10 5 0.523598

0.5

0.25

>> Y = 1.25

8.0 ( Resultado ) 8.0

1 1

Page 8: Programacion matlab 1

Modulo 1

- 8 – Ingeniería Química –Universidad del Atlántico

Ejemplo 1.4 Exponenciación en Matlab Codifique las siguientes expresiones en Matlab y realice las operaciones aritméticas en

orden jerárquico.

a) y = ;5)() 3223 == xSixzbx

Solución:

Las expresiones codificadas en Matlab :

a) y = x^(2^3)

b) z = x^2^3 o z = (x^2)^3

Las expresiones en Matlab se evalúan :

a) y = 5^(2^3) b) z = (5^2)^3

8 25

390625.0 15625.0

y = z =

390625.0 (Resultado) 15625.0 (Resultado)

PROPOSICION DE ASIGNACION Es una proposición ejecutable que signa los valores numéricos de una expresión aritmética

a un nombre de variable en una dirección de memoria específica. La forma genérica de la

proposición de asignación es:

Nombre = Expresión Aritmética

Nombre Expresión aritmética que debe evaluarse

de la

variable

Simbolo

de asignación

INCREMENTO DEL VALOR DE UNA VARIABLE En Matlab, el simbolo = no se usa para denotar igualdad matemática porque de manera

estricta es un simbolo de asignación. Esto significa que el valor de la expresión a la derecha

del simbolo = se asigna al nombre de la variable de la izquierda del simbolo. Por lo cual, la

proposición N = N + 1 es una proposición de asignación válida.

NOMBRES DE VARIABLES. Una cantidad cuyo valor numérico se desconoce temporalmente o que puede cambiar

durante la ejecución de un programa se llama variable. No es necesario declarar los

nombres de las variables ni sus tipos. Esto se debe a que los nombres de las variables en

Matlab no son diferentes para las variables enteras,reales y complejas. Cualquier nombre

puede utilizarse siempre que sea compatible con Matlab.

Matlab no acepta los siguientes tipos de nombres:

a) Nombre de ciertos valores ; por ejemplo, pi

b) Nombre de funciones; por ejemplo, cos(x),sin(x),.. etc

Page 9: Programacion matlab 1

Modulo 1

- 9 – Ingeniería Química –Universidad del Atlántico

c) Nombre de comandos; por ejemplo, for, if, read, ..etc

En la Tabla 8, se dan ejemplos de nombres de variables compatibles é incompatibles.

Un método para determinar la compatibilidad del nombre de la variable es probarlo en la

linea de comandos de Matlab. La Tabla 9 resume las reglas que deben seguirse en la

definición de nombres de variables.

Tabla 8 Nombres de variables

Nombres compatibles Nombres incompatibles

Verdad G(1)

Propiedad f(x)

A 2D

AB 2AB

A1 Cos

AA log(x)

C23 21

X X(t)

Y Y(t)

Tabla 9 Reglas para nombres de variables.

1. El primer carácter debe ser una letra.

2. Las letras subsecuentes pueden ser cualquier combinación de letras y digitos( no

pueden usarse otros caracteres)

3. Los nombres de variables no deben exceder de seis caracteres(para la mayoria de

los computadores)

4. Los nombres de variables enteras deben comenzar con las letras I a N.

5. Los nombres de variables reales deben iniciar con cualquier otra letra(A a H o U a

Z).

6. Puede insertarse un guión en blanco para proporcionar legibilidad y deben contarse

como uno de los caracteres permitidos; por ejemplo, Area_1.

7. No debe utilizarse el mismo nombre para más de una variable en un programa.

8. Antes de que un nombre de variable pueda usarse en calculos debe asignarsele un

valor numérico con una proposición de asignación, una proposición input(‘x’) .

9. Los términos del vocabulario de Matlab, por ejemplo input, end, if no deben

utilizarse como nombres de variables.

NOMBRES MNEMÓNICOS. Es confuso utilizar nombres de variables de una o dos letras escogidas de manera aleatoria

para representar diferentes cantidades en un solo programa. Una composición cuidadosa de

nombres mnemónicos de variables, ayuda en la lectura y comprensión de un programa

largo y complejo. Un nombre mnemónico es un grupo de seis ( o menos) caracteres que

forman un nombre de variable válido y sugerente de la cantidad que representa.

Los nombres mnemónicos Radio,Diam, Circun y Area son más indicativos del radio,

diámetro, circunferencia y área que R o rad.(lo cual puede sugerir radianes) D, C, A.

Los nombres ambiguos o faciles de escribirse mal deben evitarse. Tambien los nombres en

su deletreo se confunden con facilidad, por ejemplo:

N = K; NNN = K + K + K ;

NN = K + K;

Page 10: Programacion matlab 1

Modulo 1

- 10 – Ingeniería Química –Universidad del Atlántico

Los siguientes nombres son mejores designaciones para estas variables:

N = K ;

NSUM = K + K;

NTOT = K + K + K;

NOMBRES DE VARIABLES NO ASIGNADOS El intento de usar un nombre de variable al que no se le ha asignado un valor numérico es

una falla potencial de programación que es fácil de localizar, ya que aparecerá un mensaje

de error.

MANEJO DE DATOS Muchos programas usan grandes cantidades de datos ya sea proporcionadas o generados

por el programa, para lo cual Matlab utiliza los siguientes métodos:

1. Datos proporcionados desde el teclado.

2. Lectura de o escritura en un archivo de datos.

3. Empleo de Save o Load.

DATOS PROPORCIONADOS DESDE EL TECLADO: Proposición INPUT Cuando los datos se suministran desde el teclado, la ejecución del programa se detiene y

espera los valores de esos datos. El compilador no proporciona ninguna petición; de aquí

que se aconseja incluir un mensaje en el programa que aparezca en la pantalla para

informar al programador que se necesitan los datos. La forma genérica de la proposición

input es la siguiente. Nombre = input ( ′′′′ Entrada = ′′′′ )

Nombre de Nombre de la Argumento

La variable proposición

Simbolo de asignación

Esta proposición se utiliza en el ejemplo siguiente con un programa sencillo.

Ejemplo 1.5 Utilización de la proposición input.

Radio = input( ′ Introduzca el radio de la esfera = ′ )

Vol = (4/3)*pi*Radio^3 ;

fprintf ( ′\n Radio= %5.3 Volumen = %7.3f \n′,Radio,Vol )

El programa imprime:

Radio = 5.000 Volumen = 523.599

ANALISIS: El mensaje “Introduzca el radio de la esfera = “ aparece en la pantalla antes de

que se ejecute la expresión matemática. Esto le indica al programador que se requieren los

datos que debe introducirlos desde el teclado. En éste caso asignele al Radio un valor de 5.

Al alimentar el dato, la ejecución continúa hasta que imprime el valor correspondiente al

volumen de la esfera y regresa el control a la linea de comando de Matlab.

Page 11: Programacion matlab 1

Modulo 1

- 11 – Ingeniería Química –Universidad del Atlántico

ANOTACIONES PARA RESULTADOS NUMÉRICOS: Proposición disp Con frecuencia los resultados numéricos sin identificación son difíciles de interpretar. La

referencia a la proposición fprintf para relacionar los resultados con el nombre de la

variable adecuada puede ser confusa; si el listado del programa no está disponible, esto es

imposible. Los encabezados de columnas, unidades u otras anotaciones de identificación

junto a los valores numéricos eliminan éste problema. Esto puede hacerse con un carácter

alfanumérico que se forma encerrando cualquier cadena de caracteres entre apóstrofos. La

forma general de una proposición disp es :

disp(′ Nombre de las etiquetas en las columnas con valores numéricos′ )

La proposición disp también se usa para crear doble espacio( salto de una linea sobre cada

renglón de salida.

El siguiente programa ilustra el uso de la proposición disp

Ejemplo 1.6 Uso de la proposición disp Cálculo del área del circulo para un diámetro de 4.0 cm. Area =π(Diam/2)^2

clear,clc

disp(′ CALCULO DEL AREA DEL CIRCULO′)

disp(′ ′)

disp(′Diametro del circulo =4.0′)

Diam = 4.0 ;

AREA= pi*(Diam/2)^2 ;

fprintf(′\n AREA DEL CIRCULO=%7.4\n′), AREA)

DOCUMENTACION DEL PROGRAMA: Proposición comentario, % Cuando revisamos un programa anterior o estudiamos uno elaborado por alguna persona

otra persona, puede no ser de inmediato entender lo que una proposición o una serie de

ellas intenta ejecutar o porque se utilizó alguna técnica particular. Este problema se

resuelve incluyendo en el programa comentarios explicativos u otras anotaciones de

identificación, que no son parte de las instrucciones del programa y que pueden salir con el

listado del programa. Estas proposiciones se llaman comentarios. Un comentario es un

texto que describe parte del código.

Un comentario se identifica por el signo % en la linea de comandos o en el editor de lineas.

Un comentario puede continuar en más de una linea hasta que sea necesario,solo que debe

colocarse el signo de comentario al inicio del comentario. Un programa debe contener la

información indispensable para explicar el objetivo y procedimiento del programa a

cualquier persona que pueda interesarse en lo hace el programa. Mediante los comentarios,

puede darse la siguiente información:

Nombre : Nombre del archivo en el que se almacena el programa.

Programador: Autor o autores

Fecha: Fecha de la escritura del programa.

Page 12: Programacion matlab 1

Modulo 1

- 12 – Ingeniería Química –Universidad del Atlántico

Versión: Versión del software de Matlab.

Objetivo: Descripción del programa.

Entrada: Descripciónd de entradas.

Salida : Descripción de salidas.

Parámetros : Nombres de parámetros,significados y funciones.

Estrategias : Descripción de la forma en que éste programa ataca el problema.

Subprogramas: Relación y descripción de los subprogramas que emplea.

Limitaciones y Restricciones: Descripción de toda limitación o restricciones inherentes al

programa.

Errores: Descripción de la forma en que pueden manejarse los posibles errores.

Variables: Lista de los nombres de las variables y lo que representan.

Los siguientes programas ejemplos ilustran el uso de la proposición comentario, %.

Ejemplo 1.7 Uso de la proposión comentario, % % Este programa calcula el area del circulo

disp(′CALCULO DEL AREA DEL CIRCULO′)

Diam = 4.0 ;

% AREA DEL CIRCULO

AREA = pi*(Diam/2)^2 ;

% RESULTADO FINAL

disp(′ ′)

fprintf(′\n AREA = %7.3f \n′, AREA)

En el siguiente ejemplo se presentan cuatro de las instrucciones más fundamentales en

MATLAB.

Ejemplo 1.8 DIVISION DE DOS NUMEROS ENTEROS clear,clc

% Division de dos numeros

Nun =input(′Introduzca el numerador Nun =′)

Den =input(′Introduzca el denominador Den=′)

Cociente = Nun/Den ;

disp(′RESULTADOS DE LA DIVISION′)

fprintf(′\n Nun=%7.3f Den=%7.3f Cociente=%7.3f\n′),Nun,Den,Cociente)

Ejemplo 1.9 Conversión de grados Fahrenheit a Centigrados % Conversión de grados Fahrenheit a grados centigrados.

disp(′Conversion de grados Fahrenheit a grados Centigrados′)

F=input(′Introduzca la temperatura en Fahrenheit, F=′)

C = (F− 32 )*(5/9) ;

fprintf(′\n F =%7.3f C =%7.3f \n′),F,C)

Page 13: Programacion matlab 1

Modulo 1

- 13 – Ingeniería Química –Universidad del Atlántico

El siguiente programa Ejemplo 10 ilustra todo la infomación indispensable para explicar el

objetivo y procedimiento del programa a cualquier persona que pueda interesarse en lo que

hace el programa.

Ejemplo 1.10 Cálculo del volumen de diversos sólidos

%Nombre: Calculo del volumen

% Autor : Francisco Muñoz

% Fecha : Enero 5 del 2006

%Proposito: Calcular el volumen de diversos solidos.

%Entradas : Dos valores reales desde el teclado. Los valores representan las dimensiones

% de posibles solidos.

% Salidas: Las dimensiones y los volumenes posibles.

%Restricciones:Introducir los datos en forma apropiada.

% Estrategia: leer las dimensiones, luego calcular e imprimir resultados.

%Variables que se utilizan:

% Altura : Primer valor en los datos.

% Radio : Segundo valor en los datos.

% pi : Constante que reconoce Matlab.

% Cubo : Volumen que se calcula

% Esfera : idem

% Cilindro: idem

% Cono : idem.

% Introduzca los valores de la altura y del radio

disp(′ ′)

% La altura del solido es de 1.2345

% El radio del solido es de 6.789

H = input(′Introduzca la altura del solido =′)

R = input(′Introduzca el radio del solido =′)

disp(′ ′) % Volumen del cubo

Cubo = H^3;

% Volumen de la esfera

Esfera = (4/3)*pi*R^3;

% Volumen del cilindro Cilindro = pi*H*R^2;

% Volumen del cono Cono = (pi/3)*H*R^2;

% Imprime los volumenes de cada uno de los solidos.

disp(′Volumen calculado de cada uno de los solidos ′)

fprintf(\n\n H=%7.3f R=%7.3f cm^3\n′,H,R)

fprintf(′\n Cubo =%7.3f cm^3\n′,Cubo)

fprintf(′\n Esfera =%7.3f cm^3\n′,Esfera)

fprintf(′\n Cilindro=%7.3f cm^3\n′,Cilindro)

fprintf(′\n Cono =%7.3f cm^3\n′,Cono)

Page 14: Programacion matlab 1

Modulo 1

- 14 – Ingeniería Química –Universidad del Atlántico

El programa imprime:

Volumen calculado de cada uno de los solidos

H = 1.2345 cm R = 6.789 cm

Esfera = 1310.71 cm^3

Cilindro = 178.753 cm^3

Cono = 59.5842 cm^3

SIMBOLOS QUE SE USAN EN LOS DIAGRAMAS DE FLUJOS Un diagrama de flujo es un diagrama esquemático (o representación gráfica de un

algoritmo) con simbolos estandarizados que se colocan en la secuencia apropiada para

indicar las fases lógicas para la solución de un problema,sea éste para resolverse en una

computadora o no. Los diagramas de flujos empleam una serie de bloques y flechas,cada

uno de los cuales representa una operación en especial o un paso del algoritmo. Las flechas

representan la secuencia en que se llevan a cabo las operaciones.

Un algoritmo es la secuencia de pasos lógicos necesarios para llevar a cabo una tarea especifica,como la resolución de un problema . Para realizar éste objetivo debe contar con

los siguientes atributos:

1. Cada paso debe ser determinado, es decir, no puede ser obra de la casualidad. Los

resultados finales no pueden depender de quien sigue el algoritmo. En este sentido

un algoritmo es como una reseta de cocina.

2. El proceso debe terminar siempre despues de un número finitos de pasos. Un

algoritmo no puede tener un final abierto.

3. El algoritmo debe ser lo suficientemente generalizado como para ocuparse de

cualquier contingencia.

Los simbolos que con frecuencia se utilizan en los diagramas de flujos de programas se

muestran en la fig 1.Estos simbolos cumplen con las normas establecidas por la

International Organization for Standarization ( ISO ), “Procesamiento de Información-

Simbolos de Diagramas de Flujos”(International Estándar 1028); por la American National

Standards Institute (ANSI ), American National Standards, Simbolos de Diagramas de

Flujos y su Uso (ANSI X35-1970) y por la International Busines Machines Corporation

(IBM).

En éste módulo usaremos el conjunto de simbolos mostrado en la fig 1 .

Page 15: Programacion matlab 1

Modulo 1

- 15 – Ingeniería Química –Universidad del Atlántico

Fig 1 SIMBOLOS USADOS EN LOS DIAGRAMAS DE FLUJO.

SIMBOLO NOMBRE SIGNIFICADO

INICIO/TERMINAL Representa el inicio y fin del programa.

LINEAS DE FLUJO

PROCESO

DECISION

VISUALIZACION

DOCUMENTO

ENTRADA

PREPARACION

CONECTOR

Representa la lógica del flujo. Las

curvas colocadas sobre las flechas

horizontales indican que estas pasan

sobre las verticales sin cortarse con

ellas.

Representa los cálculos o

manipulación de datos. Señala la

asignación de un valor a una

variable o su cambio en valor.

Expresa una ramificación del flujo

lógico en la que puede seguirse

cualquiera de un número de

trayectorias alternas

Indica que la información es para

observarse en el monitor

Señala que la información es para

imprimirla en papel.

Manifiesta que los datos se alimentan

desde el teclado durante la ejecución de

un programa

Señala el inicio de un proceso

repetitivo.

Señala la transferencia desde

un punto a otro en la misma

página

Page 16: Programacion matlab 1

Modulo 1

- 16 – Ingeniería Química –Universidad del Atlántico

CONECTOR

FUERA DE

PAGINA

Los siguientes programas ejemplos ilustra el uso de los diagramas de flujos como ayuda en

la escritura de códigos de programas.

Ejemplo 1.11 Uso de los algoritmos en la codificación de programas. Este programa ejemplo, muestra los simbolos más usados en los diagramas de flujo:

TERMINAL, ENTRADA, PROCESO, VISUALIZACION Y DECISION.

% Este programa calcula el perimétro y el area del

% circulo de 1 cm de diametro

disp(‘ Valor del diametro ‘)

Diam = 1.0;

% Formula del perimétro y area del circulo

Circun = pi*Diam;

Area = pi*(Diam/2)^2; fprintf(\n Diam=%7.3f Circun=%7.3f Area=%7.3e\n’,Diam,Circun,Area)

Apertura

de archivo

Diam=1.0

Circun =piDiam

Area = pi(Diam/2)^2

FIN

INICIO

Diam

Circun

Area

Indica la transferencia de una

página a otra.

Page 17: Programacion matlab 1

Modulo 1

- 17 – Ingeniería Química –Universidad del Atlántico

Ejemplo 1.12 Uso de los algoritmos en la codificación de un programa.

TIPOS DE ERRORES

En un programa de Matlab pueden ocurrir tres tipos de errores: errores de sintaxis, errores

en tiempo de ejecución y errores lógicos.

Un error de sintaxis (o error de compilación) es un error de programación que viola las

reglas de Matlab (como una propiedad mal escrita o una palabra clave mal escrita). Matlab

detecta muchos tipos de errores sintácticos en los programas, mientras escribimos las

sentencias de programas;por ejemplo paréntesis mal balanceados y no permite que un

programa se ejecute hasta que se corrigan todos los errores de sintáxis. Son los má faciles

de localizar y corregir ya que se identifican mediante los mensajes de error que indican el

número de linea donde ocurre y sugieren la causa del error.

INICIO

A,B

A=B

A

B=1/A

INICIO

No

A

Datos

suministrados

desde el teclado

uno por uno

5.0

-2.0

0.5

10.0

1.0

Solución:

Los cálculos terminan cuando, A=B=1.0

Page 18: Programacion matlab 1

Modulo 1

- 18 – Ingeniería Química –Universidad del Atlántico

Un error en tiempo de ejecución es un error que provoca la detención no esperada de un programa durante su ejecución. Los errores de ejecución pueden ocurrir cuando un suceso

exterior o una sintáxis no descubierta obligan a un programa a detener su ejecución. Un

nombre de archivo mal escrito en una function o una unidad de disco abierta, son condiciones que pueden producir errores en tiempo de ejecución; por ejemplo , intentar

dividir por cero, calcular el logaritmo de un número negativo, utilizar un arreglo que exceda

su espacio reservado.

Un error lógico es un error humano-error de programación que obliga al código de

programa a producir resultados erróneos. La mayor parte del esfuerzo de depuración se

basa en la detección de errores lógicos introducidos por el programador. Asegúrese de

utilizar los recursos de ayuda interactiva de Matlab cuando detecte mensajes de error

producido por errores de sintáxis o errores en tiempo de ejecución. Si un programa que

escribe no funciona de manera apropiada, necesitará depurar el programa para eliminar

todos los errores.

Un depurador es un sistema de monitoreo interactivo que puede activar o desactivar

dentro de Matlab y que lo ayuda a localizar instrucciones que contienen errores. Por

ejemplo, si ejecuta un programa que ha escrito y éste hace un cálculo incorrecto, el

depurador lo ayudará a encontrar rápidamente la instrucción del programa que contiene el

error.