Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matlab
Matlab
Estudiantes de la ESPE-L
MATLAB despliega un tooltip, el cual da el nombre del botón Las expresiones utilizan los operadores aritméticos comunes.
ha seleccionado. Los operadores aritméticos son los mismos que en cualquier
I.2 Comandos principales lenguaje de programación y se sigue un orden de evaluación
similar al que se utiliza en los demás lenguajes de
En la Tabla I.2 se enlistan los comandos más comunes de la programación.
plataforma de simulación MATLAB. Dentro de estos
comandos se encuentran aquellos que realizan búsquedas, la En la Tabla II.1 se muestran los operadores aritméticos más
ayuda en línea, desplegar las variables presentes en el espacio comunes en MATLAB.
de trabajo, entre otras.
II.1 Expresiones en MATLAB
MATLAB como cualquier lenguaje de programación
proporciona expresiones matemáticas, pero a diferencia de la
mayoría de ellos, las expresiones matemáticas que maneja
involucran matrices completas.
Las expresiones se dividen en:
• Números
• Variables
• Operadores
• Funciones
II.1.1 Números MATLAB
Utiliza una notación decimal convencional con punto decimal
opcional y el signo menos para indicar números negativos. La II.1.4 Funciones MATLAB
notación científica utiliza la letra e para especificar el factor de Proporciona un gran número de funciones matemáticas
escala en potencias de 10. Los números imaginarios utilizan simples y avanzadas. La gran mayoría de estas funciones
ya sea la i o la j como sufijo. acepta argumentos complejos. Las funciones más comunes,
Todos los números se almacenan internamente usando el como sqrt y sin son parte del núcleo de MATLAB y están
formato long especificado por el estándar en punto flotante programadas en bajo nivel para hacerlas más eficientes y no es
IEEE. Los números en punto flotante tienen una precisión posible acceder a su código. El resto de las funciones está
finita aproximadamente de 16 dígitos decimales y un rango programada en archivos M y su código está disponible para
finito aproximadamente de 10-308 a 10-308. revisiones o modificaciones.
Muchas funciones especiales proporcionan o requieren valores
de constantes útiles. MATLAB incorpora constantes
matemáticas y cierta simbología, la cual se muestra en la
Tabla II.2.
II.1.6 LIBRERIAS
Algebra lineal.
Funciones matemáticas elementales y especializadas. II.1.7 Limitaciones del código compilado
Operadores lógicos y aritméticos.
Matrices elementales y manipulación de vectores.
Ciertas instrucciones, como load y eval, no estan soportadas
Matrices especiales.
por el compilador de MATLAB . Este no puede generar
Estadística básica y análisis de datos. código de los diagramas de bloques de SIMULINK. Los
Polinomios e interpolación. toolboxes de MATLAB pueden incluir archivos MEX y otros
Gestión de cadenas de caracteres. componentes que no son compilables.
Entradas y Salidas.
Gestión de memoria y errores.
SYMBOLIC MATH TOOLBOX
set(handles.filap,'visible','off') set(handles.borrar,'visible','on')
set(handles.graficax,'visible','off') set(handles.flap,'visible','on')
set(handles.axes2,'visible','off')
set(handles.filap,'visible','on') set(handles.cci2,'visible','off')
set(handles.cci3,'visible','off')
% Hint: get(hObject,'Value') returns toggle set(handles.cci4,'visible','off')
state of ilaplace set(handles.a,'visible','off')
set(handles.b,'visible','off')
set(handles.ab,'visible','off')
% --- Executes on button press in ecuaciones. set(handles.res,'visible','off')
function ecuaciones_Callback(hObject, set(handles.resultado,'visible','off')
eventdata, handles) set(handles.res2,'visible','off')
set(handles.ecuaciones,'value',0) set(handles.resultado2,'visible','off')
set(handles.atras,'visible','on') set(handles.boton1,'visible','off')
set(handles.resultado2,'string',' ') set(handles.boton2,'visible','off')
set(handles.lapl,'string',' ') set(handles.boton3,'visible','off')
set(handles.ordened,'visible','on') set(handles.boton4,'visible','off')
set(handles.orden,'visible','on') set(handles.lap,'visible','off')
set(handles.selec,'visible','off') set(handles.lapl,'visible','off')
set(handles.graficax,'visible','on') set(handles.ed,'visible','off')
set(handles.axes2,'visible','on') set(handles.tidlp,'visible','off')
set(handles.ilaplace,'visible','off') set(handles.graf,'visible','on')
set(handles.ecuaciones,'visible','off') set(handles.tdlp,'visible','off')
set(handles.graficas,'visible','off') set(handles.atras,'visible','on')
set(handles.laplace,'visible','off') set(handles.plot,'visible','on')
set(handles.tdlp,'visible','off') set(handles.seno,'visible','on')
set(handles.tidlp,'visible','off') set(handles.cos,'visible','on')
set(handles.graf,'visible','off') set(handles.tan,'visible','on')
set(handles.ed,'visible','on') set(handles.sec,'visible','on')
set(handles.borrar,'visible','on') set(handles.grafec,'visible','on')
set(hObject,'BackgroundColor','white');
end opcion=str2double(get(handles.ordened,'string'
)); % orden de la ecuacion
switch opcion
case 1 % orden=1
function edit17_Callback(hObject, eventdata, set(handles.selec,'visible','off')
handles) set(handles.ilaplace,'visible','off')
function edit17_CreateFcn(hObject, eventdata, set(handles.ecuaciones,'visible','off')
handles) set(handles.graficas,'visible','off')
if ispc && set(handles.laplace,'visible','off')
isequal(get(hObject,'BackgroundColor'), set(handles.y3,'visible','off')
get(0,'defaultUicontrolBackgroundColor')) set(handles.y2,'visible','off')
set(hObject,'BackgroundColor','white'); set(handles.y1,'visible','off')
end set(handles.y,'visible','on')
set(handles.x,'visible','on')
set(handles.yiv,'visible','off')
set(handles.yiii,'visible','off')
function edit18_Callback(hObject, eventdata, set(handles.yii,'visible','off')
handles) set(handles.yi,'visible','off')
function edit18_CreateFcn(hObject, eventdata, set(handles.y0,'visible','on')
handles) set(handles.uno,'visible','off')
if ispc && set(handles.dos,'visible','off')
isequal(get(hObject,'BackgroundColor'), set(handles.tres,'visible','off')
get(0,'defaultUicontrolBackgroundColor')) set(handles.cuatro,'visible','on')
set(hObject,'BackgroundColor','white'); set(handles.igual,'visible','on')
end set(handles.ci,'visible','on')
set(handles.ci,'visible','on')
set(handles.ci1,'visible','on')
set(handles.ci2,'visible','off')
function edit19_Callback(hObject, eventdata, set(handles.ci3,'visible','off')
handles) set(handles.ci4,'visible','off')
function edit19_CreateFcn(hObject, eventdata, set(handles.cci1,'visible','on')
handles) set(handles.cci2,'visible','off')
if ispc && set(handles.cci3,'visible','off')
isequal(get(hObject,'BackgroundColor'), set(handles.cci4,'visible','off')
get(0,'defaultUicontrolBackgroundColor')) set(handles.a,'visible','on')
set(hObject,'BackgroundColor','white'); set(handles.b,'visible','off')
end set(handles.ab,'visible','off')
set(handles.res,'visible','on')
set(handles.resultado,'visible','on')
set(handles.boton1,'visible','on')
function edit20_Callback(hObject, eventdata, set(handles.boton2,'visible','off')
handles) set(handles.boton3,'visible','off')
function edit20_CreateFcn(hObject, eventdata, set(handles.boton4,'visible','off')
handles) case 2 %orden= 2
if ispc && set(handles.selec,'visible','off')
isequal(get(hObject,'BackgroundColor'), set(handles.ilaplace,'visible','off')
get(0,'defaultUicontrolBackgroundColor')) set(handles.ecuaciones,'visible','off')
set(hObject,'BackgroundColor','white'); set(handles.graficas,'visible','off')
end set(handles.laplace,'visible','off')
set(handles.y3,'visible','off')
set(handles.y2,'visible','off')
set(handles.y1,'visible','on')
function edit21_Callback(hObject, eventdata, set(handles.y,'visible','on')
handles) set(handles.x,'visible','on')
function edit21_CreateFcn(hObject, eventdata, set(handles.yiv,'visible','off')
handles) set(handles.yiii,'visible','off')
if ispc && set(handles.yii,'visible','off')
isequal(get(hObject,'BackgroundColor'), set(handles.yi,'visible','on')
get(0,'defaultUicontrolBackgroundColor')) set(handles.y0,'visible','on')
set(hObject,'BackgroundColor','white'); set(handles.uno,'visible','off')
end set(handles.dos,'visible','off')
set(handles.tres,'visible','on')
set(handles.cuatro,'visible','on')
set(handles.igual,'visible','on')
function ordened_Callback(hObject, eventdata, set(handles.c,'visible','on')
handles) set(handles.ci,'visible','on')
11
set(handles.ci1,'visible','on') set(handles.y,'visible','on')
set(handles.ci2,'visible','on') set(handles.x,'visible','on')
set(handles.ci3,'visible','off') set(handles.yiv,'visible','on')
set(handles.ci4,'visible','off') set(handles.yiii,'visible','on')
set(handles.cci1,'visible','on') set(handles.yii,'visible','on')
set(handles.cci2,'visible','on') set(handles.yi,'visible','on')
set(handles.cci3,'visible','off') set(handles.y0,'visible','on')
set(handles.cci4,'visible','off') set(handles.uno,'visible','on')
set(handles.a,'visible','off') set(handles.dos,'visible','on')
set(handles.b,'visible','on') set(handles.tres,'visible','on')
set(handles.ab,'visible','off') set(handles.cuatro,'visible','on')
set(handles.res,'visible','on') set(handles.igual,'visible','on')
set(handles.resultado,'visible','on') set(handles.ci,'visible','on')
set(handles.boton1,'visible','on') set(handles.ci1,'visible','on')
set(handles.boton2,'visible','off') set(handles.ci2,'visible','on')
set(handles.boton3,'visible','off') set(handles.ci3,'visible','on')
set(handles.boton4,'visible','off') set(handles.ci4,'visible','on')
case 3 set(handles.cci1,'visible','on')
set(handles.selec,'visible','off') set(handles.cci2,'visible','on')
set(handles.ilaplace,'visible','off') set(handles.cci3,'visible','on')
set(handles.ecuaciones,'visible','off') set(handles.cci4,'visible','on')
set(handles.graficas,'visible','off') set(handles.a,'visible','off')
set(handles.laplace,'visible','off') set(handles.b,'visible','off')
set(handles.y3,'visible','off') set(handles.ab,'visible','off')
set(handles.y2,'visible','on') set(handles.res,'visible','on')
set(handles.y1,'visible','on') set(handles.resultado,'visible','on')
set(handles.y,'visible','on') set(handles.boton1,'visible','on')
set(handles.x,'visible','on') set(handles.boton2,'visible','off')
set(handles.yiv,'visible','off') set(handles.boton3,'visible','off')
set(handles.yiii,'visible','off') set(handles.boton4,'visible','off')
set(handles.yii,'visible','on') end
set(handles.yi,'visible','on')
set(handles.y0,'visible','on') function ordened_CreateFcn(hObject, eventdata,
set(handles.uno,'visible','off') handles)
set(handles.dos,'visible','on') if ispc &&
set(handles.tres,'visible','on') isequal(get(hObject,'BackgroundColor'),
set(handles.cuatro,'visible','on') get(0,'defaultUicontrolBackgroundColor'))
set(handles.igual,'visible','on') set(hObject,'BackgroundColor','white');
set(handles.c,'visible','on') end
set(handles.ci,'visible','on')
set(handles.ci1,'visible','on')
set(handles.ci2,'visible','on')
set(handles.ci3,'visible','on') function cci1_Callback(hObject, eventdata,
set(handles.ci4,'visible','off') handles)
set(handles.cci1,'visible','on') function cci1_CreateFcn(hObject, eventdata,
set(handles.cci2,'visible','on') handles)
set(handles.cci3,'visible','on') if ispc &&
set(handles.cci4,'visible','off') isequal(get(hObject,'BackgroundColor'),
set(handles.a,'visible','off') get(0,'defaultUicontrolBackgroundColor'))
set(handles.b,'visible','off') set(hObject,'BackgroundColor','white');
set(handles.ab,'visible','on') end
set(handles.res,'visible','on')
set(handles.resultado,'visible','on')
set(handles.boton1,'visible','on')
function cci2_Callback(hObject, eventdata,
set(handles.boton2,'visible','off') handles)
set(handles.boton3,'visible','off') function cci2_CreateFcn(hObject, eventdata,
set(handles.boton4,'visible','off') handles)
case 4 if ispc &&
set(handles.selec,'visible','off') isequal(get(hObject,'BackgroundColor'),
set(handles.ilaplace,'visible','off') get(0,'defaultUicontrolBackgroundColor'))
set(handles.ecuaciones,'visible','off') set(hObject,'BackgroundColor','white');
set(handles.graficas,'visible','off') end
set(handles.laplace,'visible','off')
set(handles.y3,'visible','on')
set(handles.y2,'visible','on')
set(handles.y1,'visible','on')
12
set(handles.seno,'visible','off') if op==1
set(handles.cos,'visible','off') x=0:0.05:10;
set(handles.grafec,'visible','off') y=cos(x)
set(handles.int,'visible','off') plot(x,y); grid
set(handles.tan,'visible','off') end
set(handles.sec,'visible','off') % Hint: get(hObject,'Value') returns toggle
set(handles.atras,'visible','off') state of cos
set(handles.yigual,'visible','off')
set(handles.ordened,'string',' ')
set(handles.lapl,'string',' ') % --- Executes on button press in tan.
set(handles.y3,'string',' ') function tan_Callback(hObject, eventdata,
set(handles.y2,'string',' ') handles)
set(handles.y1,'string',' ') % hObject handle to tan (see GCBO)
set(handles.y,'string',' ') % eventdata reserved - to be defined in a
set(handles.x,'string',' ') future version of MATLAB
set(handles.cci1,'string',' ') % handles structure with handles and user
set(handles.cci2,'string',' ') data (see GUIDATA)
set(handles.cci3,'string',' ') set(handles.seno,'value',0)
set(handles.cci4,'string',' ') set(handles.cos,'value',0)
set(handles.resultado,'string',' ') set(handles.grafec,'value',0)
set(handles.yigual,'visible','off') set(handles.sec,'value',0)
set(handles.flap,'visible','off') op=get(handles.tan,'value');
set(handles.graficax,'visible','off') if op==1
set(handles.filap,'visible','off') x=0:0.2:10;
set(handles.borrar,'visible','off') y=tan(x)
set(handles.axes2,'visible','off') plot(x,y); grid
x=0 end
y=x % Hint: get(hObject,'Value') returns toggle
plot(x,y) state of tan
set(handles.plot,'visible','off')
% --- Executes on button press in salir.
function salir_Callback(hObject, eventdata, % --- Executes on button press in sec.
handles) function sec_Callback(hObject, eventdata,
% hObject handle to salir (see GCBO) handles)
% eventdata reserved - to be defined in a % hObject handle to sec (see GCBO)
future version of MATLAB % eventdata reserved - to be defined in a
% handles structure with handles and user future version of MATLAB
data (see GUIDATA) % handles structure with handles and user
close(deber) data (see GUIDATA)
set(handles.cos,'value',0)
set(handles.tan,'value',0)
% --- If Enable == 'on', executes on mouse set(handles.seno,'value',0)
press in 5 pixel border. set(handles.grafec,'value',0)
% --- Otherwise, executes on mouse press in 5 op=get(handles.sec,'value');
pixel border or over boton1. if op==1
function boton1_ButtonDownFcn(hObject, x=0:0.2:10;
eventdata, handles) y=sec(x);
function seno_Callback(hObject, eventdata, plot(x,y); grid
handles) end
set(handles.cos,'value',0) % Hint: get(hObject,'Value') returns toggle
set(handles.tan,'value',0) state of sec
set(handles.sec,'value',0)
set(handles.grafec,'value',0)
op=get(handles.seno,'value'); % --- Executes on button press in grafec.
if op==1 function grafec_Callback(hObject, eventdata,
x=0:0.05:10; handles)
y=sin(x) % hObject handle to grafec (see GCBO)
plot(x,y); grid % eventdata reserved - to be defined in a
end future version of MATLAB
% handles structure with handles and user
function cos_Callback(hObject, eventdata, data (see GUIDATA)
handles) set(handles.int,'visible','on')
set(handles.seno,'value',0) set(handles.boton4,'visible','on')
set(handles.tan,'value',0) set(handles.yigual,'visible','on')
set(handles.sec,'value',0) set(handles.borrar,'visible','on')
set(handles.grafec,'value',0) set(handles.cos,'value',0)
op=get(handles.cos,'value'); set(handles.tan,'value',0)
15
set(handles.seno,'value',0)
set(handles.sec,'value',0)
así que todavía la intención principal es descubrir la naturaleza efectivamente mediante componentes digitales como líneas de
de los instrumentos. retardo, unidades de acoplo y filtros.
Al contrario de la síntesis tradicional de muestras, se gobierna El excitador al ser no lineal es más dificil de modelar que el
un modelo físico por la interfaz entre el ejecutante y el resonador. Además existen diferentes tipos que implican
instrumento.Variables como la presión de aire y la diferentes conjuntos de ecuaciones, pero hay buenos modelos
embocadura para instrumentos de viento y la presión del arco para estos también. Para mantener una nota constante el
y posición del dedo para los de cuerdas fijan qué oscilaciones excitador tiene que proprocionar exactamente la misma
afectan al medio resonante, que como consecuencia emite energía que desaparece en el resonador; un cambio en la
ondas sonoras a su entorno. Con ello se ha perdido la energía proporcionada da un cambio correspondiente en la
generalidad de la síntesis muestreada y la posibilidad de influir potencia sonora. Cada resonador tiene límites superior e
la señal directamente, a cambio de un control del modelo más inferior que determinan qué suministro de energía resulta en
amigable al usuario, intuitivo y tradicional. un sonido conteniendo la frecuencia fundamental de la nota
deseada.
Los modelos físicos requieren menos capacidad de datos que
la síntesis muestreada si hay algoritmos efectivos, pero los Diferentes opciones para desarrollos posteriores
gastos elevados se encuentran al desarrollar estos algoritmos
que es necesario adaptar a medida para cada tipo de
instrumento que tiene distintos fenómenos acústicos. En principio esta línea de investigación no tenía un fin
comercial, sino que era un intento de entender la acústica de
los instrumentos acústicos. Hoy día los algoritmos resultantes
Así como la síntesis de muestras ha contribuído a clasificar los son tan efectivos, la capacidad de cálculo tan elevada y la
distintos instrumentos por su timbre, los modelos físicos han interfaz al ejercitante tan buena que también es un método de
contribuido a refinar la clasificación por sus cualidades físicas. producir instrumentos musicales comerciales. En esta tarea,
Los dos grupos principales son instrumentos de cuerdas e hay ángulos diferentes de acometer los problemas. En un
instrumentos de viento, ambos subdivididos en varios grupos. extremo está el físico que analiza los mecanismos de
generación, en el otro está el diseñador de instrumentos que
desea buenos resultados en la calidad del sonido.
Para modelar un instrumento se divide en dos partes
funcionales: el excitador y el resonador. El excitador se puede
simular como una señal entrada no lineal para el resonador, el Uno de los problemas básicos y hasta ahora no resueltos es el
cuál se puede modelar como una función transferencia lineal de los pequeños márgenes, que son tan importantes. Un
que produce la señal salida audible. Los dos se unen con cambio minúsculo de p.ej. la presión de arco o la embocadura
realimentación. produce cambios bastante audibles, y aún es un misterio qué
separa un violín bueno y uno excelente. Hay que bajar a un
nivel muy detallado que en cualquier otro contexto
La teoría más aplicada para el resonador de modelos físicos es electroacústico se podría pasar por alto, lo cual es un gran
la denominada ³teoría de guía de ondas². Se basa en la desafío para el futuro.
solución analítica de la ecuación de la propagación de ondas
en el material. La ecuación es adecuada para cualquier guía de
ondas unidimensional, tanto cuerdas como tubos huecos: Lo más importante será siempre centrarse en los aspectos
musicales aunque las matemáticas sean bastante interesantes
de por sí.
Ky² = Eÿ
¿Por qué?
Para cuerdas:
K = tensión de la cuerda
La ventaja de la acústica musical es la posibilidad de utilizar el
E = densidad de masa lineal excelente oído humano como mecanismo de control para las
y = desplazamiento de la cuerda teorías deducidas, que también son aplicables para objetivos
ÿ = aceleración de la cuerda no musicales. Por eso los modelos físicos pueden utilizar la
realidad como su hipótesis verificativa.
y² = curvatura de la cuerda
-Funciones gamma, beta y elípticas. -Suma, resta, multiplicación, división y potencias de matrices.
-Transformación de sistemas de coordenadas. -Matrix traspuesta.
-Matriz identidad y otras matrices elementales. -Operadores lógicos AND, OR, NOT y XOR.
-Matrices de Hilbert, Toeplitz, Vandermonde, Hadamard, etc.
-Partes reales, imaginarias y complejas conjugadas. Utilidades
-Funciones trigonométricas y de potencias.
-Gestión y mantenimiento de errores.
Algebra lineal numérica -Conversión de tipos de datos Fortran.
-Funciones de fecha y hora.
-Valores propios y descomposición de matrices. -Clasificación de matrices.
-Funciones generales de evaluación de matrices. -Conversión de números a cadenas y viceversa.
-Determinantes, normas, rangos, etc.
-Matrices inversas y factorización de matrices. VI. Conclusiones
-Matriz exponencial, logarítmica y raíces cuadradas.
En conclusión, vemos que Matlab nos sirve de mucho:
Polinomios e interpolación
-El cual contiene diferentes comandos con los cuales podemos
-Interpolación 1-D y 2-D. realizar diferentes funciones. Sabiendo utilizar los comandos
adecuados, pudimos aprender a modelar de una manera
-Construcción polinomial. práctica y clara la función de transferencia de cualquier
-Interpolación por splines cúbicos. sistema.
-Diferenciación de polinomios.
-Evaluación de polinomios. -De aprendieron algunas herramientas en Matlab para
-Multiplicación y división de polinomios. utilizarlas en los intervalos de la gráfica.
-Residuos de polinomios y residuos. -Se aprendió en esta práctica a graficar tres funciones en una
sola gráfica, con sus intervalos, puntos de la función.
procesos que requieren que se resuelvan a papel y lápiz, pero En la actualidad estudia en la Universidad de las Fuerzas
con solo entender lo que se necesita realizar, podemos lograr Armadas Espe-Latacunga, en Segundo Semestre de la carrera
estos cálculos utilizando de manera esencial la ' de ingeniería en Electrónica y Automatización.
herramienta Matlab.
Luis Quishpe nació en Quito-
VII. Bibliografías Ecuador, 22 de noviembre de
1998.
1. https://www.academia.edu/16487217/Introduccion_y
_conclusion_de_matlab Estudio en la primaria en la
2. https://la.mathworks.com/campaigns/products/trials.h escuela Unidad Educativa Pedro
tml?s_eid=ppc_51960033056&q=matlab&gclid=Cjw Luis Calero ubicada en San Isidro
KCAiA0O7fBRASEiwAYI9QAisWkWgXQaYrq_A del Inca ciudad de Quito–
SSsKvQrAwBODK6E1nCliorGhWpea3AHPRmAtip Ecuador en el año 2008, en el
RoCLVIQAvD_BwE secundario estudio en la Unidad
3. https://www.mathworks.com/products/matlab.html Educativa Pedro Luis Calero (solo
4. https://la.mathworks.com/ 8vo de Básica) ubicado en San
5. https://warwick.ac.uk/services/its/servicessupport/sof Isidro del Inca ciudad de Quito– Ecuador en el año 2009 y en
tware/list/matlab/ el Instituto Tecnológico Superior Central Técnico ubicado en
6. http://webs.ucm.es/centros/cont/descargas/documento los Sauces ciudad de Quito-Ecuador en el año 2016.
11541.pdf En la actualidad estudia en la Universidad de las Fuerzas
7. http://personales.upv.es/jbenitez/data/matlab.pdf Armadas Espe-Latacunga, en Segundo Semestre de la carrera
8. https://sergioyansen.wordpress.com/tag/ecuaciones- de ingeniería en Electrónica y Automatización.
diferenciales-reducibles-a-variables-separables/
9. https://es.slideshare.net/LGEBRALINEALECUACI
ON/ecuaciones-diferenciales-de-variables-separables-
y-ecuaciones-diferenciales-reducibles-a-variables-
separables
10. https://matematicasies.com/Ecuaciones-
Diferenciales-Reducibles-a-Variables