Finding a change in a variable due to a change in another variable
6 views (last 30 days)
Show older comments
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')
Accepted Answer
Star Strider
on 11 Nov 2021
Edited: Star Strider
on 11 Nov 2021
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
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)
.
2 Comments
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.)
.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!