You are on page 1of 11

𝑄 = 𝐴 ⋅ (𝐻 − 𝐻0 )𝑏

𝑙𝑜𝑔(𝑄) = 𝑙𝑜𝑔(𝐴) + 𝑏 ⋅ 𝑙𝑜𝑔(𝐻 − 𝐻0 )


𝐴 ⋅ 𝑅ℎ2/3 ⋅ 𝑆 1/2
𝑄=
𝑛
𝑆 1/2
𝑘= 𝑛

Q
=k
A ⋅  Rh2/3
⟹ 𝑄𝐹 = 1305 𝑚3 /𝑠
𝐸𝑎 = 𝑄𝑚𝑒𝑑 − 𝑄

𝑄𝑚𝑒𝑑

⟹ 𝐸𝑎 = 21.8 𝑚3 /𝑠

𝑄𝑚𝑒𝑑 − Q
Er =
Q med
clear all
close all
clc

DatosC=load('HQEjercicio1.txt'); %H y Q
H=DatosC(:,1);
Q=DatosC(:,2);
Ho=-0.95;
##### PARTE(a) #####
### Ajuste ###
figure(1)
%TRAMO 1
plot(log10(H-Ho),log10(Q),'.r','markersize',12)
hold on
p1=polyfit(log10(H(1:13)-Ho),log10(Q(1:13)),1);
r1=corrcoef(log10(H(1:13)-Ho),log10(Q(1:13)));
x1=[-0.22:0.001:0.13];
plot(x1,x1*p1(1)+p1(2),'b','linewidth',2)
%TRAMO 2
p2=polyfit(log10(H(13:130)-Ho),log10(Q(13:130)),1);
r2=corrcoef(log10(H(13:130)-Ho),log10(Q(13:130)));
x2=[0.13:0.001:0.29];
plot(x2,x2*p2(1)+p2(2),'b','linewidth',2)
%TRAMO 3
p3=polyfit(log10(H(130:194)-Ho),log10(Q(130:194)),1);
r3=corrcoef(log10(H(130:194)-Ho),log10(Q(130:194)));
x3=[0.29:0.001:0.9];
plot(x3,x3*p3(1)+p3(2),'b','linewidth',2)

xlabel('log(H-Ho)','FontName','Arial','FontSize',18)
ylabel('log(Q)','FontName','Arial','FontSize',18)
### Curva de Aforo ##

figure (2)
xf1=[-0.35:0.001:0.39];
q1=(10^p1(2))*(xf1-Ho).^p1(1);
R1=corrcoef(H(1:13)-Ho,Q(1:13));
xf2=[0.39:0.001:1.00];
q2=(10^p2(2))*(xf2-Ho).^p2(1);
R2=corrcoef(H(13:130)-Ho,Q(13:130));
xf3=[1.00:0.001:7];
q3=(10^p3(2))*(xf3-Ho).^p3(1);
R3=corrcoef(H(130:194)-Ho,Q(130:194));

plot(H,Q,'.r','markersize',12)
hold on
plot(xf1,q1,'b','linewidth',2)
plot(xf2,q2,'b','linewidth',2)
plot(xf3,q3,'b','linewidth',2)
legend ({'Mediciones'},'fontsize',14,'location','northwest')

xlabel('H-Ho','FontName','Arial','FontSize',18)
ylabel('Q','FontName','Arial','FontSize',18)

#### PARTE (b) ####

DatosP=load('ProgCotaEjercicio1.txt'); %Progresiva y Cota Local


X=DatosP(:,1); %Progresiva
Y=DatosP(:,2); %Cota Local

xs=[X(1):1:X(34)];
ys=interp1(X,Y,xs);
A=[]; %Calculo del área
for j=1:length(H)
Aj=0;
for i=1:length(ys)
if H(j)>=ys(i)
Ap=(xs(i+1)-xs(i))*(H(j)-ys(i))+(xs(i+1)-xs(i))*abs(ys(i+1)-
ys(i))/2;
Aj=Aj+Ap;
endif
endfor
A=[A Aj];
endfor
A=A';

