# Finding a change in a variable due to a change in another variable

6 views (last 30 days)
Anirban Mandal on 11 Nov 2021
Commented: Star Strider on 12 Nov 2021
I want to write a code for finding potential temperature. There I want to fix temperature. And at that temperature level, I want to calculate potential temperature varying the pressure. Then for different temperatures, I want to repeat the process. For more info about potential temperature, check this-Potential temperature. But the problem with temperature is that I can't just pick any arbitrary interval or change in temperature value. In atmosphere, there is a term called lapse rate. There temperature changes in a certain manner, i.e 6.5K/100hPa. I want to implement this change in my temperature range, How can I do this? I have chosen 300K as the base temperature and 1010hPa as base pressure.
p=200:1000;
t=210:305;
for i=1:length(t)
for j=1:length(p)
theta(i,j)=t(i)*((1000/p(j))^0.286);
end
end
figure
contourf(t,p,theta')
set(gca,'YDir','reverse')
##### 2 CommentsShowHide 1 older comment
Anirban Mandal on 12 Nov 2021
I have explained above what I want to do. If you go throught the code you can understand my intention.

Star Strider on 11 Nov 2021
Edited: Star Strider on 11 Nov 2021
See if the griddedInterpolant function will produce the desired result
p=200:1000;
t=210:305;
[P,T] = ndgrid(p,t);
Z = T.*((1000./P).^0.286);
PT = griddedInterpolant(P,T,Z);
P760_T273 = PT(760,273) % Potential Temperature At P=760 & T=273
P760_T273 = 295.2908
EDIT — (11 Nov 2021 at 13:04)
An anonymous function would also work —
PTfcn = @(P,T) T.*((1000./P).^0.286);
P760_T273f = PTfcn(760,273)
P760_T273f = 295.2908
.
##### 2 CommentsShowHide 1 older comment
Star Strider on 12 Nov 2021
As always, my pleasure!
I admit that I was not absolutely certain what the desired result was. (A similar relation, important in aviation, is Density altitude.)
.