Está en la página 1de 9

Fundamentos de Informática

Ingeniería Eléctrica Trabajo Final

Resolución Trabajo Final de Matlab 5.3.


Consta de 7 archivos .m: a_inicio, calculo_sist, cuotas,selec, grafica, sub_01 y sub_02.
A continuación de detallan los algoritmos de los archivos mencionados:

a_inicio.m (este es el principal)


clear
fig=gcf
clf
sis=1
cuota=10
a=0
b=0
c=1

% Definmos un Frame
fondo = uicontrol(gcf,... 'uicontrol permite definir los controles gráficos
'Style','frame',...
'Unit','normalized',...
'BackgroundColor','r',...
'Position',[0.17 0.22 0.55 0.5]);

%Definmos TextBox
V = uicontrol(gcf,...
'Style','edit',...
'Unit','normalized',...
'BackgroundColor','w',...
'FontSize',10,...
'Fontname','Arial',...
'String',[],...
'Position',[0.48 0.63 0.22 0.05],...
'CallBack','V=str2double(get(V,''String''))');

N = uicontrol(gcf,...
'Style','edit',...
'Unit','normalized',...
'BackgroundColor','w',...
'FontSize',10,...
'Fontname','Arial',...
'String',[],...
'Position',[0.48 0.56 0.22 0.05],...
'CallBack','N=str2double(get(N,''String''))');

I = uicontrol(gcf,...
'Style','edit',...
'Unit','normalized',...
'BackgroundColor','w',...
'FontSize',10,...
'Fontname','Arial',...
'String',[],...
'Position',[0.48 0.49 0.22 0.05],...
'CallBack','I=str2double(get(I,''String''))');

K = uicontrol(gcf,...
'Style','edit',...
'Unit','normalized',...
'BackgroundColor','w',...
'FontSize',10,...
'Fontname','Arial',...
'String',[],...
'Position',[0.48 0.42 0.22 0.05],...

Jefe de Cátedra: Ing. Germán A. Trobbiani Página: 1 de 9


Fundamentos de Informática
Ingeniería Eléctrica Trabajo Final

'CallBack','K=str2double(get(K,''String''))');

% Definimos Menu Popup


S = uicontrol(gcf,...
'Style','popup',...
'Unit','normalized',...
'BackgroundColor','w',...
'FontSize',10,...
'Fontname','Arial',...
'String','ALEMAN|ALEMAN inv|FRANCES|TASA DIRECTA|AMERICANO',...
'Position',[0.48 0.35 0.22 0.05],...
'CallBack',['pop=[1,2,3,4,5];','sis=pop(get(S,''Value''))']);

% Definimos Labels
t_V = uicontrol(gcf,...
'Style','text',...
'Unit','normalized',...
'BackgroundColor','r',...
'FontSize',10,...
'FontName','Arial',...
'String','Vn',...
'Position',[0.25 0.63 0.2 0.05]);

t_N = uicontrol(gcf,...
'Style','text',...
'Unit','normalized',...
'BackgroundColor','r',...
'FontSize',10,...
'FontName','Arial',...
'String','Numero de Cuotas',...
'Position',[0.25 0.56 0.2 0.05]);

t_I = uicontrol(gcf,...
'Style','text',...
'Unit','normalized',...
'BackgroundColor','r',...
'FontSize',10,...
'FontName','Arial',...
'String','Interes',...
'Position',[0.25 0.49 0.2 0.05]);

t_C = uicontrol(gcf,...
'Style','text',...
'Unit','normalized',...
'BackgroundColor','r',...
'FontSize',10,...
'FontName','Arial',...
'String','Ver Cuotas',...
'Position',[0.25 0.42 0.2 0.05]);

t_S = uicontrol(gcf,...
'Style','text',...
'Unit','normalized',...
'BackgroundColor','r',...
'FontSize',10,...
'FontName','Arial',...
'String','Sistema',...
'Position',[0.25 0.35 0.2 0.05]);

Jefe de Cátedra: Ing. Germán A. Trobbiani Página: 2 de 9


Fundamentos de Informática
Ingeniería Eléctrica Trabajo Final

% Definimos Boton
Calculo = uicontrol(gcf,...
'Style','push',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Calcular',...
'Position',[0.19 0.25 0.51 0.05],...
'Callback','calculo_sist,cuotas,selec');

Calculo_sist
if sis==1
for k=1:N
A(k,1)=(V-(k*(V/N)))+(V/N);
A(k,2)=V/N;
A(k,3)=(V*I*(N-k+1))/N;
A(k,4)=(V/N)+((V*I*(N-k+1))/N);
A(k,5)=k*(V/N);
A(k,6)=k*(V*I+((V*I*(N-k+1))/N))/2;
A(k,7)=(k*(V/N))+(k*(V*I+((V*I*(N-k+1))/N))/2);
A(k,8)=V-(k*(V/N));
end
end

