%Wesley Donald

%C.E. Analysis

%Project

%Bisection

 

clear

clc

Q=5;

S=2/10000;

B=20; %ft.

xl(1)=.5;

xu(1)=10;

n=.03;

xr(1)=5.5;

err(1)=100;

fprintf('xr            error\n')

while err>.01

for i= 1:20

    

    fxl(i)=((S^(1/2))/n)*(((B*xl(i))^(5/3))/((B+(2*xl(i)))^(2/3)))-Q;

    fxu(i)=((S^(1/2))/n)*(((B*xu(i))^(5/3))/((B+(2*xu(i)))^(2/3)))-Q;  

    fxr(i)=((S^(1/2))/n)*(((B*xr(i))^(5/3))/((B+(2*xr(i)))^(2/3)))-Q;

  

    if fxl(i)*fxr(i)<0

        xu(i+1)=xr(i);

        xl(i+1)=xl(i);

    elseif fxl(i)*fxr(i)>0

        xl(i+1)=xr(i);

        xu(i+1)=xu(i);

     end

     xr(i+1)=(xl(i+1)+xu(i+1))/2;

    err(i+1)=abs(((xr(i+1)-xr(i))/xr(i+1))*100);

 

end

 [xr' err']

end

 

 

xr            error

 

ans =

 

    5.5000  100.0000

    3.0000   83.3333

    1.7500   71.4286

    1.1250   55.5556

    0.8125   38.4615

    0.6563   23.8095

    0.7344   10.6383

    0.6953    5.6180

    0.7148    2.7322

    0.7051    1.3850

    0.7002    0.6974

    0.7026    0.3475

    0.7014    0.1740

    0.7020    0.0869

    0.7023    0.0435

    0.7022    0.0217

    0.7023    0.0109

    0.7023    0.0054

    0.7023    0.0027

    0.7023    0.0014

    0.7023    0.0007

 

 %Wesley Donald

%C.E. Analysis

%Project

%fzero

clear

clc

 

 

[H,fH]=fzero(inline('(.0002^.5/.03)*((20*H)^(5/3))/((20+2*H)^(2/3))-5'),1)

 

H =

 

    0.7023

 

 

fH =

 

     0

 

%Wesley Donald

%C.E. Analysis

%Project

%Newton Raphson

clear

clc

x=1;

for i=1:7

    f(i)=.471405*(((20*x(i))^1.66666667)/((20+(2*x(i)))^.666666667))-5;

    fprm(i)=((43.76467)*x(i)^(2/3))*(x(i)+16.6667)/((x(i)+10)^1.66666667);

    x(i+1)=x(i)-(f(i)/fprm(i));

    err(i+1)=abs(((x(i+1)-x(i))/x(i+1))*100);

   end

x=[x']

f=[f']

fprime=[fprm']

error=[err']

 

x =

 

    1.0000

    0.7292

    0.7026

    0.7023

    0.7023

    0.7023

    0.7023

    0.7023

 

 

f =

 

    3.8477

    0.3150

    0.0035

    0.0000

    0.0000

    0.0000

         0

 

 

fprime =

 

   14.2110

   11.8179

   11.5583

   11.5553

   11.5553

   11.5553

   11.5553

 

 

error =

 

         0

   37.1278

    3.7936

    0.0428

    0.0000

    0.0000

    0.0000

         0

 

%Wesley Donald

%C.E. Analysis

%Project

%Secant Method

function  OCSecant(hi, dh)

iter=0;

disp('iteration    h          Error%')

while (1)

del = hi* dh;

 

hnew=hi-(del*f(hi))/(f(hi+del)-f(hi));

err = abs((hnew-hi)/hnew)*100;

iter=iter+1;

 

if err<=0.01

    break

end

hi=hnew;

fprintf('%4d       %7.4f    %3.5f\n',iter,hnew,err)

end

 

River_Depth=hi

 

 

%Wesley Donald

%C.E. Analysis

%Project

%Divergent Point Iteration

clear

clc

hi=0;

B=20;

Q=5;

n=.03;

S=.0002;

 

 

disp('Iteration      H          Error')

disp('   1        0              N.A.')

iter=1;

hplus1=hi;

while(1);

    hinit=hplus1;

    hplus1=(.5)*(((S^3*(B*hinit)^(5/2))/(Q*(n^(3/2))))-B);

    err=abs((hplus1-hinit)/(hplus1)*100);

    iter=iter+1;

    if err<=0.0001;

        break

    end

    fprintf('%4d        %3.5f      %3.5f\n',iter,hplus1,err)

end

 

 

Iteration      H          Error

   1        0              N.A.

   2        -10.00000      100.00000

   3        -10.00000      0.00087

 

%Wesley Donald

%C.E. Analysis

%Project

%Working Point Iteration

clear

clc

hi=0;

B=20;

Q=5;

n=.03;

S=.0002;

 

 

disp('Iteration      H          Error')

disp('   1        0            N.A.')

iter=1;

hplus1=hi;

while(1);

    hinit=hplus1;

    hplus1=((Q*n)^(3/5))*((B+2*hinit)^(2/5)/(B*S^.3));

    err=abs((hplus1-hinit)/(hplus1)*100);

    iter=iter+1;

    if err<=0.0001;

        break

    end

    fprintf('%4d        %3.5f      %3.5f\n',iter,hplus1,err)

end

 

 

Iteration      H          Error

   1        0            N.A.

   2        0.68348      100.00000

   3        0.70180      2.60989

   4        0.70228      0.06850

   5        0.70229      0.00180