% Differenzenverfahren, Biegeschwingungen
% Differenzenverfahren (Beispiel 1, n Gleichungen, Bandmatrix)

clear all

L    = 1    ;
rhoA = 3    ;
EI   = 3000 ;

nA  = 1000  ;           % Anzahl der Abschnitte
h   = L/nA ;
n   = nA-1 ;
A   = zeros (n,3) ;     % Nullmatrix
B   = ones  (n,1) ;     % Einheitsmatrix (als Bandmatrix)

A(1,:) = [7 -4  1] ;    % Aufbau der Matrix A als Bandmatrix
A(2,:) = [6 -4  1] ;
for i=3:n-2
    A(i,:) = [6 -4  1] ;
end
A(n-1,:) = [6 -4 0] ;
A(n  ,:) = [5  0 0] ;

[nc ev Z] = isiasb_m (A,B,3) ;   % ... berechnet die 3 kleinsten Eigenwerte
                                 %     und die zugehoerigen Eigenvektoren
Eigenfrequenzen = sqrt(ev(1:nc)*EI/(rhoA*h^4))/(2*pi)

z = 0 : h : L ;
for i = 1:nc          % nc - Anzahl der tatsaechlich berechneten Eigenwerte
    subplot (nc,1,i) ; plot (z , [0 ; Z(:,i) ; 0]) , grid on , ... 
             title (strcat(num2str(i),'. Eigenschwingungsform')) ;
end