T(1:end,1)=295.1; %[K] --> 21,95°C Anfangstemperatur auf der Bohrlochwand
T(1,1:end)=295.1;
hold on;
contourf(x, y, T);
% shading interp;
%colormap(flipud(jet));
Ja über Mesh grid habe ich es auch schon versucht, aber weil mesh Grid den x koordinaten Matrix xmesh und den y koordinaten Matrix ymesh zeilen und spalten vertauscht darstellt, muss ich über xmesh=xmesh' dies ändern; das ergebnis ist das nur ein Gerade dargestellt wird
Ja über Mesh grid habe ich es auch schon versucht, aber weil mesh Grid den x koordinaten Matrix xmesh und den y koordinaten Matrix ymesh zeilen und spalten vertauscht darstellt,
Meine Berechnung stimmt aber nur wenn die Zellen-Werte von xmesh = ymesh übereinstimmen; so ist zb. xmesh(1,5) = 0.1385 ; ymesh(1,5) = 0; bin da gerade verwirrt
Meine Berechnung stimmt aber nur wenn die Zellen-Werte von xmesh = ymesh übereinstimmen
das bezweifel ich ehrlich gesagt ^^ das macht keinen sinn
dann berechnest du einfach 53 mal die selben koordinaten ^^
Zitat:
so ist zb. xmesh(1,5) = 0.1385 ; ymesh(1,5) = 0;
und wo ist das problem =?
du berechnest also z für den wert (0.1385,0) sehe da keine schwierigkeiten.
Ne stimmt du hast vollkommen Recht, ich stand auf dem Schlauch; Was mich jetzt noch irritiert ist die Tatsache, dass mein Code keine konzentrischen Kreise zeigt, was mein eigentliches Ziel ist
ich denke es liegt am zeit vektor. der hat ja quasi eine "orientierung". warum nimmt er in zeilenrichtung zu und nicht in spaltenrichtung? das muss irgendwie anders laufen. du rechnest quasi ja an jeder stelle mit einer anderen zeit. du hast ja selber dazugeschrieben das da eine feste zeit hin muss ^^ wenn du das berücksichtigst ist das ergebniss das erwartete ^^ wenn du quasi einen zeitlichen verlauf haben willst würde ich dann vieleicht in die 3. diemension arbeiten. dann kannst du auch zb ein movie erstellen von der ausbreitung.
so ich geh jetzt pennen. weitere antworten dann erst morgen von meiner seite
_________________
wenn du quasi einen zeitlichen verlauf haben willst würde ich dann vieleicht in die 3. diemension arbeiten.
Vielen Vielen Dank für den Hinweis auf die Zeit-Matrix; ich versuche jetzt den T MAtrix in die 3 Dimension zu "heben"; dein hinweis hat viel Frust erspart ^^
(...) dann kannst du auch zb ein movie erstellen von der ausbreitung.
Diesen Hinweis fand ich ganz interessant; ich habe meinen Code soweit überarbeitet, dass ich die Zeit Matrix in die 3D Ebene "gehievt" habe; jetzt möchte ich nur noch automatisiert für jede Zeit Matrix i=1:53 jeweils einen contourf plot erstellt haben
Code:
% -------------------Konstanten------------------------------
lambda_sand=2.82; % [W/mK] --> Waermeleitfaehigkeit Sand
alpha_sand=8.81*10^-7; % [m^2/s] --> Temperaturleitfaehigkeit Sand
T0=zeros(53,53); % Leermatrix mit 53 Spalten und 1 Zeile
T0=295.24+T0; % [°K] --> ungest. Untergrundtemperatur 22.09°C
q=57.7; % [W/m] --> Entzugsleistung
xk=0.9; % [m] --> x Koordinate des Sondenmittelpunktes
yk=0.9; % [m] --> y Koordinate der Sondenmittelpunktes
T=zeros(53,53); % gleiche Spaltenanzahl wie Zeitvektor
%---------------------Mesh aufbauen-----------------------------
[xmesh,ymesh]=meshgrid(0:1.8/52:1.8,0:1.8/52:1.8); %x und y Achse von 0 bis 1.8 m mit 51 "Zwischenschritten"
%---------------------Zeit Matrix aufbauen-----------------------------
tmin=0; % [s] Startzeit
tmax=187200; % [s] --> 52 Stunden
zeitschritt=(tmax-tmin)/52; %3600s Zeitintervallbreite (=1h)
zeit = [tmin:zeitschritt:tmax]'; %Zeitvektor aufspannen; Zeitvektor für die for Schleife
zeit=repmat(zeit,1,53); %Vektor erweitern auf 53*53 Matrix
time=zeros(53,53); % Zeit Vektor für die Berechnung und Erweiterung als 3D Matrix for i = 1:53 %53 Dimensionen, die die 52 Stunden TRT Test repräsentieren
d=zeit(i,:);
d=d';
d=repmat(d,1,53);
time(:,:,i)=d; %jede Dimension enthält eine 53 mal 53 Matrix mit demselben Zeit Eintrag
end
%---------------------Infinite Linienquelle nach Mendez-----------------
for i = 1:53
T(:,:,i)=T0+q/(4*pi*lambda_sand).*expint(((xmesh-xk).^2+(ymesh-yk).^2)./(4*alpha_sand*time(:,:,i))); %feste Zeit einbauen zb52 stunden = 187200s
hold on;
contourf(xmesh, ymesh, T(:,:,i));
% shading interp; % colormap(flipud(jet)); end
die anhebung in die 3. dimension hatte ich nur vorgeschalgen um eventuell eine schleife auszulassen. bei 53 werten ist allerdings eine schleife kein problem.
Code:
% -------------------Konstanten------------------------------
lambda_sand=2.82; % [W/mK] --> Waermeleitfaehigkeit Sand
alpha_sand=8.81*10^-7; % [m^2/s] --> Temperaturleitfaehigkeit Sand
T0=zeros(53,53); % Leermatrix mit 53 Spalten und 1 Zeile
T0=295.24+T0; % [°K] --> ungest. Untergrundtemperatur 22.09°C
q=57.7; % [W/m] --> Entzugsleistung
xk=0.9; % [m] --> x Koordinate des Sondenmittelpunktes
yk=0.9; % [m] --> y Koordinate der Sondenmittelpunktes
T=zeros(53,53,53); % gleiche Spaltenanzahl wie Zeitvektor
%---------------------Mesh aufbauen-----------------------------
[xmesh,ymesh]=meshgrid(0:1.8/52:1.8,0:1.8/52:1.8); %x und y Achse von 0 bis 1.8 m mit 51 "Zwischenschritten"
%---------------------Zeit Matrix aufbauen-----------------------------
tmin=0; % [s] Startzeit
tmax=187200; % [s] --> 52 Stunden
zeitschritt=(tmax-tmin)/52; %3600s Zeitintervallbreite (=1h)
zeit = [tmin:zeitschritt:tmax]'; %Zeitvektor aufspannen; Zeitvektor für die for Schleife
%---------------------Infinite Linienquelle nach Mendez-----------------
for i = 1:53
T(:,:,i)=T0+q/(4*pi*lambda_sand).*expint(((xmesh-xk).^2+(ymesh-yk).^2)./(4*alpha_sand*zeit(i))); %feste Zeit einbauen zb52 stunden = 187200s
hold on;
contourf(xmesh, ymesh, T(:,:,i));
drawnow pause(0.1) % shading interp; % colormap(flipud(jet)); end
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.