How to create an average vertical profile across a channel from irregular 3d spatial and vertical data
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to produce an average profile of the variable with height across the cross section of the channel. I'm assuming I need to interpolate this data onto a regular grid but I'm not sure how to go about this...
*EDIT for clarity*
At each node there is a sample of temperature at 20 depth locations - for example 5 metres, 10 metres - though the depths are spaced irregularly as they vary depending on the full depth of the channel at each node.
depthsatnode has the depth at which each measurement has been taken for each node.
temp/salinityatnode is the temperature.salinity value at each depth for each node.
The red box can be considered a volume, that I want to convert into one single cross section for e.g. temperature in the channel.
If you were to look at the cross section in the same overview I posted the box in you would only see a line, as it would then be a single average vertical cross-section across the channel.
---
I also want to do this over time but if it comes to it I'll just create numerous versions of this profile and average the results.
Right now I have
- xnode (1x54) - (x coordinate of nodes)
- ynode (1x54) - (y coordinate of nodes)
- depthsatnode (20x54) - depths of the 20 variables at each of the 54 nodes
- tempatnode (20x54) - temperature of the 20 heights at each of the 54 nodes
- sal at node (20x54) - salinity of the 20 heights at each of the 54 nodes
0 commentaires
Réponses (3)
Image Analyst
le 9 Août 2014
Modifié(e) : Image Analyst
le 9 Août 2014
Can you use scatteredInterpolant and turn it into a 2D array? If so, it's trivial then with the mean() or mean2() function.
You can handle it as three separate 2-D matrices if you want, one for depthsatnode, one for tempatnode, and one for salatnode.
4 commentaires
Image Analyst
le 9 Août 2014
I still think you need to do scatteredInterpolant. ight need to use interp3() if you can't figure out scatteredInterpolant(). But somehow you need to get this into two regular 3D volumetric arrays. One volumetric array for each of your measurements. After that, it's easy. You have x and y. The z values would be your depths and I'm assuming that every (x,y) pair has 20 z (depth) values associated with it. So you have x, y, and Z and the values are the temps and salinity.
OUC Polar
le 2 Oct 2015
Hi, This kind of like my question. http://cn.mathworks.com/matlabcentral/answers/246211-how-to-draw-a-3d-profile-section-with-map-background Do you solve this problem?
0 commentaires
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!