P=[]; %Calculo del perímetro mojado


for j=1:length(H)
Pj=0;
for i=1:length(ys)
if H(j)>=ys(i)
Pp=sqrt((xs(i+1)-xs(i))^2+(ys(i+1)-ys(i))^2);
Pj=Pj+Pp;
endif
endfor
P=[P Pj];
endfor
P=P';

R=[A./P]; %Radio hidráulico


k=Q./(A.*R.^(2/3));

o=178;

p1=polyfit(H(1:o),k(1:o),1);
p2=polyfit(log10(H(o:194)-Ho),log10(k(o:194)),1);

r1=corrcoef(H(1:o),k(1:o));
r2=corrcoef(log10(H(o:194)-Ho),log10(k(o:194)));
figure(3)
plot(H,k,'.r','Markersize',12)
hold on
plot(H(1:o),p1(1).*H(1:o)+p1(2),'b','Linewidth',2)
plot(H(o:194),(10^p2(2)).*(H(o:194)-Ho).^p2(1),'b','Linewidth',2)
legend ({'Mediciones'},'fontsize',14,'location','northwest')
xlabel('H','FontName','Arial','FontSize',18)
ylabel('k','FontName','Arial','FontSize',18)

Af=0;
for i=1:length(ys)
if 6.8>=ys(i)
Ap=(xs(i+1)-xs(i))*(6.8-ys(i))+(xs(i+1)-xs(i))*abs(ys(i+1)-
ys(i))/2;
Af=Af+Ap;
endif
endfor
Af;
Pf=0;
for i=1:length(ys)
if 6.8>=ys(i)
Pp=sqrt((xs(i+1)-xs(i))^2+(ys(i+1)-ys(i))^2);
Pf=Pf+Pp;
endif
endfor
Pf;
Rf=Af/Pf;
kf=(10^p2(2)).*(6.8).^p2(1);

Qf=kf.*Af.*Rf.^(2/3)

#### Parte (c) #### ...requiere parte (b) comentada

o1=13;
o2=130;
o3=194;
era1=(Q(1:o1)-(10^p1(2))*(H(1:o1)-Ho).^p1(1));
era2=(Q(o1:o2)-(10^p2(2))*(H(o1:o2)-Ho).^p2(1));
era3=(Q(o2:o3)-(10^p3(2))*(H(o2:o3)-Ho).^p3(1));

eratot=[era1;era2;era3];
DestAb=std(eratot)

#### Parte (d) #### ...requiere parte (b) comentada

errb=[];
errm=[];
erra=[];

for i=1:o1
if Q(i)<50
errb=[errb (Q(i)-(10^p1(2))*(H(i)-Ho).^p1(1))./Q(i)];
elseif Q(i)>200
erra=[erra (Q(i)-(10^p1(2))*(H(i)-Ho).^p1(1))./Q(i)];
else
errm=[errm (Q(i)-(10^p1(2))*(H(i)-Ho).^p1(1))./Q(i)];
endif
endfor

for i=o1:o2
if Q(i)<50
errb=[errb (Q(i)-(10^p2(2))*(H(i)-Ho).^p2(1))./Q(i)];
elseif Q(i)>200
erra=[erra (Q(i)-(10^p2(2))*(H(i)-Ho).^p2(1))./Q(i)];
else
errm=[errm (Q(i)-(10^p2(2))*(H(i)-Ho).^p2(1))./Q(i)];
endif
endfor
for i=o2:o3
if Q(i)<50
errb=[errb (Q(i)-(10^p3(2))*(H(i)-Ho).^p3(1))./Q(i)];
elseif Q(i)>200
erra=[erra (Q(i)-(10^p3(2))*(H(i)-Ho).^p3(1))./Q(i)];
else
errm=[errm (Q(i)-(10^p3(2))*(H(i)-Ho).^p3(1))./Q(i)];
endif
endfor

DestRbajos=std(errb)
DestRmedios=std(errm)
DestRaltos=std(erra)

You might also like