How to create surface from stacked 2D plots?

3 visualizaciones (últimos 30 días)
DFfd
DFfd el 26 de Ag. de 2020
Comentada: Star Strider el 26 de Ag. de 2020
I want to create a 3-d plot showing how the stability range (b_kx,b_ky) change depending on the time delay of the system (z-Axis). I can stack (b_kx,b_ky) plots by using plot3d (b_kx, b_ky, T) for each T. How can I smoothly create a surface connecting each of the individual plots?

Respuesta aceptada

Star Strider
Star Strider el 26 de Ag. de 2020
It would help to have your data. Lacking them, adapt this approach to your data.
This should get you started:
t = linspace(0, 2*pi, 60); % Parameter Vector
crcx = cos(t); % Circle X
crcy = sin(t); % Circle Y
rv = randi([2 10], 10, 1); % Radius Vector
crcxm = rv*crcx; % Circle X Matrix
crcym = rv*crcy; % Circle Y Matrix
figure
surf(crcxm, crcym, 2*(1:10)'+ones(size(crcxm))) % Plot Surface
grid on
axis equal
view(30,25)
shading('interp') % Optional
producing (for this random radius vector):
So with your data, create matrices from the individual circles by vertically concatenating their x and y coordinates (make them equal lengths using a common angle vector and interp1 if they are not already equal), then plot that with a z matrix created by adding a column vector of the ‘T’ values by an appropriate ones matrix as I did here. They all appear to have a common centre, so that should not be a problem.
.
  2 comentarios
DFfd
DFfd el 26 de Ag. de 2020
Thanks. It worked perfectly.
Basically what I have to do is running surf(b_kx,b_ky,T+zeros(size(b_kx))) in which b_kx and b_ky are matrices with length(T) amount of columns, each column representing a set of data under one time delay setup.
Star Strider
Star Strider el 26 de Ag. de 2020
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by