rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
u_index_aus.m
1 function [u_index]=u_index_aus(u,index)
2 %
3 % Liest aus dem globalen Loesungsvektor u die Werte an den Indexstellen
4 % aus.
5 %
6 % Input: u globaler Loesungsvektor
7 % index Indexmenge fuer lokale Lsg.
8 %
9 % Output: u_index Lsg u an den angegebenen Indexstellen
10 
11 
12 index = sort(index);
13 Ie = [];
14 Ia = 1;
15 u_index = [];
16 for i=1:length(index)-1;
17  if index(i+1)-index(i)==0
18  error('Index kommt doppelt vor');
19  elseif index(i+1)-index(i)>1 % Zusaetzliche Abfrage, dass mind 5 aufeinanderfolgende Werte
20  Ia = [Ia, i+1];
21  Ie = [Ie, i];
22  end
23 end
24 Ie = [Ie,length(index)];
25 
26 for i=1:length(Ie)
27  ni = Ie(i)-Ia(i)+1; % Anzahl aufeinanderfolgender Stuetzstellen
28  if ni<=4
29  error('Zu wenig aufeinanderfolgende Stuetzstellen.')
30  end
31 
32  uc = u(index(Ia(i)):index(Ie(i)));
33  u_index = [u_index; uc];
34 end