[go: up one dir, main page]

0% encontró este documento útil (0 votos)
25 vistas11 páginas

MatLab Prog

El documento proporciona una introducción a la programación en MATLAB, incluyendo variables, operadores, sentencias de entrada y salida, y estructuras de control. Se explican funciones, su definición, y cómo se manejan los parámetros de entrada y salida, así como ejemplos prácticos de programación. Además, se abordan funciones para el tratamiento de cadenas y la evaluación de expresiones, junto con ejercicios prácticos para aplicar los conceptos aprendidos.

Cargado por

Rous Fuentes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas11 páginas

MatLab Prog

El documento proporciona una introducción a la programación en MATLAB, incluyendo variables, operadores, sentencias de entrada y salida, y estructuras de control. Se explican funciones, su definición, y cómo se manejan los parámetros de entrada y salida, así como ejemplos prácticos de programación. Además, se abordan funciones para el tratamiento de cadenas y la evaluación de expresiones, junto con ejercicios prácticos para aplicar los conceptos aprendidos.

Cargado por

Rous Fuentes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

Tema 4 PROGRAMACIÓN EN MAT LAB

4.1 Introducción.
Es un lenguaje parecido al lenguaje C, que permite hacer programas.
4.2 Variables y operadores
Las variables se tratan como en un lenguaje de alto nivel, se maneja variables en
la RAM bajo un nombre y sin tipo.
En Lenguaje C
int a, b;
float x;
En PseInt
definir a, d Como Entero

En MAT LAB, el tipo NO ES NECESARIO.

Los operadores son:


Aritméticos : + - * /
rem mod (remainder, modulo: residuo)
Relacionales : < > <= >= == ~= (diferente)
Lógicos : & AND (conjunción)
| (alt + 124) OR (disyunción)
~ (alt+126) NOT (negación)
a = 5; if a == b

4.3 Sentencias de entrada y salida.


Entrada
variable = input('’Cadena de solicitud'’)
Nota: para ingresar una matriz debe delimitarse entre corchetes.

Salida
disp(variable arreglo)
fprintf(‘cadena de formato ‘, lista de variables)
>> a = 4+12
>> b = 123 / 19
>>fprintf(‘%d %7.2f’, a , 4+6);

4.4 Archivos .m
Es el programa o código fuente, donde se escriben las sentencias de ENTRADA,
PROCESO y SALIDA.
El formato es:
function nombrefuncion ()
clc;
disp(‘PROGRAMA DOBLE DE UN NUMERO’);
num = input(‘Ingresa num -> ‘);
doble = 2 * num ;
disp(doble);
end

Programa para ingresar DOS números y hallar la suma, producto y división.


function numeros
clc;
disp('SUMA PRODUCTO Y DIVISION');
num1 =input('Ingresa num1 -> ');
num2 =input('Ingresa num2 -> ');
sum = num1 + num2;
prod = num1 * num2;
cociente = num1 / num2;
% fprintf('%d %d %6.3f\n', sum, prod, cociente );
disp(sum);
disp(prod);
disp(cociente);
disp('Bye, bye ');
end

fprintf( ‘ %i %7.4f ’, cua, raiz ); \n \t (Secuencia de escape)

4.5 Estructuras de control.


Al igual que en la programación con un lenguaje de alto nivel, Mat Lab tiene
también una estructuración: Secuencial, Bifurcación y Repetición.

4.5.1Bifurcación simple.-
Sentencia if
if (condición)
sentenciasV
else
sentenciasF
end
function par()
clc;
disp(‘PAR o IMPAR’);
num = input(‘Ingrse num ->’);
res = rem(num,2);
disp( res);
if res ==0
disp(‘PAR’);
else
disp(‘Impar’);
end

4.5.2Bifurcación compuesta.-
Sentencia switch:

switch selector
case valor1,
sentencias1
case valor2,
sentencias2
otherwise,
sentencias por defecto
end

4.6 Estructura de repetición.-


