1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| clear all
%% file wird gelesen und bearbeitet
fichier='massenstrom_tutorium_gruppe2.txt';
fid=fopen(fichier,'r'); % oeffnet den file
X=fread(fid); %liesst den file
fclose(fid); %schliess den file
X=strrep(X,',','.'); %matlab erkennt nur die "." deswegen muss man alle kommas veraendern
fichier2='massenstrom_tutorium_gruppe2_b.txt'; %neuen file korrigiert
fid=fopen(fichier2,'w');
fwrite(fid,X);
fclose(fid);
fichier='massenstrom_tutorium_gruppe2_b.txt';
fid=fopen(fichier,'r');
C = textscan(fid,'%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s','headerLines',1);%den file wird gelesen und alle Schrifte werden gesprungen
fclose(fid);
C=cell2mat( cellfun(@str2double,C,'UniformOutput',false) ); %die fruehere matrix besteht aus Zellen und wir mussen sie in eine numerische matrix verwandeln
%% von polar koordinaten--->kartesianische koordinaten
THETA=[-pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -pi -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -(3*pi)/4 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 -pi/4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/4 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 pi/2 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 (3*pi)/4 pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi];
RADIUS=[0.220 0.2 0.18 0.16 0.140 0.130 0.120 0.110 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.025 0.02 0.015 0.01 0.005 0 0.220 0.2 0.18 0.16 0.140 0.130 0.120 0.110 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.025 0.02 0.015 0.01 0.005 0 0.220 0.2 0.18 0.16 0.140 0.130 0.120 0.110 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.025 0.02 0.015 0.01 0.005 0 0.220 0.2 0.18 0.16 0.140 0.130 0.120 0.110 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.025 0.02 0.015 0.01 0.005 0 0.220 0.2 0.18 0.16 0.140 0.130 0.120 0.110 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.025 0.02 0.015 0.01 0.005 0 0.220 0.2 0.18 0.16 0.140 0.130 0.120 0.110 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.025 0.02 0.015 0.01 0.005 0 0.220 0.2 0.18 0.16 0.140 0.130 0.120 0.110 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.025 0.02 0.015 0.01 0.005 0 0.220 0.2 0.18 0.16 0.140 0.130 0.120 0.110 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.025 0.02 0.015 0.01 0.005 0 0.220 0.2 0.18 0.16 0.140 0.130 0.120 0.110 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.025 0.02 0.015 0.01 0.005 0];
%[x,y]=pol2cart(THETA,RADIUS);
%%von einen linien vektor zu einen Spalten vektor
%x=x';
%y=y';
THETA=THETA';
RADIUS=RADIUS';
%%rechnen von der geschwindigkeit
[l,m]=size(C);
i=1;
for a=1:l
density=C(a,40)/(287*(C(a,42)+273.15));
Density(a,1)=density;
B(a,1)=density;
for b=39:-1:18
geschwindigkeit(i,1)=sqrt((2*(C(a,b)-C(a,40)))/density)
%massenstrom(i,1)=density*geschwindigkeit(i,1);
i=i+1;
end
end
density=mean(Density(:,1));
% Les bornes du domaine
rint =0; rext = 0.220;
[xext,yext] =pol2cart(linspace(0,2*pi,100),repmat(rext,1,100));
[xint,yint] = pol2cart(linspace(0,2*pi,100),repmat(rext-rint,1,100));
% Quelques valeurs "connues"
z = geschwindigkeit;
[x,y] = pol2cart(THETA,RADIUS);
% figure(1) % Affichage valeurs "connues" dans repere cartesien
% Grille interpolation dans repere polaire
[R,T] = meshgrid(linspace(rint,rext,300),linspace(-pi,pi,100));
% Interpolation dans repere polaire (domaine convexe)
zi = griddata(RADIUS,THETA,z,R,T,'cubic');
A=density.*zi(:,:);
B=trapz(T(:,1),A);
massenstrom=trapz(R(1,:),B);
[X,Y] = pol2cart(T,R);
figure(1)
contourf(X,Y,zi,40)
% surf(X,Y,zeros(size(X)),zi,'edgecolor','none')
colorbar
view(2)
axis equal tight |
Partager