if sis==2
for k=1:N
A(k,1)=(V-(k*(V/N)))+(V/N);
A(k,2)=V/N;
A(k,3)=V*I*k/N;
A(k,4)=(V/N)+(V*I*k/N);
A(k,5)=k*(V/N);
A(k,6)=k*(V*I/N+V*I*k/N)/2;
A(k,7)=(k*(V/N))+(k*(V*I/N+V*I*k/N)/2);
A(k,8)=V-(k*(V/N));
end
end

if sis==3
for k=1:N
A(k,1)=(V-(V*((1+I)^k-1)/((1+I)^N-1)))+(((V*I)/(1-(1+I)^(-N)))-((V-
(V*((1+I)^(k-1)-1)/((1+I)^N-1)))*I));
A(k,2)=((V*I)/(1-(1+I)^(-N)))-((V-(V*((1+I)^(k-1)-1)/((1+I)^N-1)))*I)
;
A(k,3)=(V-(V*((1+I)^(k-1)-1)/((1+I)^N-1)))*I;
A(k,4)=(V*I)/(1-(1+I)^(-N));
A(k,5)=V*((1+I)^k-1)/((1+I)^N-1);
A(k,6)=(k*((V*I)/(1-(1+I)^(-N))))-(V*((1+I)^k-1)/((1+I)^N-1));
A(k,7)=k*((V*I)/(1-(1+I)^(-N)));
A(k,8)=V-(V*((1+I)^k-1)/((1+I)^N-1));
end
end

if sis==4
for k=1:N
A(k,1)=(V-(k*(V/N)))+(V/N);
A(k,2)=V/N;
A(k,3)=V*I;
A(k,4)=(V/N)+(V*I);
A(k,5)=k*(V/N);
A(k,6)=k*(V*I);

Jefe de Cátedra: Ing. Germán A. Trobbiani Página: 3 de 9


Fundamentos de Informática
Ingeniería Eléctrica Trabajo Final

A(k,7)=(k*(V/N))+(k*(V*I));
A(k,8)=V-(k*(V/N));
end
end

if sis==5
if K<N
for k=1:(N-1)
A(k,1)=V;
A(k,2)=0;
A(k,3)=V*I;
A(k,4)=V*I;
A(k,5)=0;
A(k,6)=V*I*k;
A(k,7)=V*I*k;
A(k,8)=V;
end
end
end

if K==N
for k=N
A(k,1)=0;
A(k,2)=V;
A(k,3)=V*I;
A(k,4)=V+V*I;
A(k,5)=V;
A(k,6)=V*I*k;
A(k,7)=V+V*I*k;
A(k,8)=0;
end
end

cuotas
fig=gcf
clf

% Definimos Frame
ft_dir2 = uicontrol(gcf,...
'Style','frame',...
'Unit','normalized',...
'BackgroundColor','y',...
'Position',[0.56 0.08 0.42 0.87]);

% Definimos Textbox
t_DA = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','w',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String',[A(K,1)],...
'Position',[0.8 0.75 0.15 0.05]);

t_AR = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','w',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...

Jefe de Cátedra: Ing. Germán A. Trobbiani Página: 4 de 9


Fundamentos de Informática
Ingeniería Eléctrica Trabajo Final

'String',[A(K,2)],...
'Position',[0.8 0.69 0.15 0.05]);

t_IN = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','w',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String',[A(K,3)],...
'Position',[0.8 0.63 0.15 0.05]);

t_CCK = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','w',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String',[A(K,4)],...
'Position',[0.8 0.57 0.15 0.05]);

t_TK = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','w',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String',[A(K,5)],...
'Position',[0.8 0.51 0.15 0.05]);

t_IK = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','w',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String',[A(K,6)],...
'Position',[0.8 0.45 0.15 0.05]);

t_CK = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','w',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String',[A(K,7)],...
'Position',[0.8 0.39 0.15 0.05]);

t_D = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','w',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String',[A(K,8)],...
'Position',[0.8 0.33 0.15 0.05]);

% Definimos Labels
t_datos = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','y',...

Jefe de Cátedra: Ing. Germán A. Trobbiani Página: 5 de 9


Fundamentos de Informática
Ingeniería Eléctrica Trabajo Final

'Unit','normalized',...
'FontSize',12,...
'FontName','Arial',...
'String','Datos',...
'Position',[0.72 0.85 0.15 0.05]);

lbl_DA2 = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','y',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Debe Anterior',...
'Position',[0.6 0.75 0.15 0.05]);

lbl_AR2 = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','y',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Amort. Real',...
'Position',[0.6 0.69 0.15 0.05]);

lbl_I2 = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','y',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Interes',...
'Position',[0.6 0.63 0.15 0.05]);

lbl_CCK2 = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','y',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Cuota [CK]',...
'Position',[0.6 0.57 0.15 0.05]);

