SlideShare una empresa de Scribd logo
https://www.youtube.com/watch?v=v3dsPEcicGc&list=PLF-
qcfymUY4WFWXEatxhuUJWQoHdHxUj_&index=2
Ver video 2/51
Ventanas en Matlab
Cambiar la posición de las ventanas manualmente o con el menú Select Layout
• Declaración de
variables
• Con el “;” ya no
aparece el
resultado
• En Workspace
están las
variables
creadas.
• Doble click a la
variable en
Workspace y
aparecerán
celdas para
modificar valor
y dimensión de
la variable.
• Con click derecho en las columnas del workspace podemos mostrar lo sgte
• Con Set path establecemos el camino de búsqueda de un programa en Matlab.
• Matlab busca en este orden, de arriba hacia abajo.
• Ejm, si creo dos funciones que se llaman igual, si lo encuentra en la primer carpeta de arriba, entonces utiliza esa función
Ver video 3/51
• Con las flechas del teclado (arriab y abajo) se
puede regresar a los comando antes
realizados.
En Layout podemos ver el Command History
Command
History.
Separa por
fechas los
comandos
Comandos
• clc: limpia command window, pero las
variables siguen existiendo.
• clear: borra las variables creadas
• En el menú “New” tenemos:
• Creación de un script
Codigo de script
Guardar script
• Si se presiona Run, aparecerá este mensaje, quiere decir que este
script no está en la carpeta current folder actualmente
• Después de presionar Change folder, el código se ejecuta, en este caso simple, solo se crean
variables.
• Current folder se cambió a la carpeta donde se encuentra el Script.
• Tener en cuenta que al colocar “;” no se muestra en el Command Windows” ( en este caso solo se
muestran las variables “a” y “b”)
• Depurar código, uso de brekpoint. Click al número de la izquierda y aparece un
punto rojo, cuando se presiona Run el código solo se ejecuta hasta antes de esa
línea de código
• Después de presionar Run, aparece
“Step”, que es para que se ejecuten
línea por línea, de esta manera
podemos ir viendo donde está el
error en el código
Ver video 4/51
Consideraciones para los nombres y variables en Matlab:
1. Todos lo nombres deben empezar por una letra.
2. Los nombres pueden tener cualquier longitud, pero en Matlab7
sólo se usan los primeros 63 caracteres.
3. Los únicos caracteres permisibles son letras, números y el guion
bajo.
4. Los nombres son sensibles a mayúsculas y minúsculas. La variable x
es diferente de la variable X.
5. Existen palabras reservadas en Matlab que no pueden usarse como
variables (Usar iskeyword para conocerlas).
6. Matlab le permite reasignar
nombres de función internos
como nombres de variable.
Aquí he reasignado o cambiado la
función seno de Matlab por una variable
que es igual a 16, entonces la función
seno ya no funcionará.
Para que vuelva a funcionar como seno,
se borra la variable con: clear sin
Ver video 5/51
• Formas de abrir Simulink:
1. Home>Simulink
2. Escribir en Command Windows: Simulink
Librerías a usar
Ver video 5/51
• Vector fila: se separan por espacios o también se pueden colocar comas en lugar de espacios
• Vector columna: se deben separar por punto y coma
• Vectores con intervalos regulares se pueden ingresar mucho más rápido
fácilmente, ejm: x1= [1 2 3 4 5 6]
• Primera forma con corchetes
• Segunda forma, sin corchetes
• ejm: x2= [6 5 4 3 2 1]
• ejm: x3= [0 2 4 6 8 10]
• ejm: x4= [10 9.5 9 8.5 8 7.5]
• Usando linspace: espaciamiento entre elementos lineal automático
• Usando logspace:
espaciamiento entre elementos
logarítmico automático:
Logspace(10 elevado al primer
valor(limite inferior o primer
valor), 10 elevado al segundo
valor(limite superior o ultimo
valor), número de elementos del
vector)
Este valor se ha
factorizado
Ver video 6/51
Extraer valor de un vector (en este caso vector fila).
La posición del vector empieza desde la posición 1.
Se muestra un ejemplo para extraer solo un valor
Podemos extraer un conjunto de valores de un vector fila
Para extraer los valores del vector fila que están en color azul, se utiliza: nombre_vector(primera
posición:saltos(de 2 en 2, de 3 en 3, etc):ultima posición)
Para extraer los valores del vector fila que están en color azul (en este caso no es con saltos de 1, si
no que no tiene un patrón establecido). En este caso se utilizan corchetes indicando las posiciones
del vector que quieres mostrar.
Ver video
7/51
Representar la siguiente matriz en matlab
Primer método Segundo método
Matriz de zeros de cualquier orden
Primer método Segundo método
Matriz de unos de cualquier orden
Primer método Segundo método
Matriz identidad de cualquier orden
Matriz Aleatoria: rand(n)
VER VIDEO 8/51
Extraer un dato de una
matriz
Creamos la matriz
Seleccionamos fila
y columna que
queremos extraer
Extraer toda una fila de una matriz
Respuesta
Extraer toda una columna de una
matriz
Respuesta
Extraer el siguiente dato de la matriz
Segundo método
Primer método Tercer método
Extraer los siguientes datos de la matriz
Primer método Segundo método
Extraer los siguientes datos de la matriz
Primer método Segundo método
Extraer los siguientes datos de la matriz
Respuesta
VER VIDEO 9/51
Función help de Matlab
Ver video 10/51
FORMATOS DE SALIDA
Ver video 11/51
Primer método Segundo método
Ver video 12
Ver video 13
Tener en cuenta que por defecto el ángulo
en Matlab esta en radianes
Grados Sexagesimales
Radianes
Para funciones hiperbólicas, Matlab
solo te permite en radianes
Ver video 14
En este caso como
“y” es una matriz,
nos da el máximo
por cada columna
Si queremos el máximo y en que posición se encuentra, utilizamos:
a=el máximo valor; b=la posición del valor máximo
Producto
Ver video 15
La “i” y la “j” en Matlab
está destinados para
números complejos(no
usarlos como otras
variables)
Este vector seria
el tiempo
Método 1 para graficas múltiples Método 2 para graficas múltiples
Método 1 para graficas múltiples
Método 2 para graficas múltiples
Graficar en varias ventanas
Si solo se escribe “figure”, de manera correlativa empiezan a enumerarse las figuras
>>x=0:0.1:10;
>> y=2*sin(x);
>> plot(x,y)
>> axis([3 7 -1 1])
>> text(4,0.4,'Funciones en Frecuencia')
>> title('Función seno x=sen(alpha)','Fontsize',15)
Ver video después del 16: Introducción a
Simulink
Para abrir simulink, se realizar mediante los siguientes método
Tipos de
visualización de
data
Tipos de
perturbación
de data
Funciones
definidas por el
usuario, con lo
cual se puede
unir Matlab con
simulink
Ver video:
https://www.youtube.com/watch?v=kKImf-
wnQiA&list=PLF-
qcfymUY4WFWXEatxhuUJWQoHdHxUj_&index=2
1
Creamos un modelo en blanco y seleccionamos los siguientes componentes
A ese mismo modelo en blanco añadimos Display
Al simular (Run), aparecerá el resultado en el display
Combinar variables de Matlab con Simulink
Creamos una variable “k” con valor 10
A la ganancia le
colocamos “k”, ya que
así se declaró en
Matlab
Obtenemos el resultado de acuerdo a la ganancia de 10, ya que ese es el valor de k
Con doble click en un espacio en blanco podemos buscar un
componente o hacer alguna anotación
Consideraciones en Model Settings
Tiempo de simulación
Tiempo de muestreo fijo para ecuaciones diferenciales o
variable para procesos computacionales
Ver video 17
RGB: 0,9; 0,6 y 0,3
RGB: Red, green, blue
Tener en cuenta en esta línea de código:
Con esta línea de código se crea la ventana, pero no se observa el titulo de la ventana y los controles (minimizar,
maximizar y cerrar); para poder observar estas dos características se debe expandir la ventana O usar otra línea
de código para que el gráfico salga en medio( es decir titulo de ventana y controles visibles por defecto):
movegui(fig(1),’center’)
Primer parámetro:
Obtenemos la etiqueta
del eje “y”, como en la
línea anterior no le
colocamos nada,
obtendremos un valor
nulo
Con la función “set”: set (parámetro a modificar, tipo de variable, nombre de variable).
Ejemplo: Set ( a, ‘String’, ’Tiempo(s)’) -> Aquí estamos seteando un string con nombre Tiempo(s) al parámetro “a”)
Seteamos un string con
nombre Función al
primero parámetro
La funciona Line de Matlab
plotea una línea en el eje con la
data de los vectores x e y
Ejemplo de uso de “uicontrol”
Se usa para llamar a una función,
en este caso la función “texto”
Con Style se pueden colocar textos, botones, popups, etc -> investigar mas
Con esto se mostraría el
valor del coseno de manera
dinámica
%Crea botones y cuadros de texto dentro de
la figura.
bot(1)=uicontrol('parent',fig(1),'style','p
ushbutton','string','Detener','position',[6
80 50 100
50],'callback',@stop,'fontsize',11)
bot(2)=uicontrol('parent',fig(1),'style','p
ushbutton','string','Coseno','position',[68
0 250 100
50],'callback',@coseno,'fontsize',11)
%% Funcion PARAR
function
varargout=stop(hObject,evendata) %hObject y
evendata investigar mas
parar=true;
end
%% Funcion Graficar Coseno
function
varargout=coseno(hObject,evendata)
%hObject y evendata investigar mas
FCos=true;
%% funcion Graficar
tiempo=[0];
salida=[0]; %para valores de la funcion seno
salida2=[0]; %para valores de la funcion coseno
%Cada cuanto se va graficando en el axe
dt=0.1;
%Limites iniciales en el AXE
limx=[0 40];
set(axe(1),'xlim',limx);
%% Grafico
k=1;nit = 800; %nit = numero de interacciones
Y=2*cos(tiempo(k));
Z=cos(4*tiempo(k)); %Crea funcion coseno y lo guarda en Z
if FCos == true
set(bot(2),'string',Z);
end
set(txbx(2),'string',Y);
%Actualiza las variables del grafico
tiempo=[tiempo tiempo(end)+dt];
salida=[salida Y];
salida2=[salida2 Z];
NOTa: 0,8*800=80: Como el total de interacciones será 800, y el salto será de 0,1, tendremos un
tiempo de 0 a 80.
%Actualiza las variables del grafico
tiempo=[tiempo tiempo(end)+dt];
salida=[salida Y];
salida2=[salida2 Z];
Con esta línea de código estamos haciendo los vectores dinámicos, su tamaño va creciendo
Vector tiempo dinámico
Interacción 1: Para k=1, tiempo=[0], tiempo(0)=0 y tiempo(end)=0
Tiempo = [0 0+0,1] = [0 0,1]
Interacción 2: Para k=2, tiempo(0)=0 y tiempo(end)=0,1
Tiempo = [0 0,1 tiempo(end)+0,1] = [0 0,1 0,1+0,1] = [0 0,1 0,2]
Vector salida dinámico:
Interacción 1: Para k=1, salida = [0]
Salida = [ 0 Y1]
Y1 = 2*cos(tiempo(1))
Interacción 2: Para k=2, salida = [0 Y1]
Salida = [ 0 Y1 Y2 ]
Y1 = 2*cos(tiempo(1))
Y2= 2*cos(tiempo(2))
if tiempo(end)>=limx % actualizo grafica cuando llega a su limite en tiempo real
limx=[0 limx(2)+40]
set(axe(1),'xlim',limx)
end
Ver video 18
%Función Seno
figure
x=0:pi/100:pi;
y=sin(x);
polar(x,y)
%Función Flor, apariencia de una flor
figure
theta=0:0.01*pi:2*pi;
r=5*cos(4*theta);
polar(theta,r)
%Función Estrella, apariencia de una
estrella
figure
theta=pi/2:4/5*pi:4.8*pi;
r=ones(1,6);
polar(theta,r)
Ver video 19
x=0:0.5:50; %Vector x
y= 5*x.^2; %Función y, Cada elemento de x
se eleva al cuadrado
subplot(2,2,1)
plot(x,y)
title('Polinomial - Lineal/Lineal')
ylabel('y'), grid
subplot(2,2,2)
semilogx(x,y)%Grafica Logaritmica en x
title('Polinomial - Log/Lineal')
ylabel('y'), grid
subplot(2,2,3)
semilogy(x,y)%Grafica Logaritmica en y
title('Polinomial - Lineal/Log')
xlabel('x'),ylabel('y'), grid
subplot(2,2,4)
loglog(x,y) %Grafica Logaritmica en x/y
title('Polinomial - Log/Log')
xlabel('x'),ylabel('y'), grid
Ver video 20
title('Grafica de Barras tridimensional de
vec x')
subplot(2,2,4)
bar3h(y)
title('Grafica de Barras tridimensional de
matriz y horizontal')
%% Grafica con Números y Caracteres
%Graficar los consumos de energia electrica
consumidos cada mes
Consumos=[128,142,135,123,178,192,145,156,1
67,124,174,189];
%Los meses los guardamos en ESTRUCTURAS
meses={'Enero','Febrero','Marzo','Abril','M
ayo','Junio','Julio','Agosto',...
'Septiembre','Octubre','Noviembre','Diciemb
re'};
figure
bar(Consumos);
%Cambiamos el eje X por los nombres de los
meses
set(gca,'XTickLabel',meses);
title('Consumo de Energía Eléctrica')
Ver video 21
>> x=[100 95 74 87 22 78 34 35 93 88 86 42 55 48]
x =
100 95 74 87 22 78 34 35 93 88 86 42 55 48
>> hist(x)
Las versiones nuevas
de Matlab
recomiendan usar
“histogram” en lugar
de “hist”
>> x=[100 95 74 87 22 78 34 35 93 88 86 42 55 48]
x =
100 95 74 87 22 78 34 35 93 88 86 42 55 48
>> histogram(x)
>> x=[100 95 74 87 22 78 34 35 93 88 86 42 55 48]
x =
100 95 74 87 22 78 34 35 93 88 86 42 55 48
>> histogram(x,10)
Ver video 22
%Graficas Tridimensionales
clear, clc
x=linspace(0,10*pi,1000);
y=cos(x);
z=sin(x);
figure
plot3(x,y,z)
grid
xlabel('ángulo')
ylabel('cos(x)')
zlabel('sen(x)')
title('Resorte')
pause
figure
comet3(x,y,z),grid
Con esta línea de código veremos la gráfica animada
comet3(x,y,z),grid
Ver video 23
%% Graficas de Superficie
%Crea la matriz
clc
clear all
close all
%% Función mesh
%Caso 1
z=[1:10;
2:2:20;
3:12]
mesh(z);
xlabel('eje x')
ylabel('eje y')
zlabel('eje z')
pause
%Caso 2
x=linspace(1,50,10);
y=linspace(500,1000,3);
z=[1:10;
2:2:20;
3:12]
figure
mesh(x,y,z);
pause
%% Función surf
figure
surf(x,y,z);
pause
%esquema sombreado
shading interp
% shading flat
% shading faceted
Al correr este código, como tiene pausas, en
Matlab indicará de esta manera, para que continue
graficando se presiona cualquier tecla o
simplemente enter.
Ver video 24
Tener en cuenta que Matlab diferencia entre
mayúsculas y minúsculas, es decir “X” no es
igual a “x”
clc
clear all
close all
x=[-2:0.2:2];
y=[-2:0.2:2];
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
subplot(2,2,1)
mesh(X,Y,Z)
title('Grafica Mesh'), xlabel('eje x'), ylabel('eje y')
zlabel('eje z');
subplot(2,2,2)
surf(X,Y,Z)
title('Grafica Superficie'), xlabel('eje x'), ylabel('eje y')
zlabel('eje z');
subplot(2,2,3)
contour(X,Y,Z)
title('Grafica de Contorno'), xlabel('eje x'), ylabel('eje y')
zlabel('eje z');
subplot(2,2,4)
surfc(X,Y,Z)
title('Combinación grafica de superficie y contorno'), xlabel('eje x'), ylabel('eje y')
zlabel('eje z');
%% Pseudocolor
figure
subplot(1,2,1)
pcolor(X,Y,Z)
title('Pseudo Color con Reticula')
%Sin reticula
subplot(1,2,2)
pcolor(X,Y,Z)
title('Pseudo Color sin Reticula')
shading interp
Ver video 25
Ver video 26
En este código lo que esta dentro del If no
se ejecuta ya que la condición no se
cumple, es decir b no es diferente, b es
cero.
edad=input('Digite la edad de la persona: ');
%condicion elseif
if (edad<16)
disp('Todavia no puede conducir')
elseif (edad<18)
disp('Puede obtener un permiso de conducir')
elseif(edad<70)
disp('Puede obtener la licencia estandar')
else
disp('Requiere de una licencia especial')
end
Ejecutar varias veces el
código para comprobar el
script
n=input('Digite un número: ');
switch n
case -1
disp('UNO Negativo')
case 0
disp('Cero')
case 1
disp('UNO Positivo')
otherwise
disp('Otro Valor')
end
Ejecutar varias veces para
comprobar el script
Ver video 26
Mientras el criterio sea verdadero se ejecutará lo que está dentro de
ese While
k=0;
while k<3
k=k+1;
a(k)=k^2
end
k=0;
while k<3
k=k+1;
a(k)=k^2
if k==2
break
end
end
k=0;
while k<3
k=k+1;
a(k)=k^2
if k==2
break
end
end
Modificación al
código
k=0;
while k<3
k=k+1;
if k==2
break
end
a(k)=k^2
end
k=0;
while k<3
k=k+1;
if k==2
continue
end
a(k)=k^2
end
Código con continue
Sale el cero ya que con
“continue” se vuelve a repetir
el código y no tomó ese valor,
Matlab lo rellena con cero
Con: length(A) te da el tamaño del vector A
Pero si se usa así: length(A(:)) te da el tamaño
de la matriz pero ampliada, es decir si la matriz
de es de 200x200, el resultado de length(A(:))
seria 40000
A = ones(200);
tic
for i=1:length(A(:))
B(i)=pi*A(i);
end
toc
Matlab calcula el tiempo en que se
demora en realizar el código dentro de
tic toc
A = ones(200);
tic
B=pi*A;
toc
Ver video 28
Creamos la función function [y,vt,M,r] = fcuadratica(a,b,c)
Parámetros de salida: y,vt,M,r -> y: función cuadrática, vt: vértice, M: máximo o mínimo, r:raices
Parámetros de entrada: a,b,c -> coeficientes de la función.
Para colocarle la ayuda a la función, es decir cuando se busque con “help” aparezca la ayuda, se tiene que escribir
como comentario inmediatamente después de haber creado la función
function [y,vt,M,r] = fcuadratica(a,b,c)
% Esta función calcula y grafica los puntos de una función cuadratica
% expresada de la forma y= ax^2 + bx + c, la sintaxis es:
%
% [y] = fcuadratica(a,b,c)
%
% Donde:
% y = Puntos de la función Cuadratica
% a = Coeficiente que acompaña a x^2
% b = Coeficiente que acompaña a x
% c = Coeficiente independiente
function [y] = fcuadratica(a,b,c)
% Esta función calcula y grafica los puntos
de una función cuadratica
% expresada de la forma y= ax^2 + bx + c,
la sintaxis es:
%
% [y] = fcuadratica(a,b,c)
%
% Donde:
% y = Puntos de la función Cuadratica
% a = Coeficiente que acompaña a x^2
% b = Coeficiente que acompaña a x
% c = Coeficiente independiente
%Calcular Vertice
vt=-b/(2*a);
%Creo los puntos
x=vt-5:0.5:vt+5;
%Ecuación Cuadrática
y=a*x.^2+b*x+c;
%Graficar
plot(x,y),grid
[y] = fcuadratica(2,2,-12)
Probando el código, colocar en commmand
Windows lo sgtet:
Con esta línea de código graficamos solo un punto y le colocamos un tamaño de 25
plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25)
Grafica solo un punto
function [y] = fcuadratica(a,b,c)
% Esta función calcula y grafica los puntos de una función
cuadratica
% expresada de la forma y= ax^2 + bx + c, la sintaxis es:
%
% [y] = fcuadratica(a,b,c)
%
% Donde:
% y = Puntos de la función Cuadratica
% a = Coeficiente que acompaña a x^2
% b = Coeficiente que acompaña a x
% c = Coeficiente independiente
%Calcular Vertice
vt=-b/(2*a);
%Creo los puntos
x=vt-5:0.5:vt+5;
%Ecuación Cuadrática
y=a*x.^2+b*x+c;
%Graficar
plot(x,y),grid
hold on
plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25)
Agregando como salida al vertice de simetria
function [y,vt] = fcuadratica(a,b,c)
% Esta función calcula y grafica los puntos de
una función cuadratica
% expresada de la forma y= ax^2 + bx + c, la
sintaxis es:
%
% [y] = fcuadratica(a,b,c)
%
% Donde:
% y = Puntos de la función Cuadratica
% a = Coeficiente que acompaña a x^2
% b = Coeficiente que acompaña a x
% c = Coeficiente independiente
%Calcular Vertice
vt=-b/(2*a);
%Creo los puntos
x=vt-5:0.5:vt+5;
%Ecuación Cuadrática
y=a*x.^2+b*x+c;
%Graficar
plot(x,y),grid
hold on
plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25)
Si solo quiero saber el vértice de simetría, se coloca
un “~”, a las variables que no se desean
Ya no se crea el “y”, si no solamente vt
function [y,vt,M] = fcuadratica(a,b,c)
% Esta función calcula y grafica los puntos de una función cuadratica
% expresada de la forma y= ax^2 + bx + c, la sintaxis es:
%
% [y] = fcuadratica(a,b,c)
%
% Donde:
% y = Puntos de la función Cuadratica
% a = Coeficiente que acompaña a x^2
% b = Coeficiente que acompaña a x
% c = Coeficiente independiente
%Calcular Vertice
vt=-b/(2*a);
%Creo los puntos
x=vt-5:0.5:vt+5;
%Ecuación Cuadrática
y=a*x.^2+b*x+c;
%Graficar
plot(x,y),grid
hold on
plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25)
%Maximo o minimo
if a<0
disp('Máximo')
M=max(y);
elseif a>0
disp('Mínimo')
M=min(y);
else
disp('Linea Recta')
M=0;
end
Para probar el código, ingresamos dos funciones cuadráticas una con mínimo(apertura de parábola hacia arriba) y otra con
máximo(apertura de parábola hacia abajo)
>> [~,~,M] = fcuadratica(2,2,-12)
Mínimo
M =
-12.5000
>> [~,~,M] = fcuadratica(-2,2,-12)
Máximo
M =
-11.5000
r(1)=(-b+sqrt(b^2-4*a*c))/(2*a);
r(2)=(-b-sqrt(b^2-4*a*c))/(2*a);
r=roots([a b c]);
Podemos calcular las raices mediante los siguientes métodos
function [y,vt,M,r] = fcuadratica(a,b,c)
% Esta función calcula y grafica los puntos de una función cuadratica
% expresada de la forma y= ax^2 + bx + c, la sintaxis es:
%
% [y] = fcuadratica(a,b,c)
%
% Donde:
% y = Puntos de la función Cuadratica
% a = Coeficiente que acompaña a x^2
% b = Coeficiente que acompaña a x
% c = Coeficiente independiente
%Calcular Vertice
vt=-b/(2*a);
%Creo los puntos
x=vt-5:0.5:vt+5;
%Ecuación Cuadrática
y=a*x.^2+b*x+c;
%Graficar
plot(x,y),grid
hold on
plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25)
%Maximo o minimo
if a<0
disp('Máximo')
M=max(y);
elseif a>0
disp('Mínimo')
M=min(y);
else
disp('Linea Recta')
M=0;
end
%Raízes
r(1)=(-b+sqrt(b^2-4*a*c))/(2*a);
r(2)=(-b-sqrt(b^2-4*a*c))/(2*a);
function [y,vt,M,r] = fcuadratica(a,b,c)
% Esta función calcula y grafica los puntos de una función cuadratica
% expresada de la forma y= ax^2 + bx + c, la sintaxis es:
%
% [y] = fcuadratica(a,b,c)
%
% Donde:
% y = Puntos de la función Cuadratica
% a = Coeficiente que acompaña a x^2
% b = Coeficiente que acompaña a x
% c = Coeficiente independiente
%Calcular Vertice
vt=-b/(2*a);
%Creo los puntos
x=vt-5:0.5:vt+5;
%Ecuación Cuadrática
y=a*x.^2+b*x+c;
%Graficar
plot(x,y),grid
hold on
plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25)
%Maximo o minimo
if a<0
disp('Máximo')
M=max(y);
elseif a>0
disp('Mínimo')
M=min(y);
else
disp('Linea Recta')
M=0;
end
%Raízes
r=roots([a b c]);
r =
0.5000 - 2.3979i 0.5000 + 2.3979i
r =
0.5000 + 2.3979i
0.5000 - 2.3979i
Tener en cuenta que: La función creadas funcionan correctamente si está dentro de la carpeta que estas trabajando
(Current Folder), o si se encuentra dentro del search path de Matlab.
Se podría
crear una
carpeta donde
estén todas las
funciones que
voy creando y
agregarla al
SetPath para
que Matlab las
busque ahi
Ver video 29
>> ln(10)
Unrecognized function or variable 'ln'.
>> ln=@(x)log(x)
ln =
function_handle with value:
@(x)log(x)
>> ln(10)
ans =
2.3026
Inicialmente la función “ln” no existia
Creamos la función anónima “ln”
Ahora ya podemos usar la función anónima “ln”
>> save('ln.mat','ln')
>> clear all
>> ln(10)
Unrecognized function or variable 'ln'.
>> load('ln.mat’)
>> ln(10)
ans =
2.3026
Guardamos la función, en este caso le puse
“ln”, pero puede ser cualquier nombre
Limpiamos todas
las variables
Ahora la función “ln” ya no funciona
Cargamos la función “ln”
>> ln=@(x)log(x)
ln =
function_handle with value:
@(x)log(x)
>> save('mifuncion.mat','ln')
>> clear all
>> load('mifuncion.mat')
>> ln(10)
ans =
2.3026
Si buscamos “integral” con el help de Matlab
>> clear all
>> g=@(c)(integral(@(x)x.^2+c*x+1,0,1))
g =
function_handle with value:
@(c)(integral(@(x)x.^2+c*x+1,0,1))
>> g(1)
ans =
1.8333
Recordar que la función “integral de Matlab te pide una
función anónima o handle function.
Ejemplo: integral(FUN, x,y), donde FUN es una function
handle o función anónima, x e y son los limites mínimo y
máximo respectivamente.
>> Fxy=@(x,y)(x.^2+y.^2+x.*y)
Fxy =
function_handle with value:
@(x,y)(x.^2+y.^2+x.*y)
>> h=Fxy(2,1)
h =
7
Cuando x e y son escalares Cuando x e y son vectores
>> Fxy=@(x,y)(x.^2+y.^2+x.*y)
Fxy =
function_handle with value:
@(x,y)(x.^2+y.^2+x.*y)
>> x=[1 2 3];
>> y=[10 15 20];
>> h=Fxy(x,y)
h =
111 259 469
Ver video 30
NOTA: Esta es un forma poco usada,
si A esta a la derecha se usa “/”
Se usa “A” para
indicar la
inversa de AA
>> A=[6 -3 7;4 0 9;-2 1 0];
>> b=[-8;0;2];
>> det(A)
ans =
28.0000
>> x1=inv(A)*b
x1 =
0.6429
3.2857
-0.2857
>> x2=Ab
x2 =
0.6429
3.2857
-0.2857
>> x3=A^(-1)*b
x3 =
0.6429
3.2857
-0.2857
>> A=[1 3 7;-1 4 4;1 10 18]
A =
1 3 7
-1 4 4
1 10 18
>> rank(A)
ans =
2
>> det(A)
ans =
0
El resultado del
producto debe
dar la matriz b
>> A=[1 3 7;-1 4 4;1 10 18]
A =
1 3 7
-1 4 4
1 10 18
>> rank(A)
ans =
2
>> det(A)
ans =
0
>> b=[5;2;12];
>> P=pinv(A)*b
P =
0.3850
-0.1103
0.7066
>> A=[1 3 7;-1 4 4;1 10 18]
A =
1 3 7
-1 4 4
1 10 18
>> b1=[3;6;0];
>> A*pinv(A)*b1
ans =
-1.0000
4.0000
2.0000
Aquí se debería tener el vector b1 = [3;6;0], este resultado es
una aproximación por mínimos cuadrados
Ver video 31
Creamos un script teniendo las siguientes consideraciones:
- En este caso le puse el nombre de VanDerPol, pero puede ser cualquier nombre.
- “u” no se usa, ya que no hay perturbaciones, pero se ha dejado en la función.
function dx = VanDerPol(t,x,u,mu)
%Estados
x1=x(1);
x2=x(2);
%Entradas o perturbaciones
%En este caso no hay
%Ecuaciones diferenciales
dx1=x2;
dx2=mu*(1-x1^2)*x2-x1;
dx=[dx1,dx2];
Creamos un nuevo script
%VanDerPol
clc
%clear
close all
%Caso 1
x0=[2 0]; %condicion inicial
mu=1;
tspan=[0 30];
u=0;
%Solucion de la EDO
[ts,y] = ode23(@(t,x)VanDerPol(t,x,u,mu),tspan,x0);
figure
plot(ts,y(:,1))
ME APARECE ERROR!!!
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx
Matlab_basic.pptx

Más contenido relacionado

Similar a Matlab_basic.pptx

Tutorial funciones básicas Matlab
Tutorial funciones básicas MatlabTutorial funciones básicas Matlab
Tutorial funciones básicas Matlabkariitoorttega
 
Intro_Matlab_1.pdf
Intro_Matlab_1.pdfIntro_Matlab_1.pdf
Intro_Matlab_1.pdf
MiguelBriones24
 
MN01_-_Introduccion_Matlab.pdf
MN01_-_Introduccion_Matlab.pdfMN01_-_Introduccion_Matlab.pdf
MN01_-_Introduccion_Matlab.pdf
JasonMoraMorales
 
Clase1. introducción a matlab
Clase1. introducción a matlabClase1. introducción a matlab
Clase1. introducción a matlab
Nerys Ramírez Mordán
 
Matlab
MatlabMatlab
Matlab
DRIKSH
 
Matlab
Matlab Matlab
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
angela80121
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
nomegustaestascosas
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
Jose Cordova
 
Practica1 Matlab Operadores Básicos
Practica1 Matlab Operadores BásicosPractica1 Matlab Operadores Básicos
Practica1 Matlab Operadores Básicos
Saul Olaf Loaiza Meléndez
 
Manual Matlab 2008
Manual Matlab 2008Manual Matlab 2008
Manual Matlab 2008
AxL Sanchez
 
15894 pr cctica-3-introducciun-al-matlab-simulink
15894 pr cctica-3-introducciun-al-matlab-simulink15894 pr cctica-3-introducciun-al-matlab-simulink
15894 pr cctica-3-introducciun-al-matlab-simulinkFrank Arias Beltran
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
SimonCaceres4
 

Similar a Matlab_basic.pptx (20)

Tutorial funciones básicas Matlab
Tutorial funciones básicas MatlabTutorial funciones básicas Matlab
Tutorial funciones básicas Matlab
 
Intro_Matlab_1.pdf
Intro_Matlab_1.pdfIntro_Matlab_1.pdf
Intro_Matlab_1.pdf
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
MN01_-_Introduccion_Matlab.pdf
MN01_-_Introduccion_Matlab.pdfMN01_-_Introduccion_Matlab.pdf
MN01_-_Introduccion_Matlab.pdf
 
Clase1. introducción a matlab
Clase1. introducción a matlabClase1. introducción a matlab
Clase1. introducción a matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
Matlab Matlab
Matlab
 
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
 
Practica1 Matlab Operadores Básicos
Practica1 Matlab Operadores BásicosPractica1 Matlab Operadores Básicos
Practica1 Matlab Operadores Básicos
 
Manual Matlab 2008
Manual Matlab 2008Manual Matlab 2008
Manual Matlab 2008
 
15894 pr cctica-3-introducciun-al-matlab-simulink
15894 pr cctica-3-introducciun-al-matlab-simulink15894 pr cctica-3-introducciun-al-matlab-simulink
15894 pr cctica-3-introducciun-al-matlab-simulink
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
 

Último

CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
edujunes132
 
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptxMedicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
gabrielperedasanchez
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
JuanAlbertoLugoMadri
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
mirellamilagrosvf
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
Daniel Jose Sierra Garcia
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
CarlosAroeira1
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
FacundoPortela1
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
JavierAlejosM
 
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).docEjercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
LuisEnriqueCarboneDe
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
SantosCatalinoOrozco
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
MiriamAquino27
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
GROVER MORENO
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
ssuserebb7f71
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
Victor Manuel Rivera Guevara
 

