Creating a circular contour from radial datasets

7 visualizaciones (últimos 30 días)
Marc
Marc el 16 de Feb. de 2024
Comentada: William Rose el 16 de Feb. de 2024
I've never used contours in Matlab, and I made 0 progress on my case so far. Here's my problem:
My data is stored in multiple radial datasets (six in this example), the discrete points are defined in polar coordinates and/or cartesian. I'd prefer cartesian. My data points are shown in the left picture.
For every Point [y,z], i have a value for my contour data. Lets call it [Fz]. Now i want to create a contour plot, that looks like the right picture. In the "real" case, I have 120 radial datasets 0°:3°:360°, so i do not really rely on interpolation that makes the contour look like a perfect circle as shown in the right picture. What i do need, is the hole in the middle. The contour shall only be plotted for inbetween r_min and r_max.
I have attached my example workspace. Blade1, Blade2, Blade3,... are the radial stations at 0°:60°:360°
Thanks in advance, i really gave up on this one..

Respuesta aceptada

Voss
Voss el 16 de Feb. de 2024
S = load('example.mat');
Blades = [S.Blade1 S.Blade2 S.Blade3 S.Blade4 S.Blade5 S.Blade6];
Blades_plot = Blades([1:end 1]);
y = [Blades_plot.y];
z = [Blades_plot.z];
Fx = [Blades_plot.Fx];
contourf(y,z,Fx)
  3 comentarios
Voss
Voss el 16 de Feb. de 2024
You're welcome!
William Rose
William Rose el 16 de Feb. de 2024
Yet another nice answer from @Voss. You can like it.
When you are plotting a physical object, you probably want the aspect ratio to be correct, i.e. 1 cm along x axis equals 1 cm along y. Try
axis equal
to make it so.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Contour Plots en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by