lbl_STK2 = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','y',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Suma [TK]',...
'Position',[0.6 0.51 0.15 0.05]);

lbl_SIK2 = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','y',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Suma [IK]',...
'Position',[0.6 0.45 0.15 0.05]);

lbl_SCK2 = uicontrol(gcf,...

Jefe de Cátedra: Ing. Germán A. Trobbiani Página: 6 de 9


Fundamentos de Informática
Ingeniería Eléctrica Trabajo Final

'Style','text',...
'BackgroundColor','y',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Suma [CK]',...
'Position',[0.6 0.39 0.15 0.05]);

txt_D2 = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','y',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Deuda',...
'Position',[0.6 0.33 0.15 0.05]);

% Definimos Botones
boton_nuevo = uicontrol(gcf,...
'Style','push',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Nuevo',...
'Position',[0.8 0.10 0.15 0.05],...
'Callback','a_inicio');

boton_siguiente = uicontrol(gcf,...
'Style','push',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','Siguiente>',...
'Position',[0.8 0.20 0.15 0.05],...
'Callback','sub_01');

boton_anterior = uicontrol(gcf,...
'Style','push',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String','<Anterior',...
'Position',[0.6 0.20 0.15 0.05],...
'Callback','sub_02');

% Definimos Textbox
t_cuota = uicontrol(gcf,...
'Style','text',...
'BackgroundColor','w',...
'Unit','normalized',...
'FontSize',10,...
'FontName','Arial',...
'String',[K],...
'Position',[0.75 0.20 0.05 0.05]);

Jefe de Cátedra: Ing. Germán A. Trobbiani Página: 7 de 9


Fundamentos de Informática
Ingeniería Eléctrica Trabajo Final

Selec
% Definimos Frame
ft_dir1 = uicontrol(gcf,...
'Style','frame',...
'Unit','normalized',...
'BackgroundColor','r',...
'Position',[0.05 0.08 0.45 0.18]);

% Definimos TextBox
t_abscisas = uicontrol(gcf,...
'Style','text',...
'Unit','normalized',...
'BackgroundColor','r',...
'FontSize',10,...
'FontName','Arial',...
'String','Abscisas:',...
'Position',[0.10 0.15 0.15 0.05]);

% Definimos RadioButtons
td_1 = uicontrol(gcf,...
'Style','radio',...
'FontSize',10,...
'FontName','Arial',...
'String','1 Cuota',...
'Unit','normalized',...
'BackgroundColor','r',...
'Position',[0.3 0.20 0.15 0.05],...
'Value',a,...

'CallBack','set(td_1,''Value'',1),set(td_5,''Value'',0),set(td_10,''Value''
,0),1,0,0,a=1,b=0,c=0,cuota=1,cuotas,grafica,selec');

td_5 = uicontrol(gcf,...
'Style','radio',...
'FontSize',10,...
'FontName','Arial',...
'String','5 Cuotas',...
'Unit','normalized',...
'BackgroundColor','r',...
'Position',[0.3 0.15 0.15 0.05],...
'Value',b,...

'CallBack','set(td_1,''Value'',0),set(td_5,''Value'',1),set(td_10,''Value''
,0),0,1,0,a=0,b=1,c=0,cuota=5,cuotas,grafica,selec');

td_10 = uicontrol(gcf,...
'Style','radio',...
'FontSize',10,...
'FontName','Arial',...
'String','10 Cuotas',...
'Unit','normalized',...
'BackgroundColor','r',...
'Position',[0.3 0.10 0.15 0.05],...
'Value',c,...

'CallBack','set(td_1,''Value'',0),set(td_5,''Value'',0),set(td_10,''Value''
,1),0,0,1,a=0,b=0,c=1,cuota=10,cuotas,grafica,selec');

Jefe de Cátedra: Ing. Germán A. Trobbiani Página: 8 de 9


Fundamentos de Informática
Ingeniería Eléctrica Trabajo Final

sub_01
%subrutina que permite calcular la cuota siguiente al presionar el boton
correspondiente
if K<N
K=K+1
%cuando la cuota llega a la ultima, vuelve a la cuota 1
elseif K==N
K=1
end
%llama
cuotas
grafica
selec

sub_02
%aubrutina que disminuye la cuota en una unidad al presionar el boton
"anterior"
%si la cuota es la primera y se presiona el boton entonces vuelve a la
ultima cuota
if K==1
K=N
elseif K<=N
K=K-1
end
%llama
cuotas
grafica
selec

%grafica
%Realiza la gráfica según los datos ingreados
Y=[A(:,2),A(:,3)];
axes('position',[0.10 0.33 0.40 0.60]);
area(Y);
colormap autumn;
set(gca,'Xtick',[0:cuota:N]);
set(gca,'layer','top');
title 'CUOTAS',
grid;

Jefe de Cátedra: Ing. Germán A. Trobbiani Página: 9 de 9

También podría gustarte