Último (20)

CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
 
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptxMedicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
 
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).docEjercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
 

Matlab_basic.pptx

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 12. Cambiar la posición de las ventanas manualmente o con el menú Select Layout
  • 13. • Declaración de variables • Con el “;” ya no aparece el resultado • En Workspace están las variables creadas. • Doble click a la variable en Workspace y aparecerán celdas para modificar valor y dimensión de la variable.
  • 14. • Con click derecho en las columnas del workspace podemos mostrar lo sgte
  • 15. • Con Set path establecemos el camino de búsqueda de un programa en Matlab. • Matlab busca en este orden, de arriba hacia abajo. • Ejm, si creo dos funciones que se llaman igual, si lo encuentra en la primer carpeta de arriba, entonces utiliza esa función
  • 17. • Con las flechas del teclado (arriab y abajo) se puede regresar a los comando antes realizados. En Layout podemos ver el Command History Command History. Separa por fechas los comandos
  • 18. Comandos • clc: limpia command window, pero las variables siguen existiendo. • clear: borra las variables creadas • En el menú “New” tenemos:
  • 19. • Creación de un script
  • 21. • Si se presiona Run, aparecerá este mensaje, quiere decir que este script no está en la carpeta current folder actualmente
  • 22. • Después de presionar Change folder, el código se ejecuta, en este caso simple, solo se crean variables. • Current folder se cambió a la carpeta donde se encuentra el Script. • Tener en cuenta que al colocar “;” no se muestra en el Command Windows” ( en este caso solo se muestran las variables “a” y “b”)
  • 23. • Depurar código, uso de brekpoint. Click al número de la izquierda y aparece un punto rojo, cuando se presiona Run el código solo se ejecuta hasta antes de esa línea de código
  • 24. • Después de presionar Run, aparece “Step”, que es para que se ejecuten línea por línea, de esta manera podemos ir viendo donde está el error en el código
  • 26. Consideraciones para los nombres y variables en Matlab: 1. Todos lo nombres deben empezar por una letra. 2. Los nombres pueden tener cualquier longitud, pero en Matlab7 sólo se usan los primeros 63 caracteres. 3. Los únicos caracteres permisibles son letras, números y el guion bajo. 4. Los nombres son sensibles a mayúsculas y minúsculas. La variable x es diferente de la variable X. 5. Existen palabras reservadas en Matlab que no pueden usarse como variables (Usar iskeyword para conocerlas).
  • 27. 6. Matlab le permite reasignar nombres de función internos como nombres de variable. Aquí he reasignado o cambiado la función seno de Matlab por una variable que es igual a 16, entonces la función seno ya no funcionará. Para que vuelva a funcionar como seno, se borra la variable con: clear sin
  • 29. • Formas de abrir Simulink: 1. Home>Simulink 2. Escribir en Command Windows: Simulink
  • 30.
  • 33.
  • 34. • Vector fila: se separan por espacios o también se pueden colocar comas en lugar de espacios • Vector columna: se deben separar por punto y coma
  • 35. • Vectores con intervalos regulares se pueden ingresar mucho más rápido fácilmente, ejm: x1= [1 2 3 4 5 6] • Primera forma con corchetes • Segunda forma, sin corchetes
  • 36. • ejm: x2= [6 5 4 3 2 1] • ejm: x3= [0 2 4 6 8 10]
  • 37. • ejm: x4= [10 9.5 9 8.5 8 7.5]
  • 38. • Usando linspace: espaciamiento entre elementos lineal automático
  • 39. • Usando logspace: espaciamiento entre elementos logarítmico automático: Logspace(10 elevado al primer valor(limite inferior o primer valor), 10 elevado al segundo valor(limite superior o ultimo valor), número de elementos del vector) Este valor se ha factorizado
  • 41. Extraer valor de un vector (en este caso vector fila). La posición del vector empieza desde la posición 1. Se muestra un ejemplo para extraer solo un valor
  • 42. Podemos extraer un conjunto de valores de un vector fila
  • 43. Para extraer los valores del vector fila que están en color azul, se utiliza: nombre_vector(primera posición:saltos(de 2 en 2, de 3 en 3, etc):ultima posición)
  • 44. Para extraer los valores del vector fila que están en color azul (en este caso no es con saltos de 1, si no que no tiene un patrón establecido). En este caso se utilizan corchetes indicando las posiciones del vector que quieres mostrar.
  • 46.
  • 47. Representar la siguiente matriz en matlab Primer método Segundo método Matriz de zeros de cualquier orden
  • 48. Primer método Segundo método Matriz de unos de cualquier orden
  • 49. Primer método Segundo método Matriz identidad de cualquier orden
  • 51.
  • 53. Extraer un dato de una matriz Creamos la matriz Seleccionamos fila y columna que queremos extraer
  • 54. Extraer toda una fila de una matriz Respuesta Extraer toda una columna de una matriz Respuesta
  • 55. Extraer el siguiente dato de la matriz Segundo método Primer método Tercer método Extraer los siguientes datos de la matriz Primer método Segundo método
  • 56. Extraer los siguientes datos de la matriz Primer método Segundo método Extraer los siguientes datos de la matriz Respuesta
  • 61.
  • 62.
  • 63.
  • 65.
  • 67.
  • 69.
  • 70.
  • 71.
  • 73. Tener en cuenta que por defecto el ángulo en Matlab esta en radianes
  • 75. Para funciones hiperbólicas, Matlab solo te permite en radianes
  • 77. En este caso como “y” es una matriz, nos da el máximo por cada columna
  • 78. Si queremos el máximo y en que posición se encuentra, utilizamos: a=el máximo valor; b=la posición del valor máximo
  • 79.
  • 80.
  • 82.
  • 83.
  • 85. La “i” y la “j” en Matlab está destinados para números complejos(no usarlos como otras variables)
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 92. Método 1 para graficas múltiples Método 2 para graficas múltiples
  • 93. Método 1 para graficas múltiples
  • 94. Método 2 para graficas múltiples
  • 95. Graficar en varias ventanas Si solo se escribe “figure”, de manera correlativa empiezan a enumerarse las figuras
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108. >>x=0:0.1:10; >> y=2*sin(x); >> plot(x,y) >> axis([3 7 -1 1]) >> text(4,0.4,'Funciones en Frecuencia') >> title('Función seno x=sen(alpha)','Fontsize',15)
  • 109.
  • 110. Ver video después del 16: Introducción a Simulink
  • 111. Para abrir simulink, se realizar mediante los siguientes método
  • 112.
  • 113. Tipos de visualización de data Tipos de perturbación de data Funciones definidas por el usuario, con lo cual se puede unir Matlab con simulink
  • 115. Creamos un modelo en blanco y seleccionamos los siguientes componentes
  • 116. A ese mismo modelo en blanco añadimos Display
  • 117. Al simular (Run), aparecerá el resultado en el display
  • 118.
  • 119. Combinar variables de Matlab con Simulink Creamos una variable “k” con valor 10 A la ganancia le colocamos “k”, ya que así se declaró en Matlab
  • 120. Obtenemos el resultado de acuerdo a la ganancia de 10, ya que ese es el valor de k Con doble click en un espacio en blanco podemos buscar un componente o hacer alguna anotación
  • 121. Consideraciones en Model Settings Tiempo de simulación Tiempo de muestreo fijo para ecuaciones diferenciales o variable para procesos computacionales
  • 123.
  • 124. RGB: 0,9; 0,6 y 0,3 RGB: Red, green, blue Tener en cuenta en esta línea de código: Con esta línea de código se crea la ventana, pero no se observa el titulo de la ventana y los controles (minimizar, maximizar y cerrar); para poder observar estas dos características se debe expandir la ventana O usar otra línea de código para que el gráfico salga en medio( es decir titulo de ventana y controles visibles por defecto): movegui(fig(1),’center’)
  • 125.
  • 126. Primer parámetro: Obtenemos la etiqueta del eje “y”, como en la línea anterior no le colocamos nada, obtendremos un valor nulo Con la función “set”: set (parámetro a modificar, tipo de variable, nombre de variable). Ejemplo: Set ( a, ‘String’, ’Tiempo(s)’) -> Aquí estamos seteando un string con nombre Tiempo(s) al parámetro “a”) Seteamos un string con nombre Función al primero parámetro
  • 127. La funciona Line de Matlab plotea una línea en el eje con la data de los vectores x e y
  • 128. Ejemplo de uso de “uicontrol” Se usa para llamar a una función, en este caso la función “texto” Con Style se pueden colocar textos, botones, popups, etc -> investigar mas
  • 129. Con esto se mostraría el valor del coseno de manera dinámica
  • 130. %Crea botones y cuadros de texto dentro de la figura. bot(1)=uicontrol('parent',fig(1),'style','p ushbutton','string','Detener','position',[6 80 50 100 50],'callback',@stop,'fontsize',11) bot(2)=uicontrol('parent',fig(1),'style','p ushbutton','string','Coseno','position',[68 0 250 100 50],'callback',@coseno,'fontsize',11) %% Funcion PARAR function varargout=stop(hObject,evendata) %hObject y evendata investigar mas parar=true; end %% Funcion Graficar Coseno function varargout=coseno(hObject,evendata) %hObject y evendata investigar mas FCos=true;
  • 131. %% funcion Graficar tiempo=[0]; salida=[0]; %para valores de la funcion seno salida2=[0]; %para valores de la funcion coseno %Cada cuanto se va graficando en el axe dt=0.1; %Limites iniciales en el AXE limx=[0 40]; set(axe(1),'xlim',limx); %% Grafico k=1;nit = 800; %nit = numero de interacciones Y=2*cos(tiempo(k)); Z=cos(4*tiempo(k)); %Crea funcion coseno y lo guarda en Z if FCos == true set(bot(2),'string',Z); end set(txbx(2),'string',Y); %Actualiza las variables del grafico tiempo=[tiempo tiempo(end)+dt]; salida=[salida Y]; salida2=[salida2 Z]; NOTa: 0,8*800=80: Como el total de interacciones será 800, y el salto será de 0,1, tendremos un tiempo de 0 a 80.
  • 132. %Actualiza las variables del grafico tiempo=[tiempo tiempo(end)+dt]; salida=[salida Y]; salida2=[salida2 Z]; Con esta línea de código estamos haciendo los vectores dinámicos, su tamaño va creciendo Vector tiempo dinámico Interacción 1: Para k=1, tiempo=[0], tiempo(0)=0 y tiempo(end)=0 Tiempo = [0 0+0,1] = [0 0,1] Interacción 2: Para k=2, tiempo(0)=0 y tiempo(end)=0,1 Tiempo = [0 0,1 tiempo(end)+0,1] = [0 0,1 0,1+0,1] = [0 0,1 0,2] Vector salida dinámico: Interacción 1: Para k=1, salida = [0] Salida = [ 0 Y1] Y1 = 2*cos(tiempo(1)) Interacción 2: Para k=2, salida = [0 Y1] Salida = [ 0 Y1 Y2 ] Y1 = 2*cos(tiempo(1)) Y2= 2*cos(tiempo(2))
  • 133. if tiempo(end)>=limx % actualizo grafica cuando llega a su limite en tiempo real limx=[0 limx(2)+40] set(axe(1),'xlim',limx) end
  • 135.
  • 136.
  • 137. %Función Seno figure x=0:pi/100:pi; y=sin(x); polar(x,y) %Función Flor, apariencia de una flor figure theta=0:0.01*pi:2*pi; r=5*cos(4*theta); polar(theta,r) %Función Estrella, apariencia de una estrella figure theta=pi/2:4/5*pi:4.8*pi; r=ones(1,6); polar(theta,r)
  • 138.
  • 139.
  • 141.
  • 142.
  • 143. x=0:0.5:50; %Vector x y= 5*x.^2; %Función y, Cada elemento de x se eleva al cuadrado subplot(2,2,1) plot(x,y) title('Polinomial - Lineal/Lineal') ylabel('y'), grid subplot(2,2,2) semilogx(x,y)%Grafica Logaritmica en x title('Polinomial - Log/Lineal') ylabel('y'), grid subplot(2,2,3) semilogy(x,y)%Grafica Logaritmica en y title('Polinomial - Lineal/Log') xlabel('x'),ylabel('y'), grid subplot(2,2,4) loglog(x,y) %Grafica Logaritmica en x/y title('Polinomial - Log/Log') xlabel('x'),ylabel('y'), grid
  • 144.
  • 146.
  • 147. title('Grafica de Barras tridimensional de vec x') subplot(2,2,4) bar3h(y) title('Grafica de Barras tridimensional de matriz y horizontal') %% Grafica con Números y Caracteres %Graficar los consumos de energia electrica consumidos cada mes Consumos=[128,142,135,123,178,192,145,156,1 67,124,174,189]; %Los meses los guardamos en ESTRUCTURAS meses={'Enero','Febrero','Marzo','Abril','M ayo','Junio','Julio','Agosto',... 'Septiembre','Octubre','Noviembre','Diciemb re'}; figure bar(Consumos); %Cambiamos el eje X por los nombres de los meses set(gca,'XTickLabel',meses); title('Consumo de Energía Eléctrica')
  • 148.
  • 149.
  • 150.
  • 152.
  • 153.
  • 154. >> x=[100 95 74 87 22 78 34 35 93 88 86 42 55 48] x = 100 95 74 87 22 78 34 35 93 88 86 42 55 48 >> hist(x) Las versiones nuevas de Matlab recomiendan usar “histogram” en lugar de “hist”
  • 155. >> x=[100 95 74 87 22 78 34 35 93 88 86 42 55 48] x = 100 95 74 87 22 78 34 35 93 88 86 42 55 48 >> histogram(x) >> x=[100 95 74 87 22 78 34 35 93 88 86 42 55 48] x = 100 95 74 87 22 78 34 35 93 88 86 42 55 48 >> histogram(x,10)
  • 157.
  • 159. Con esta línea de código veremos la gráfica animada comet3(x,y,z),grid
  • 161.
  • 162. %% Graficas de Superficie %Crea la matriz clc clear all close all %% Función mesh %Caso 1 z=[1:10; 2:2:20; 3:12] mesh(z); xlabel('eje x') ylabel('eje y') zlabel('eje z') pause %Caso 2 x=linspace(1,50,10); y=linspace(500,1000,3); z=[1:10; 2:2:20; 3:12] figure mesh(x,y,z); pause %% Función surf figure surf(x,y,z); pause %esquema sombreado shading interp % shading flat % shading faceted Al correr este código, como tiene pausas, en Matlab indicará de esta manera, para que continue graficando se presiona cualquier tecla o simplemente enter.
  • 163.
  • 164.
  • 165.
  • 167. Tener en cuenta que Matlab diferencia entre mayúsculas y minúsculas, es decir “X” no es igual a “x”
  • 168. clc clear all close all x=[-2:0.2:2]; y=[-2:0.2:2]; [X,Y]=meshgrid(x,y); Z=X.*exp(-X.^2-Y.^2); subplot(2,2,1) mesh(X,Y,Z) title('Grafica Mesh'), xlabel('eje x'), ylabel('eje y') zlabel('eje z'); subplot(2,2,2) surf(X,Y,Z) title('Grafica Superficie'), xlabel('eje x'), ylabel('eje y') zlabel('eje z'); subplot(2,2,3) contour(X,Y,Z) title('Grafica de Contorno'), xlabel('eje x'), ylabel('eje y') zlabel('eje z'); subplot(2,2,4) surfc(X,Y,Z) title('Combinación grafica de superficie y contorno'), xlabel('eje x'), ylabel('eje y') zlabel('eje z'); %% Pseudocolor figure subplot(1,2,1) pcolor(X,Y,Z) title('Pseudo Color con Reticula') %Sin reticula subplot(1,2,2) pcolor(X,Y,Z) title('Pseudo Color sin Reticula') shading interp
  • 169.
  • 171.
  • 172.
  • 174.
  • 175. En este código lo que esta dentro del If no se ejecuta ya que la condición no se cumple, es decir b no es diferente, b es cero.
  • 176.
  • 177.
  • 178. edad=input('Digite la edad de la persona: '); %condicion elseif if (edad<16) disp('Todavia no puede conducir') elseif (edad<18) disp('Puede obtener un permiso de conducir') elseif(edad<70) disp('Puede obtener la licencia estandar') else disp('Requiere de una licencia especial') end
  • 179. Ejecutar varias veces el código para comprobar el script
  • 180. n=input('Digite un número: '); switch n case -1 disp('UNO Negativo') case 0 disp('Cero') case 1 disp('UNO Positivo') otherwise disp('Otro Valor') end Ejecutar varias veces para comprobar el script
  • 182.
  • 183.
  • 184.
  • 185. Mientras el criterio sea verdadero se ejecutará lo que está dentro de ese While
  • 186.
  • 188. k=0; while k<3 k=k+1; a(k)=k^2 if k==2 break end end Modificación al código k=0; while k<3 k=k+1; if k==2 break end a(k)=k^2 end k=0; while k<3 k=k+1; if k==2 continue end a(k)=k^2 end Código con continue Sale el cero ya que con “continue” se vuelve a repetir el código y no tomó ese valor, Matlab lo rellena con cero
  • 189.
  • 190. Con: length(A) te da el tamaño del vector A Pero si se usa así: length(A(:)) te da el tamaño de la matriz pero ampliada, es decir si la matriz de es de 200x200, el resultado de length(A(:)) seria 40000 A = ones(200); tic for i=1:length(A(:)) B(i)=pi*A(i); end toc Matlab calcula el tiempo en que se demora en realizar el código dentro de tic toc A = ones(200); tic B=pi*A; toc
  • 192.
  • 193.
  • 194.
  • 195. Creamos la función function [y,vt,M,r] = fcuadratica(a,b,c) Parámetros de salida: y,vt,M,r -> y: función cuadrática, vt: vértice, M: máximo o mínimo, r:raices Parámetros de entrada: a,b,c -> coeficientes de la función. Para colocarle la ayuda a la función, es decir cuando se busque con “help” aparezca la ayuda, se tiene que escribir como comentario inmediatamente después de haber creado la función function [y,vt,M,r] = fcuadratica(a,b,c) % Esta función calcula y grafica los puntos de una función cuadratica % expresada de la forma y= ax^2 + bx + c, la sintaxis es: % % [y] = fcuadratica(a,b,c) % % Donde: % y = Puntos de la función Cuadratica % a = Coeficiente que acompaña a x^2 % b = Coeficiente que acompaña a x % c = Coeficiente independiente
  • 196.
  • 197. function [y] = fcuadratica(a,b,c) % Esta función calcula y grafica los puntos de una función cuadratica % expresada de la forma y= ax^2 + bx + c, la sintaxis es: % % [y] = fcuadratica(a,b,c) % % Donde: % y = Puntos de la función Cuadratica % a = Coeficiente que acompaña a x^2 % b = Coeficiente que acompaña a x % c = Coeficiente independiente %Calcular Vertice vt=-b/(2*a); %Creo los puntos x=vt-5:0.5:vt+5; %Ecuación Cuadrática y=a*x.^2+b*x+c; %Graficar plot(x,y),grid [y] = fcuadratica(2,2,-12) Probando el código, colocar en commmand Windows lo sgtet:
  • 198. Con esta línea de código graficamos solo un punto y le colocamos un tamaño de 25 plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25) Grafica solo un punto function [y] = fcuadratica(a,b,c) % Esta función calcula y grafica los puntos de una función cuadratica % expresada de la forma y= ax^2 + bx + c, la sintaxis es: % % [y] = fcuadratica(a,b,c) % % Donde: % y = Puntos de la función Cuadratica % a = Coeficiente que acompaña a x^2 % b = Coeficiente que acompaña a x % c = Coeficiente independiente %Calcular Vertice vt=-b/(2*a); %Creo los puntos x=vt-5:0.5:vt+5; %Ecuación Cuadrática y=a*x.^2+b*x+c; %Graficar plot(x,y),grid hold on plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25)
  • 199. Agregando como salida al vertice de simetria function [y,vt] = fcuadratica(a,b,c) % Esta función calcula y grafica los puntos de una función cuadratica % expresada de la forma y= ax^2 + bx + c, la sintaxis es: % % [y] = fcuadratica(a,b,c) % % Donde: % y = Puntos de la función Cuadratica % a = Coeficiente que acompaña a x^2 % b = Coeficiente que acompaña a x % c = Coeficiente independiente %Calcular Vertice vt=-b/(2*a); %Creo los puntos x=vt-5:0.5:vt+5; %Ecuación Cuadrática y=a*x.^2+b*x+c; %Graficar plot(x,y),grid hold on plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25)
  • 200. Si solo quiero saber el vértice de simetría, se coloca un “~”, a las variables que no se desean Ya no se crea el “y”, si no solamente vt
  • 201. function [y,vt,M] = fcuadratica(a,b,c) % Esta función calcula y grafica los puntos de una función cuadratica % expresada de la forma y= ax^2 + bx + c, la sintaxis es: % % [y] = fcuadratica(a,b,c) % % Donde: % y = Puntos de la función Cuadratica % a = Coeficiente que acompaña a x^2 % b = Coeficiente que acompaña a x % c = Coeficiente independiente %Calcular Vertice vt=-b/(2*a); %Creo los puntos x=vt-5:0.5:vt+5; %Ecuación Cuadrática y=a*x.^2+b*x+c; %Graficar plot(x,y),grid hold on plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25) %Maximo o minimo if a<0 disp('Máximo') M=max(y); elseif a>0 disp('Mínimo') M=min(y); else disp('Linea Recta') M=0; end
  • 202. Para probar el código, ingresamos dos funciones cuadráticas una con mínimo(apertura de parábola hacia arriba) y otra con máximo(apertura de parábola hacia abajo) >> [~,~,M] = fcuadratica(2,2,-12) Mínimo M = -12.5000 >> [~,~,M] = fcuadratica(-2,2,-12) Máximo M = -11.5000
  • 204. function [y,vt,M,r] = fcuadratica(a,b,c) % Esta función calcula y grafica los puntos de una función cuadratica % expresada de la forma y= ax^2 + bx + c, la sintaxis es: % % [y] = fcuadratica(a,b,c) % % Donde: % y = Puntos de la función Cuadratica % a = Coeficiente que acompaña a x^2 % b = Coeficiente que acompaña a x % c = Coeficiente independiente %Calcular Vertice vt=-b/(2*a); %Creo los puntos x=vt-5:0.5:vt+5; %Ecuación Cuadrática y=a*x.^2+b*x+c; %Graficar plot(x,y),grid hold on plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25) %Maximo o minimo if a<0 disp('Máximo') M=max(y); elseif a>0 disp('Mínimo') M=min(y); else disp('Linea Recta') M=0; end %Raízes r(1)=(-b+sqrt(b^2-4*a*c))/(2*a); r(2)=(-b-sqrt(b^2-4*a*c))/(2*a); function [y,vt,M,r] = fcuadratica(a,b,c) % Esta función calcula y grafica los puntos de una función cuadratica % expresada de la forma y= ax^2 + bx + c, la sintaxis es: % % [y] = fcuadratica(a,b,c) % % Donde: % y = Puntos de la función Cuadratica % a = Coeficiente que acompaña a x^2 % b = Coeficiente que acompaña a x % c = Coeficiente independiente %Calcular Vertice vt=-b/(2*a); %Creo los puntos x=vt-5:0.5:vt+5; %Ecuación Cuadrática y=a*x.^2+b*x+c; %Graficar plot(x,y),grid hold on plot(vt,a*vt.^2+b*vt+c,'.k','MarkerSize',25) %Maximo o minimo if a<0 disp('Máximo') M=max(y); elseif a>0 disp('Mínimo') M=min(y); else disp('Linea Recta') M=0; end %Raízes r=roots([a b c]); r = 0.5000 - 2.3979i 0.5000 + 2.3979i r = 0.5000 + 2.3979i 0.5000 - 2.3979i
  • 205. Tener en cuenta que: La función creadas funcionan correctamente si está dentro de la carpeta que estas trabajando (Current Folder), o si se encuentra dentro del search path de Matlab. Se podría crear una carpeta donde estén todas las funciones que voy creando y agregarla al SetPath para que Matlab las busque ahi
  • 207.
  • 208.
  • 209. >> ln(10) Unrecognized function or variable 'ln'. >> ln=@(x)log(x) ln = function_handle with value: @(x)log(x) >> ln(10) ans = 2.3026 Inicialmente la función “ln” no existia Creamos la función anónima “ln” Ahora ya podemos usar la función anónima “ln”
  • 210. >> save('ln.mat','ln') >> clear all >> ln(10) Unrecognized function or variable 'ln'. >> load('ln.mat’) >> ln(10) ans = 2.3026 Guardamos la función, en este caso le puse “ln”, pero puede ser cualquier nombre Limpiamos todas las variables Ahora la función “ln” ya no funciona Cargamos la función “ln” >> ln=@(x)log(x) ln = function_handle with value: @(x)log(x) >> save('mifuncion.mat','ln') >> clear all >> load('mifuncion.mat') >> ln(10) ans = 2.3026
  • 211. Si buscamos “integral” con el help de Matlab
  • 212.
  • 213. >> clear all >> g=@(c)(integral(@(x)x.^2+c*x+1,0,1)) g = function_handle with value: @(c)(integral(@(x)x.^2+c*x+1,0,1)) >> g(1) ans = 1.8333 Recordar que la función “integral de Matlab te pide una función anónima o handle function. Ejemplo: integral(FUN, x,y), donde FUN es una function handle o función anónima, x e y son los limites mínimo y máximo respectivamente.
  • 214. >> Fxy=@(x,y)(x.^2+y.^2+x.*y) Fxy = function_handle with value: @(x,y)(x.^2+y.^2+x.*y) >> h=Fxy(2,1) h = 7 Cuando x e y son escalares Cuando x e y son vectores >> Fxy=@(x,y)(x.^2+y.^2+x.*y) Fxy = function_handle with value: @(x,y)(x.^2+y.^2+x.*y) >> x=[1 2 3]; >> y=[10 15 20]; >> h=Fxy(x,y) h = 111 259 469
  • 216.
  • 217.
  • 218.
  • 219. NOTA: Esta es un forma poco usada, si A esta a la derecha se usa “/” Se usa “A” para indicar la inversa de AA
  • 220. >> A=[6 -3 7;4 0 9;-2 1 0]; >> b=[-8;0;2]; >> det(A) ans = 28.0000 >> x1=inv(A)*b x1 = 0.6429 3.2857 -0.2857 >> x2=Ab x2 = 0.6429 3.2857 -0.2857 >> x3=A^(-1)*b x3 = 0.6429 3.2857 -0.2857
  • 221.
  • 222. >> A=[1 3 7;-1 4 4;1 10 18] A = 1 3 7 -1 4 4 1 10 18 >> rank(A) ans = 2 >> det(A) ans = 0
  • 223. El resultado del producto debe dar la matriz b
  • 224. >> A=[1 3 7;-1 4 4;1 10 18] A = 1 3 7 -1 4 4 1 10 18 >> rank(A) ans = 2 >> det(A) ans = 0 >> b=[5;2;12]; >> P=pinv(A)*b P = 0.3850 -0.1103 0.7066
  • 225. >> A=[1 3 7;-1 4 4;1 10 18] A = 1 3 7 -1 4 4 1 10 18 >> b1=[3;6;0]; >> A*pinv(A)*b1 ans = -1.0000 4.0000 2.0000 Aquí se debería tener el vector b1 = [3;6;0], este resultado es una aproximación por mínimos cuadrados
  • 227.
  • 228.
  • 229.
  • 230.
  • 231.
  • 232.
  • 233. Creamos un script teniendo las siguientes consideraciones: - En este caso le puse el nombre de VanDerPol, pero puede ser cualquier nombre. - “u” no se usa, ya que no hay perturbaciones, pero se ha dejado en la función. function dx = VanDerPol(t,x,u,mu) %Estados x1=x(1); x2=x(2); %Entradas o perturbaciones %En este caso no hay %Ecuaciones diferenciales dx1=x2; dx2=mu*(1-x1^2)*x2-x1; dx=[dx1,dx2];
  • 234. Creamos un nuevo script %VanDerPol clc %clear close all %Caso 1 x0=[2 0]; %condicion inicial mu=1; tspan=[0 30]; u=0; %Solucion de la EDO [ts,y] = ode23(@(t,x)VanDerPol(t,x,u,mu),tspan,x0); figure plot(ts,y(:,1)) ME APARECE ERROR!!!