4.6.1Sentencia for
for contador=valor inicial: [incremento : ] valor final
sentencias
end
4.6.2Sentencia break
Rompe la ejecución de un bucle, termine el bucle y salta a la .siguiente
instrucción después del bucle.
4.6.3Sentencia continue
Hace que el resto del bucle de repetición se ignore y se continúe con la siguiente
iteración.

Veamos algunos ejemplos:


1. Código para verificar si un número es par o impar.

2. Hacer un código para visualizar los números del 1 al 10.


3. Código para hacer la evaluación de la función y  2x  1

4.6.4Sentencia while
while condición
sentencias
end

4.7 Funciones en MatLab.


Como en todo lenguaje de programación, al definir una función, se tiene un
nombre, y los parámetros de entrada y salida hacia y desde la función:
a) Función que devuelve una sola variable.
La función a evaluar f x  , donde x es un escalar, para evaluarla como vector o
matriz los operadores aritméticos deben ser de arreglos ( .* ./ .^)
Ejemplo: función y  2x 3  8
1 function [y] = cubica(x)
2 y = 2*x^3 - 8

b) Función que devuelve múltiples variables

function [ sum , prod] = admult( x, y, z )


sum = x + y;
prod = x * y;
end

En este caso se definen las variables de salida delimitados entre corchetes:


function [lista de variables de salida] = nomfuncion(lista de variable de
entrada)
Ejemplo: función que calcula la suma y el producto de dos números.

c) Llamada a una función

Una función construida se la invoca desde el entorno de MatLab u otra función,


si sólo devuelve un valor:

>> variable = funcion(parámetros)

Si devuelve dos ó más valores, las variables receptoras deben delimitarse entre
corchetes:
>> [variables receptoras] = funcion(parámetros de entrada)

Ejemplo: Hallar la media de un conjunto de datos en un vector.


4.7.1Funciones con número variable de parámetros de entrada.
Se utilizan las variables de MatLab: varargin y varargout, que indican que el
número de variables de entada será variable, así como las de salida.

4.8 Funciones en MatLab.


Veamos algunas funciones para el tratamiento de variables numéricas y de
cadena..

4.8.1Funciones de cadena.

size() determina la dimensión y longitud de la cadena


abs() devuelve números ASCII de los caracteres
setstr() convierte número en caracteres
isstr() detecta si una variable es una cadena de caracteres
strcmp() Comparación de cadenas (diferente en C), 1 iguales, 0
diferentes.
int2str() convierte un entero a cadena
num2str convierte un número real a cadena, con 4 decimales,
puede tener más decimales con un argumento opcional
sprintf() Convierte valores numéricos encadenas con un formato.

4.8.2Funciones de evaluación.
En ocasiones es necesario evaluar una función que está escrita en forma literal,
como cadena y no como expresión matemática.

eval(‘cadena’) Se evalúa la cadena como expresión


computacional matemática. La
cadena puede ser un comando, una
fórmula o en general una expresión
válida de MAT LAB
feval(‘nomfuncion’,argumentos) Evalúa dentro de una función otra
feval(‘sind’,30) función cuyo nombre se ha recibido
en la cadena con los argumentos.
Ejemplo:
>> eval(‘4+sin(pi)’)
>> feval(‘f’,5) // f nombre de la función, 5 es un valor de
entrada
4.9 Espacio de trabajo.
Denominado Explorador del espacio de trabajo (Workspace Browser), es un
área de memoria accesible desde la línea de comandos de MATLAB, se tienen
dos comandos:

who muestra una lista corta de las variables definidas

whos muestra la lista de variables, y además el tamaño que ocupan y la


información de cómo está almenada la variable:

clear borra todas las variables del espacio de trabajo de MATLAB:

clear variable borra la variable del espacio de trabajo de MATLAB:

4.10 Formatos de visualización de números.

4.11 Ejercicios.
Hacer la tabla de la suma

Aplicación: numero primo:

Descripción: Se ingresa un número n y luego se empieza a divide desde 1 hasta


n-1, y el algoritmo es el siguiente:
Algoritmo: Function NUMERO PRIMO COMPUESTO

Nombre primo

Parámetros Entrada x : numero entero

Salida p : numero entero

