Este documento describe operadores relacionales y lógicos en MATLAB, así como funciones, entrada/salida interactiva y recursión. Explica cómo definir funciones, llamar funciones, y usar comandos como input, keyboard, menu y pause para entrada interactiva. También cubre conceptos como error handling, return y recursión.
Conceptos básicos sobre funciones en C: que son, para qué sirven, cómo declararlas, cómo implementarlas, cómo pasar parámetros tanto por valor como por referencia, etc
Conceptos básicos sobre funciones en C: que son, para qué sirven, cómo declararlas, cómo implementarlas, cómo pasar parámetros tanto por valor como por referencia, etc
Tech Talk: Knowledge Management of the Future for ITSMCA Technologies
Have traditional approaches to knowledge management become unsustainable?
Is there a new or better way to accomplish the same objective?
Join this session to engage in a lively discussion with IT experts from CA Service Management about where knowledge management may be heading.
For more information, please visit http://cainc.to/Nv2VOe
Tech Talk: Knowledge Management of the Future for ITSMCA Technologies
Have traditional approaches to knowledge management become unsustainable?
Is there a new or better way to accomplish the same objective?
Join this session to engage in a lively discussion with IT experts from CA Service Management about where knowledge management may be heading.
For more information, please visit http://cainc.to/Nv2VOe
Resultado de aprendizaje: Identificar las oportunidades que la Fundación y el SENA ofrecen en el marco de la formación profesional de acuerdo con el contexto nacional e internacional.
Laboratorio1 -Teoría de los circuitos: Uso de MatlabGega Li
El presente documento cuenta con una serie de ejemplos donde se muestra como realizar la transformada y anti-transformada de Laplace con Matlab. También se presentan funciones operacionales hipotéticas y se muestra como calcular la ganancia, los polos los ceros;así como también se presentan los scripts para realizar las respectivas gráficas de Bode, Nyquist, lugar geométrico de raíces y respuestas a diferentes excitaciones de entrada.
Presentación- PLATAFORMA VIRTUAL E-LEARNING .pptxarelisguerra707
PLATAFORMA VIRTUAL E-LEARNING
Las plataformas virtuales de e-learning son sistemas en línea que permiten la enseñanza y el aprendizaje a través de internet. Estas plataformas facilitan la gestión de cursos, la distribución de materiales educativos, la comunicación entre estudiantes y profesores, y el seguimiento del progreso académico. A continuación, se describen algunas características y ejemplos de plataformas de e-learning populares:
Características Comunes de las Plataformas de E-learning
Gestión de Cursos: Permiten la creación, organización y administración de cursos.
Materiales Educativos: Ofrecen acceso a documentos, videos, presentaciones, y otros recursos educativos.
Evaluaciones y Tareas: Facilitan la creación de exámenes, cuestionarios, y la entrega de tareas.
Interacción: Incluyen herramientas para foros de discusión, chats en vivo, videoconferencias, y mensajería.
Seguimiento del Progreso: Proporcionan reportes y análisis del desempeño y progreso de los estudiantes.
Accesibilidad: Pueden ser accesibles desde múltiples dispositivos, incluyendo computadoras, tablets y smartphones.
2. Algunos ejemplos adicionales con la matriz A de mas
arriba
A=[1 2;0 3];
A
isfinite(A)
isvector(A) %A no es vector ya que posee filas y columnas y eso es una matriz
Esto lo puedo hacer en el script como esta arriba o lo puedo realizar en el comando de Windows.
>>
>>B = 1:3 %este si es un vector
isvector(B)
3. Además una condición puede constar de una o mas operaciones relacionales. Estas
normalmente están concatenadas con expresiones lógicas cuya verdad o falsedad sigue las
leyes de la lógica formal. Los operadores lógicos de MATLAB son los siguientes:
Algunos ejemplos
>> x=[-1 1 1]; y=[ 1 2 -3];
>> x>0, y>0 %aquí compara los valores del vector si son mayor a 0 si no son asi asigna el valor 0 como quedo abajo
X y
>> x>0 & y>0 %aquí hace un comparación y acuérdense que & es que ambos deben ser verdadero por eso en
la posición 1 y 3 los valores son 0
>> x>0 | y>0 % como bien se sabe o con uno de los dos que sea positivo el valor de retorno es 1
4. MÁS COMANDOS DE PROGRAMACIÓN
Funciones
Estamos acostumbrados a trabajar con funciones del tipo y=f(x) donde f(x) es una expresión
matemática en términos de la variable x. Se calcula un valor de y (salida) cuando se
proporciona un valor de x (entrada) en la expresión. MATLAB define muchas funciones
como sin(x), sqrt(x), etc.
Podemos definir nuestras propias funciones guardarlas en un fichero y usarlas de un modo
semejante a las funciones predefinidas. En muchos casos las funciones son los componentes
básicos dentro de un programa de ordenador. Habitualmente, un programa se subdivide en
tareas y cada una de ellas es llevada a cabo por una función, a esta forma de resolver los
problemas se denomina programación estructurada.
La principal ventaja de las funciones es la posibilidad de reutilizar el código en otros programas
distintos al cual fueron definidas.
La entrada y la salida puede ser una o varias variables, cada una de ellas puede ser un escalar,
un vector o una matriz de cualquier tamaño.
5. Definición de una función
Las funciones se crean del mismo modo que un script seleccionado en el
menú File/New/Function y se guardan en un fichero que tiene el mismo nombre que la
función y extensión .m
6. La primera línea en el editor es la definición de la función que comienza con la palabra clave function
nombre_funcion, es el nombre significativo que se le asigna a la función y coincide con el
nombre del fichero de extensión .m en el que se guarda el código de dicha función. Las
reglas para nombrar un función son las mismas que para las variables, los nombres no
deben de incluir espacios, ni se pueden utilizar plabras reservadas por MATLAB.
variables_entrada, es el conjunto de parámetros que se le pasa a la función. Los nombres de
las variables van entre paréntesis y separadas por coma.
variabales_salida, es el valor o conjunto de valores de las variables devueltos por la función.
Las variables de salida van después de la palabra reservada function entre corchetes
cuadrados y separados por comas si hay varios.
sentencias, líneas de código que tomando los valores de los parámetros de entrada calculan
mediante expresiones los valores que devuelve la función.
end, marca el final de la función es opcional (salvo en las funciones anidadas) pero es
conveniente acostumbrarse a ponerlo al finalizar la función.
7. Ejemplos
Suma de dos números
Empezaremos por una función suma que realiza la siguiente tarea, suma de dos números x e y y devuelve la suma z=x+y
Definición de la función
function [z] = suma(x,y)
%Esta función suma dos números x e y
%y devuelve el resultado de la suma en z
z=x+y; %efectúa la suma
end
8.
9. Llamada a la función
La llamada a la función se puede hacer desde la ventana de comandos
>> suma(2,3)
ans = 5
Otro ejemplo
function [x,v] = caida_libre(t)
v=40-10*t;
x=200+40*t-5*t^2;
end
%lo mismo lo gurdamos como caida_libre.m
En la ventana de comandos se llama a esta función caida_libre, pasándole un
tiempo t=2 s, del siguiente modo
>> [pos,vel]=caida_libre(2) % solo que aquí acuérdense que la varible necesita dos valores por eso
pos, vel
10. ERROR
Este comando tiene la estructura: “error( ‘mensaje’ )” dentro de una función o un archivo de comandos, aborta la
ejecución y despliega el mensaje declarado en el argumento, terminando el programa y retornando el control al
teclado.
Ejercicio 1:
Cree el archivo de función “produdcruz.m” con las siguientes líneas de comandos:
function c = produdcruz(a,b);
% prodcruz(a,b) calcula el producto cruz a x b
if nargin~=2 % Si no hay dos argumentos de entrada
error( 'Lo siento, necesita dos vectores de entrada' )
end
disp ( 'Otros cálculos' )
end
En la ventana de comandos si ingresamos datos sale disp. En el segundo sale la función error.
>> produdcruz(3,3)
Otros cálculos
>> produdcruz
Error using produdcruz (line 5)
Lo siento, necesita dos vectores de entrada
11. RETURN
El comando simplemente devuelve el control al que invoca la función.
function barranimada(t0,tf,x0);
% barrabunada crea una animación de péndulo con una barradisp
( '¿Quiere ver el diagrama de fase?' )
ans=input( 'Presione 1 para SI, 0 para NO' )
if ans==0 % Si la entrada es cero
return
else
disp( 'Despliega el diagrama de fase' ) % Programa para el
diagrama de fase
end
end
12. INPUT INTERACTIVO
Los comandos: “input”, “keyboard”, “menu” y pause pueden ser usados dentro
del archivo de comando o de función como una entrada interactiva.
Input
El comando “input( ‘instrucción’ )”, despliega el texto colocado dentro
del argumento y espera una entrada por parte del usuario desde el
teclado.
Ejemplos:
n=input( ‘Ingrese el número de repeticiones’ ). Pide al usuario el
número de repeticiones de un proceso y guarda la entrada en la
variable “n”.
mas=input( ‘Más simulaciones? S/N’ , ‘S’ ). Pide al usuario escribir
“S” para si y “N” para no, almacena la entrada como una cadena de
caracteres en la variable “mas”.
13. Keyboard
El comando “keyboard” dentro de un archivo de comandos o de función,
retorna el control al teclado en la línea de instrucciones donde el comando
es declarado. La ejecución del archivo es interrumpido. El símbolo de la
ventana de comandos cambia de “>>” a “k>>” que muestra el estado
especial. En este punto, usted puede revisar las variables ya calculadas,
cambiar sus valores, o ejecutar cualquier comando valido. El control es
retornado al archivo al escribir en la ventana de comandos “return” y luego
la tecla “enter”.
Esta función es útil para la depuración de archivos de comandos o de
función. Algunas veces, durante la ejecución de un archivo, usted podría
querer verificar algunos resultados intermedios, graficarlos, o si los
cálculos están dirigidos en la dirección correcta y luego dejar que la
ejecución del archivo continúe.
14. % ejemtecl: archivo de comandos para ejemplificar el
comando keyboard
A=ones(10) % Crea una matriz de 10 x 10 con valores 1 como
elementos
for k=1:10
disp(k) % Despliega el valor de k
A(:,k)=k*A(:,k); % Reemplaza la k-ésima columna de A
if k==5 % Cuando k = 5
keyboard % Retorna el control al teclado
end
end
15. Menu
El comando “menu(‘nombre_menu’, ‘opcion1’, ‘opcion2’, . . .)” crea un menú de pantalla con el “nombre_menu” y lista
las opciones del menú. El usuario puede seleccionar alguna de las opciones usando el ratón o la selección desde el
teclado. La utilización de este comando crea una atractiva ventana de menú con botones.
% Graficando un circulo
r=input('Introduzca el radio deseado');
theta=linspace(0,2*pi,100);
r=r*ones(size(theta)); % hace que r tenga el mismo tamaño de theta
coord=menu('Grafica del círculo', 'Cartesiana', 'Polar');
if coord==1 % Si la primera opción del menú es seleccionada
plot(r.*cos(theta),r.*sin(theta))
axis('square')
else %si la segunda opción del menú es seleccionada
polar(theta,r);
end
16. Pause
El comando “pause” detiene temporalmente el proceso en curso. Este comando puede ser utilizado de
manera opcional de una de las formas siguientes:
pause Detiene el proceso en curso y espera a que el usuario de la señal para continuar.
Presionando cualquier tecla, se reinicia el funcionamiento del archivo.
Pause(n) Detiene el proceso en curso, realizando una pausa de “n” segundos; luego de este
tiempo se reinicia la ejecución del archivo.
% ejemtecl: archivo de comandos para ejemplificar el comando keyboard
A=ones(10) % Crea una matriz de 10 x 10 con valores 1 como elementos
for k=1:10
disp(k) % Despliega el valor de k
A(:,k)=k*A(:,k); % Reemplaza la k-ésima columna de A
if k==5 % Cuando k = 5
pause(2) % Retorna el control al teclado a los 2 segundos si solo se
coloca pause al dar enter pasa
end
end
17. Recursion
El lenguaje de programación MatLab soporta recursión, es decir, una función puede llamarse a sí mismo durante su
ejecución. Así algoritmos recursivos se puede aplicar directamente en MATLAB.
18. El cálculo del factorial. Observe como se capturan los casos particulares para el
0 y el 1. Y el caso de entrada inválida, n<0.
% retorna el factorial del número dado
function [] = factorial(n)
if n < 0
disp('Ingrese un número positivo !')
return;
end;
if (n==0 | n==1)
disp('El factorial de ');
disp(n);
disp('es 1');
return;
end;
mult = 1;
for i = 1:n;
mult = mult * i;
end;
disp('El factorial de '); disp(n); disp('es: ');
disp(mult);
end
19. Input / output
MatLab soporta muchos estándares del lenguaje C como archivos con funciones de entrada / salida para lectura
y escritura en formatos binarios y archivos de texto. Entre las funciones soportadas se incluyen:
fopen Abre un archivo existente o crea un nuevo archivo
fclose Cierra un archivo abierto
fread Lee datos binario de un archivo
fwrite Escribe datos binarios en un archivo
fscanf Lee datos formateados de un archivo
fprintf Escribe datos formateados a un archivo
sscanf Lee cadenas de caracteres con formato
especificado
sprintf Escribe datos en un formato de cadena de
caracteres
fgets Lee una línea desde un archivo, descartando una
nueva línea de caracteres
fgetl Lee una línea desde un archivo , incluyendo una
nueva línea de carateres
frewind reinicia un archivo
fseek establece el indicador de posición de archivo
ftell Obtiene el indicador de posición del archivo en curso
ferror Consulta el estado de error de un archivo de
entrada / salida
20. % TEMPTABLA – genera y escribe una tabla de temperaturas
% Archivo de comandos que genera una tabla de temperaturas Fahrenheit – Celsius
% La tabla está escrita en un archivo llamado ‘temperatura.tabla’
% ------------------------------------------------------------------------------------
F= -40:5:100; % Asigna F=[-40 -35 -30 … 100]
C=(F - 32)*5/9; % Calcula los valores correspondientes en C
t=[F;C] % Crea una matriz t de dos filas
fid=fopen( 'temperatura.tabla', 'w'); % Aquí crea el archivo
temperatura con los valores de la matriz de arriba
fprintf(fid,' Tabla de temperaturasn ');
fprintf(fid,' ------------------------ -n ');
fprintf(fid,'Fahrenheit Celsius n');
fprintf(fid, ' %4i %8.2fn',t,'n');
fclose(fid)
21. En el archivo anterior, el primer comando E/S “fopen” abre un archivo “temperatura.tabla” en el modo de
escritura (esto es especificado por “w” dentro del argumento del comando) y asigna el archivo identificador a
la variable “fid”. El siguiente comando “fprint” utiliza “fid” para escribir las cadenas de caracteres y los datos
en ese archivo. Los datos son formateados de acuerdo a las especificaciones de las etiquetas en el
argumento de “fprint”. La instrucción “n” establece una nueva línea; “4i” representa un campo entero de
ancho para 4 dígitos; mientras que “%8.2f” representa un campo de punto fijo de ancho para 8 dígitos
enteros y dos dígitos después del punto decimal.
Observe que los datos de la matriz “t” tiene dos filas, mientras que en el archivo de salida muestra la matriz
en dos columnas. Esto es porque “t” es leído por columnas y luego escrito en la forma especificado (dos
valores en una fila).
22. Ejemplo de uso de while con break (corta el bucle):
nro = input('Ingrese un número positivo: ');
i=0;
while i<=nro
disp(i);
i=i+1;
if i==2
break;
end;
end