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

3 views (last 30 days)
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.
for i=1:length(t)
for j=1:length(p)
Anirban Mandal
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.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 11 Nov 2021
Edited: Star Strider on 11 Nov 2021
See if the griddedInterpolant function will produce the desired result
[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
Star Strider
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.)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!