Variables d, c : divisor y contador

1) c=0

2) Para d=1 hsata x-1 hacer

Si mod(x,d)==0

c = c+1

Fin_si

Fin_d

3) Si c>2

p=0

sino

p=1

fin_si

Fin_Primo

Progr03: Ingresar un vector, y hallar el menor y mayor.

function arit2()
clc;
disp(‘ ’);
num = input(‘num -> ’);
cua = num*num;
raíz = sqrt( num );
disp( cua );
disp( raíz );
end

--------------------------------------------------------------------------------------

Ejercicios

Programa 1: diseñar un programa para ingresar un numero por teclado y obtener


el doble y su mitad.
a) COMO FUNCION:
function [ d , m ] = doble( NUM )
d = 2*num;
m = num /2;
end

a) Como programa:

function doblemit()
clc;
disp(‘DOBLE y MITAD de un NUMERO ‘);
numero = input(‘Ingrese numero = ’);
d = 2*num;
m = num /2;
fprintf(‘\nResultados \n\tdoble = %4d \n\tmitad = %6.2f ’, d, m);
disp(‘Bye bye …’);
end

SECUENCIA DE ESCAPE:
\n Salto de línea \t tabulador

Programa 2: Diseñar un programa para ingresar un numero y determinar si es


PAR O IMPAR.
function par()
clc:
disp(´NUMERO PAR o IMPAR´);
num = input(´Ingrese numero = ´);
par = mod(num, 2) == 0;
% impar = num mod 2 == 1;
if par then
disp(‘PAR’);
else
disp(‘Es impar ….’);
end
disp(´Bye bye…);
end
Programa 3: Diseñar un programa para ingresar un vector y hallar el menor, el
mayor y la suma de este vector.
Un programa para ingresar n número y hallar el menor y mayor.
function vector()
clc:
disp(´OPERACIONES CON VECTOR´);
V = input(´Ingrese Vector = ´);
menor = min( V);
mayor = man( V);
suma = sum( V );
fprintf(‘\n\tMenor = % 4d’, menor);
fprintf(‘\n\tMayor = % 4d’, mayor);
fprintf(‘\n\tSuma = % 4d’, suma);
disp(´Bye bye…);
end

num = 174
num mod 2 == 0
0
V

function evaluar()
clc:
disp(´Evaluar una expresion ´);
cad = input(´Ingrese expresión = ´);
resul = eval( cad );
fprintf(‘\n\tResult = % 7.2f’, resul);
fprintf(‘\n\tBye bye…);
end

>> eval(‘4+8-3’)
>> eval(‘ 4 + sqrt(5) ’)

JUEVES
Entrada de datos: input.
Proceso funciones:
Salida disp. Fprintf

Ejemplo 1. Ingresar por teclado dos números y visualizar el segundo número


tantas indique el primer número.
function repetir()
clc;
disp('VISUALIZAR UN NUMERO');
num1 = input('Ingresa num1 = ');
num2 = input('Ingresa num2 = '
for k=1: num1
fprintf('%d ', num2);
end
fprintf('\n');
disp('Hasta luego ...');
end

Ejemplo 2. Evaluar la función y = senx, para ángulos desde 0° hasta 45°.


Y = sen x 0<x<45
function funcionseno()
clc;
disp('VISUALIZAR tabla de Razon Seno');
%num1 = input('Ingresa num1 = ');
%num2 = input('Ingresa num2 = ');
for alfa=10: 30
x = alfa/180 * pi;
y = sin(x);
fprintf('\nsen(%i) = %7.3f ', alfa, y);
end
fprintf('\n');
disp('Hasta luego ...');
end

function funcionseno()
clc;
disp('VISUALIZAR tabla de Razon Seno');
%num1 = input('Ingresa num1 = ');
%num2 = input('Ingresa num2 = ');
for alfa=10: 49
y = sind(alfa);
z = cosd(alfa);
fprintf('\nsen(%i) = %7.3f \t cos(%i) = %7.3f ', alfa, y, alfa,z);
end
fprintf('\n');
disp('Hasta luego ...');
end

También podría gustarte