function [U]=most(l,n,g,f,alfa,k)
%[U]=most(l,n,g,f,alfa,k)
%
% Funkce vypocte a vykresli prohnuti mostu zatizeneho gravitacni silou s konstantni hustotou g a
% bodovou silou f v bode alfa \in <0,l>
% tj. vyresi rovnici -k*u''(x) = g + f*delta_alfa(x) s okrajovou podminkou u(0)=u(l)=0.
%
% l    ... delka mostu
% n    ... pocet deleni
% g    ... konstantni hustota gravitacni sily pusobici na most
% f    ... bodova sila pusobici na most v bode alfa
% alfa ... bod, ve kterem pusobi na most bodova sila f
% k    ... tuhost mostu
%
% U ... vysledna deformace mostu


% PREPROCESSING

% Diskretizace
h=l/n;

% Sestaveni soustavy po diskretizaci
A=(1/h^2)*(diag(2*ones(n+1,1)) + diag(-ones(n,1),1) + diag(-ones(n,1),-1));

index=round(alfa/h)+1;
F=g*ones(n+1,1);
F(index)=F(index)+f;

% Dirichletova podminka
A([1,n+1],:)=zeros(2,n+1);
A(:,[1,n+1])=zeros(n+1,2);
A([1,n+1],[1,n+1])=eye(2,2);

F(1)=0;
F(n+1)=0;


% SOLVER

% Reseni soustavy
U = (k*A)\F;


% POSTPROCESSING

% Vykresleni reseni
x=0:h:l;
plot(x,U)

%end

