rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
HMM_UM_GESCHW_BL.m
1 function [v,um]=HMM_UM_GESCHW_BL(u2,dx,n_x)
2 %
3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4 %%% Berechnung des mittleren Zustands um und der Geschwindigkeit %%%
5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6 %
7 % function [v,um]=HMM_UM_GESCHW(u2,dx,n_x)
8 %
9 % Input: u2 L?sung des mikroskopischen Modells
10 % dx, n_x mikroskopische Ortsschrittweite bzw. Anzahl
11 % mikroskopischer Ortsschritte
12 % Output: v Geschwindigkeit der Unstetigkeit
13 % um mittlerer Zustand
14 
15 
16 % Bestimmung der Geschwindigkeit v der Unstetigkeit.
17 % Bestimme in u die Stelle der Komponente, bei der die Steigung am geringsten
18 % ist, bevor sie wieder zum ersten mal steigt. Somit erhaelt man den
19 % Zwischenzustand um.
20 
21 
22 u2 = u2(end:-1:1); % Vekor umdrehen
23 
24 
25 
26 a=(u2>=0.5);
27 k=find(a==1, 1 );
28 S=zeros(1,n_x);
29 for i=k+1:n_x
30  S(i)=abs((u2(i)-u2(i-1))/dx);
31 end
32 b=S(k+1:end);
33 S(1:k)=-1; % damit spaeter nicht M darin liegt.
34 l=[];
35 for j=2:length(b)
36  if b(j)>b(j-1) % BESSER MIT ABBRUCHKRITERIUM IMPLEMENTIEREN
37  l=[l j];
38  end
39 end
40 z=l(1);
41 m=b(z-1);
42 M=find(S==m);
43 L=M(1);
44 
45 % Wert des Zwischenzustandes
46 um=u2(L);
47 
48 % Berechnung der Geschwindigkeit mit Rankine-Hugoniot-Bedingung
49 v=BL_f(um,2)/um;