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