function [U]=struna(l,n,f,k)
%[U]=struna(l,n,f,k)
%
% Funkce vypocte a vykresli prohnuti struny zatizene silou s konstantni hustotou f,
% tj. vyresi rovnici -k*u''(x) = f s okrajovou podminkou u(0)=u(l)=0.
%
% l ... delka struny
% n ... pocet deleni
% f ... konstantni hustota sily pusobici na strunu
% k ... tuhost struny
%
% U ... vysledna deformace struny


% 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));
F=f*ones(n+1,1);

% 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

