How to plot quiver with an input of Temperature data?
1 次查看(过去 30 天)
显示 更早的评论
I have temperature data of a sample (V=(28,30,4997)). Each V(:,:,i) is a matrix with temperature values. I want to plot a quiver of temperature dissipation/accumulation and temperature image at the same time but i am a bit confused with inputs for u and v vectors. What u and v should be if i have only matrices of temperature?
My code:
[x,y]=meshgrid(1:1:30,1:1:28);
k=4997;
cnt=0;
for i=1:k
u(:,:,i)=V(:,:,i);
v(:,:,i)=V(:,:,i);
%figure
imagesc(V(:,:,i));
hold on
axis tight
q=quiver(x,y,u(:,:,i),v(:,:,i))
q.AutoScale='on';
q.AutoScaleFactor=0.8;
colormap jet
cnt=i;
title(cnt);
pause (0.1)
end
0 个评论
采纳的回答
Bjorn Gustavsson
2019-8-16
Presumably your heat-flux is just proportional to the temperature gradient (assuming constant and isotropic heat conductivity), for that I would start with:
[dTdx,tTdy] = gradient(V(:,:,i));
u(:,:,i) = -heat_conductivity*dTdx;
v(:,:,i) = -heat_conductivity*dTdy;
If you want total change in thermal energy per pixel you'll have to add local heating and subtract local cooling, for this the contribution of heat condution will be proportional to the divergence of the heat-flux. If you image a fluid that moves you'll also have to take the effect of convection into account. If the above suggestion doesn't work you have to clarify your question.
HTH
3 个评论
Bjorn Gustavsson
2019-8-16
Typically the temperature in a volume is determined by an energy-equation, right? That would look something like this:
Where n, T, v, Q and L are functions of both time and position (there are a couple of numerical factors left out in the equation above). Term on left-hand side is the time-variation of temperature, the right-hand side describes the various contributions to temperature variations - convection, compression (i.e. change due to divergence of particle flow), divergence of heat-flux, local heating and local cooling. Now, since you have a sequence of images of the temperature-variation, you shouldn't need to bother too much with the above equation (losely valid for gas-temperature distribution with arbitrary wind field and local heating and cooling sources.)
You should get the local change in temperature simply from the difference between consecutive temperature-images:
where dT is positive the temperature has increased and also the thermal energy. If you look at the difference images and compare with the quiver-plot of the tempeature gradient you should be able (in the best case) to see if you have regions with net influx (or outflux) of thermal energy.
HTH
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Vector Fields 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!