Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IP Practica 4 2022
IP Practica 4 2022
de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
• Creación de gráficos
• Subprogramas function
Universidad Politécnica de Madrid
• Mínimos cuadrados
Current Folder:
Ficheros
en la Command window:
carpeta de
trabajo
Área de trabajo para la ejecución de
instrucciones,
programas, …
Workspace:
Nombres de las
variables usadas
y valores que van
tomando
Directorio (carpeta) en la que se está trabajando
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
Alfredo López Benito y Mª Pilar Martínez de la Calle 2
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
LAS FUNCIONES EN MATLAB®
Además de las predefinidas en MATLAB , puedes
definir las que tú quieras ∙∙∙∙∙∙ de alguna de las 4
Universidad Politécnica de Madrid
formas siguientes:
1ª) Escribiéndolas en una única sentencia
(funciones handle).
2ª) Escribiéndolas como un subprograma function.
3ª) Funciones “especiales”: polinomios o definidas por
tramos polinómicos, … (Práctica posterior)
4ª) Utilizando variables simbólicas previamente
declaradas como tales. (Práctica posterior)
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
Alfredo López Benito y Mª Pilar Martínez de la Calle 3
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
LAS FUNCIONES EN MATLAB®
Las definas como las definas, debes saber que:
En MATLAB® una función se comporta como un
Universidad Politécnica de Madrid
PROGRAMA SUBPROGRAMA
A= input('A'); Arg. entrada
Universidad Politécnica de Madrid
B=sin(A); Módulo
sin
Arg. salida
PROGRAMA SUBPROGRAMA
A= input('A'); Arg. entrada
Universidad Politécnica de Madrid
B=log(A)+A^2; Módulo
C= cos(B) logaritmo
D=max(abs(C),A/4) Arg. salida
PROGRAMA SUBPROGRAMA
A= input('A'); Arg. entrada
Universidad Politécnica de Madrid
B=log(A)+A^2; Módulo
C= cos(B) coseno
D=max(abs(C),A/4) Arg. salida
B=log(A)+A^2; Módulo
C= cos(B) max
D=max(abs(C),A/4) Arg. salida
SUBPROGRAMA
Arg. entrada
Módulo
abs
Arg. salida
EJEMPLO:
>> fun1=@(r,h) h*pi*r^2;
Universidad Politécnica de Madrid
r
>> v=fun1(1.56,2) h
v = 15.2908
2∙π∙1.562
EJEMPLO: z
y
ϕ
Universidad Politécnica de Madrid
x α
>>C=esf2car(2,-pi/3,-pi/4)
C =
0.7071 -1.2247 -1.4142
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
12
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
OBSERVACIONES:
Universidad Politécnica de Madrid
if (A>B-3) % Si A>(B‐3)
A=B-4; % A B‐3
end
% Se repartan 601
N=601; S=linspace(A,B,N); % abscisas en [A,B]
g=@(x) exp(abs(cos(x*pi)))*sin(x*pi/2);
% g(x)=e|cos(x∙π)|∙sen(x∙π/2)
VA=g(A), VB=g(B)
% Se evalúe g(x) en A y en B.
for I=1:1:N
G(I)=g(S(I)); % Se evalúe g(x) en S.
end
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
16
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
clear all;
A=input('Valor de A= ');
B=input('Valor de B= ');
Universidad Politécnica de Madrid
if (A>B-3)
A=B-4;
end
S=linspace(A,B,601);
g=@(x) exp(abs(cos(x*pi)))*sin(x*pi/2);
g=@(x) exp(abs(cos(x*pi))).*sin(x*pi/2);
VA=g(A), VB=g(B)
for I=1:1:601 El operador .* permite
G(I)=g(S(I)); G=g(S); multiplicar elemento a
end elemento de un vector
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
17
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
Escribe un programa en el que:
1º) ∙∙∙∙∙∙∙∙∙∙∙∙
Universidad Politécnica de Madrid
2º) ∙∙∙∙∙∙∙∙∙∙∙∙
3º) ∙∙∙∙∙∙∙∙∙∙∙∙
4º) ∙∙∙∙∙∙∙∙∙∙∙∙
5º) ∙∙∙∙∙∙∙∙∙∙∙∙
plot(X,Y,Especificaciones)
if (A>B-3)
A=B-4;
end
S=linspace(A,B,601);
g=@(x) exp(abs(cos(x*pi))).*sin(x*pi/2);
VA=g(A), VB=g(B)
G=g(S);
plot(S, G) Al no haber especificaciones,
MATLAB® dibujará “como quiera”
if (A>B-3)
A=B-4;
end
S=linspace(A,B,601);
g=@(x) exp(abs(cos(x*pi))).*sin(x*pi/2);
VA=g(A), VB=g(B)
G=g(S);
plot(S,G,'--r')
Une los puntos con de color rojo
una línea discontinua
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
23
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
Universidad Politécnica de Madrid
'Linewidth',grosor
if (A>B-3)
A=B-4;
end
S=linspace(A,B,601);
g=@(x) exp(abs(cos(x*pi))).*sin(x*pi/2);
VA=g(A), VB=g(B)
G=g(S);
plot(S,G,'--r','Linewidth',3)
Ancho de línea 3 (seis
Une los puntos con de color rojo veces la usada por defecto)
una línea discontinua
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
26
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
Universidad Politécnica de Madrid
fplot(funcion,[A,B],Especificaciones)
Nombre de la fución
Intervalo de dibujo
if (A>B-3)
A=B-4;
end
g=@(x)exp(abs(cos(x*pi))).*sin(x*pi/2);
fplot(g,[A,B],'-r','Linewidth',3)
function [ARG_SAL.]=nombre(ARG_ENT.)
% Comentarios (opcionales)
Instrucciones (se recomienda terminarlas
en “;” para evitar “ecos” en pantalla)
end (opcional)
SUBPROGRAMA
LOCALES
Universidad Politécnica de Madrid
LOCALES
function[as1,as2,···,asm]=nombre(ae1,ae2,···,aen)
[PS1,PS2,···,PSm]=nombre(PE1,PE2,···,PEn)
GLOBALES GLOBALES
q(x)=g(x)+c1φ1(x)+c2φ2(x)+ ···+cnφn(x)
que aproxima por mínimos cuadrados la nube de m
puntos (S1,Y1), (S2,Y2), ∙∙∙, (Sm,Ym), se calculan resolviendo el
sistema de ecuaciones:
m
[M]·{C} = {b}
donde: M I,J I SK ·J SK (I,J 1,2,
···,n)
K 1
m
y: bI YK g SK ·I SK (I1,2,
···,n)
K 1
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
38
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
Escribe un subprograma function, llamado
AMCG, en el que sean argumentos de entrada:
• Un vector fila S (abscisas de los puntos)
Universidad Politécnica de Madrid
φ1(S1) φ1(S2···
) φ1(SJ)··· φ1(Sm)
φ2(S1) φ2(S2···
) φ2(SJ)··· φ2(Sm)
··· ··· ··· ··· ··· ···
[P] φI(S1) φI(S2···
) φI(SJ)··· φI(Sm)
··· ··· ··· ··· ··· ···
φn(S1) φn(S2···
) φn(SJ)··· φn(Sm)
m Nº de elementos de S;
Universidad Politécnica de Madrid
n Nº de elementos de fi;
I=1,1,n
J=1,1,m
PI,J fiI(SJ)
+
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
42
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
-
I=1,1,m
ZIYI-g(SI)
- Producto escalar
I=1,1,n
J=1,1,n
MI,J{PI,1:m}•{PJ,1:m}
+
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
44
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
IDEA DELn ALGORITMO
k 1
3º) bI Yk g Sk ·I Sk (I1,2,
···,n)
Universidad Politécnica de Madrid
- Producto escalar
I=1,1,n
bI{Z}•{PI,1:m}
+
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
45
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
IDEA DEL ALGORITMO
4º) {C} [M]-1·{b}
Universidad Politécnica de Madrid
-
{C}[M]-1·{b}
I=1,1,n
bI{Z}•{PI,1:m}
P=fi(S)
[n,m]=size(P);
Z=(Y-g(S));
P=fi(S)
[n,m]=size(P);
Z =(Y-g(S)).’;
for I=1:1:n
for J=1:1:n
M(I,J)=dot(P(I,1:m),P(J,1:m);
end
end Producto escalar de dos vectores
P=fi(S);
[m,n]=size(P);
Z =(Y-g(S)).';
for I=1:1:n
for J=1:1:n
M(I,J)=dot(P(I,1:m),P(J,1:m);
end
b(I,1)=dot(Z,P(I,1:m);
end
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
50
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
SUBPROGRAMA MATLAB: function AMGC
···········
Universidad Politécnica de Madrid
for I=1:1:n
for J=1:1:n
M(I,J)=dot(P(I,1:m),P(J,1:m));
end
b(I,1)=dot(Z,P(I,1:m));
end
C=inv(M)*b;
end
Al evaluarse en un VECTOR
[n,m]=size(P); deben definirse con operadores
Z =(Y-g(S)).'; ∙elemento a elemento” (los
operadores .*, ./ y .^)
for I=1:1:n
for J=1:1:n
M(I,J)=dot(P(I,1:m),P(J,1:m));
end
b(I,1)=dot(Z,P(I,1:m));
end
C=inv(M)*b;
end
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
52
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
SALVEMOS EL SCRIPT …
Universidad Politécnica de Madrid
Save Ctrl+S
Save As …
Save All…
Save Copy As … Directorio
Save Ctrl+S
Save As …
Save All…
Save Copy As … Directorio
aleatoriamente en [0,17]:
2º) se calculen los coeficientes de la función
q(x) = 1+c1·x+x2+c2·x3+ c3·cos(π·x)
que aproxima por mínimos cuadrados a la nube de puntos
anterior.
3º) Se represente gráficamente la nube de puntos
4 Y=AY+(BY-AY)*rand(1,N);
5 fi=@(x) [x; x.^3; cos(pi*x)];
6 g =@(x) 1+x.^2;
7 [C] = AMCG(S,Y,fi,g);
8 C Al no haber especificaciones, MATLAB
9 plot(S,Y) dibujará “como quiera”
Une los puntos,
con una línea continua,
de color cian,
…
4 Y=AY+(BY-AY)*rand(1,N);
5 fi=@(x) [x; x.^3; cos(pi*x)];
6 g =@(x) 1+x.^2;
7 [C] = AMCG(S,Y,fi,g);
8 C
9 plot(S,Y,'or')
18
16
14
12
10
0
-4 -3 -2 -1 0 1 2 3 4
aleatoriamente en [0,6]:
2º) se calculen los coeficientes de la función
q(x) = 1+c1·x+x2+c2·x3+ c3·cos(π·x)
que aproxima por mínimos cuadrados a la nube de puntos
anterior.
3º) Se represente gráficamente la nube de puntos
4 Y=AY+(BY-AY)*rand(1,N);
5 fi=@(x) [x; x.^3; cos(pi*x)];
6 g =@(x) 1+x.^2;
7 [C] = AMCG(S,Y,fi,g); Permite realizar más
8 C gráficas en la misma
9 plot(S,Y,'or') ventana de dibujo, no
10 hold on cerrándose hasta que se
11 for I=1:1:N escriba hold off
12 Q(I)=g(S(I))+dot(C,fi(S(I)));
13 end
14 plot(S,Q,'-b')
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
63
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
Universidad Politécnica de Madrid
COEFICIENTES CANÓNICOS:
p(x)=a1+a2·x+a3·x2+···+an·x(n-1)
DADOS COMO SOLUCIÓN DEL SISTEMA:
1) (n 1)
1 s1 s(J s a
1 1
1 f(s1)
(J 1) (n 1)
1 s2 s2 s2 a2 f(s2)
1 s s
·
(J 1)
sJ(n 1)
aJ f(sJ )
J J
1 s s(J 1) s(n 1) an f(sn )
n n n
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
66
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
EJERCICIO PROPUESTO 1º
A) Escribe un subprograma function, llamado P_LAG,
Universidad Politécnica de Madrid
n=length(S); % Nº de abscisas
% Función interpolada
f=@(x) cos(x*pi).*sin(pi*exp(-abs(x)));
[a]=P_LAG(S,f); % Coefs. Pol. Interpol.
% Abscisas de dibujo
XD=linspace(S(1),S(end),451).';
YD=f(XD); % Ordenadas de f(x) en sop.
% Dibujo de f(x)
plot(XD,YD,'-b','Linewidth',3);
hold on % Mantenemos “ventana” abierta
(Continúa en página siguiente)
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
71
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
EJERCICIO PROPUESTO 1º)(Solución apartado B) (cont.))
nd=length(XD); % Nº abscisas de dibujo
% Cálculo de valores del polinomio
Universidad Politécnica de Madrid
PD(1:nd,1)=a(1);
xd=XD;
for J=2:n
k=a(J);
PD(1:nd,1)=PD(1:nd,1)+k*xd(1:nd,1);
xd=xd.*XD;
end
plot(XD,PD,'-r','Linewidth',2); %Dibujo
plot(S, f(S),'ok','Linewidth’,3);
legend('f(x)','p(x)','Soporte')
grid on; grid minor;
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
72
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
Universidad Politécnica de Madrid
Mi J-ésimo
Universidad Politécnica de Madrid
polinomio de base
asociado al soporte
{s1, s2,…,sJ,…, sn}
tiene valor 1 en sJ y
nulo en las demás
abscisas
for I=1:1:n
M(I,1)=1; X(I,1)=S(I);
end
for J=2:1:n
M(1:n,J)=M(1:n,J-1).*X;
end
C=inv(M);
end
A=min(S); B=max(S);
XD=[A:0.1:B]; % Abscisas de dibujo
m=length(XD);
% La fila I de la matriz MX contiene
% las potencias (I-1) de las abscisas
MX(1,1:m)=1;; MX(2,1:m)=XD;
for I=3:1:n
MX(I,1:m)=MX(I-1,1:m).*XD;
end
YD=C.'*MX; % Valores de los polinomios
(Continúa en página siguiente)
Profesores Carlos Conde, Ángel Fidalgo, Roberto Gómez Prieto
78
Alfredo López y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
(Viene de la página anterior)
ND=ceil(n/2);
for I=1:1:n
subplot(ND,2,I) % Subventana nº I
Universidad Politécnica de Madrid
plot(XD,YD(I,1:m),'-r','Linewidth',2);
hold on
YS=zeros(1,n); YS(I)=1;
plot(S,YS,'ok','Linewidth',2)
plot([A,B],[0,0],'--b','Linewidth',2);
plot([A,B],[1,1],'--b','Linewidth',2);
xlim([A,B]);ylim([-2,2]);
grid on; grid minor;
title(['Polinomio de base ',num2str(I)])
end
CONDICIONALES
3º) Asignamos a resto el valor |Z10| y :
Estructuras
Para J=0, 1, 2, …,N-1
SI (2(k-J)≤ resto): bJ+21;
BUCLE
SI NO: bJ+20;
resto resto – bJ+2·2(k-J)
Fin bucle en J
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
83
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
EJERCICIO PROPUESTO 3 – PSEUDOCÓDIGO
Función [b,k] COD2(Z10,N) Puesta a 0 de los N+1
elementos del vector b
Z|Z10|; k0; P1; b(1:N+1)0
Universidad Politécnica de Madrid
SI (Z>=1) entonces:
Mientras (P ≤ Z) hacer:
Bucle
P 2*P; k k+1; condicional
Fin bucle condicional
DE BIFURCACIÓN
Estructura
k k-1; P P/2;
SI NO, SI (Z > 0):
Mientras (P > Z) hacer:
Bucle
P P/2; k k-1; condicional
Fin bucle condicional
FIN condición
(Continúa en la página siguiente)
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
84
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
EJERCICIO PROPUESTO 3 – PSEUDOCÓDIGO
(Viene de la página anterior)
SI (Z10<0):
DE BIFURCACIÓN
b1 1;
Estructura
Universidad Politécnica de Madrid
resto Z;
Universidad Politécnica de Madrid
SI NO:
b2+J0; PP/2;
Fin condición
Fin bucle Dígitos b2 a bN+1.
Z |Z10|; k 0;
P1; b(1:1:N)0
87
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
EJERCICIO PROPUESTO 3 – ORGANIGRAMA
-
Universidad Politécnica de Madrid
NO NO
Z>1? Z>0?
SI SI
P≤Z? P>Z?
PP/2; kk-1;
+
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto, 88
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
EJERCICIO PROPUESTO 3 – ORGANIGRAMA
-
Universidad Politécnica de Madrid
Z10<0? NO
SI
b11; b10;
resto Z
J=0:1:(N-1)
NO
P<resto?
SI
b2+J 1; b2+J 0;
restoresto-P;
P P/2 P P/2
function [b,k]=COD2(Z10,N)
2 Z = abs(Z10); Z|Z10|; k0; P1;
3 k=0;
4 P=1; Z>1?
5 if (Z>1)
P≤Z?
6 while (P<=Z)
7 P=2*P; k=k+1; P2·P; kk+1;
8 end
9 P=P/2; k=k-1; PP/2; kk-1;
14 end
15 if (Z10<0)
NO
Z10<0?
16 b(1)=1;
SI
17 else
b11; b10;
18 b(1)=0;
19 end
21 for J=0:1:(N-1)
J=0:1:(N-1)
22 if (P < resto)
23 b(J+2)=1; NO
P<resto?
24 resto=resto-P;
SI
25 P=P/2; b2+J 1; b2+J 0;
26 else restoresto-P;
27 b(J+2)=0; P P/2 P P/2
28 P=P/2;
29 end
30 end
31 end FIN de la función
ASEGÚRATE DE ESTAR EN EL
DIRECTORIO DE TRABAJO
ASÍGNALE EL MISMO NOMBRE QUE
A LA FUNCIÓN (COD2)
MANTÉN LA EXTENSIÓN .m
PULSA SOBRE Guardar
B =
0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1
EXPO =
3
(3·π)10=(9.4247779607693…)10=
=(+1.00101101100101…·23)2
m(1)=b(1); m(2:N)=b(3:1:N+1);
e = zeros(1,t);
if (k < 0)
e(1) =1;
end
r = abs(k); P = 2^(t‐1);
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
for J=2:1:t
P = P/2;
if (P<= r);
e(J)=1; r = r‐P;
else
e(J)=0;
end
end
display(['MANTISA =',mat2str(m)]);
display(['EXPONENTE =',mat2str(e)]);
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
108
Alfredo López Benito y Mª Pilar Martínez de la Calle
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
Save as PR3_EJ2.m
Universidad Politécnica de Madrid
>> PR3_EJ2
Teclee un valor real NO NULO (Z10): 3/pi^2
Nº de digitos de la mantisa (N>5)? 18
Nº de digitos del exponente (t>3)? 8
MANTISA=[0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 0]
EXPONENTE =[1 0 0 0 0 0 1 0]
-2
(3/π2)10 = (+1.00110111010000100…∙2‐10)2
109
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
LA CONVERSIÓN A BINARIO DE MATLAB®,
decimal binary
tw o
Proporciona un string conteniendo la la expresión
binaria de un número ENTERO positivo dado en base 10
Z2=dec2bin(Z10)
EJEMPLO
>> N2=dec2bin(487692)
N2 ='1110111000100001100'
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
Alfredo López Benito y Mª Pilar Martínez de la Calle 110
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
LA CONVERSIÓN A DECIMAL DE MATLAB®,
binary decimal
tw o
Proporciona el entero Z10 positivo en base 10
correspondiente a una cadena binaria Z2
Z10=bin2dec(Z2)
EJEMPLO
>> N10=bin2dec('1110111000100001100')
N10 = 487692
Carlos Conde Lázaro , Ángel Fidalgo Blanco, Roberto Gómez Prieto,
Alfredo López Benito y Mª Pilar Martínez de la Calle 111
Depto. de Ingeniería Geológica y Minera ‐ ETSI Minas y Energía Informática y Programación – Curso 2022/23 Práctica 4ª
EJERCICIO PROPUESTO Nº 5
a) Averigua cómo funciona el comando:
Z2=dec2bin(Z10)
Universidad Politécnica de Madrid