plot 5 indipendent vectors in 3D plot

1 回表示 (過去 30 日間)
Francesco Porretta
Francesco Porretta 2021 年 9 月 4 日
回答済み: darova 2021 年 9 月 8 日
I have 5 vectors of related elements, in the sense that the first element of vector A is connected to the first elements of vectors B, C, D, E, the second with the seconds, and so on: they represents the x, y, z, phi and delta coordinates of points.
I'm searching for a way to plot this vectors as surface plot or scatterplot, but I really don't know if it is possible to do.
Someone can help??
  2 件のコメント
darova
darova 2021 年 9 月 5 日
Please explain more: how the vectors are connected? Can you attach some picture or data?
Francesco Porretta
Francesco Porretta 2021 年 9 月 8 日
okay, sorry. Let's make an example:
x = [1 2 3]
y = [4 5 6]
z = [7 8 9]
phi = [0 30 0]
delta = [1 3 5]
x, y, z and phi represent the coordinates of 3 points, and delta their characteristics. For example, the point [x,y,z,phi] = [1,4,7,0] has characteristic delta = 1.
I'm searching for a way for rapresents the 3 points and their respective characteristics as a surface, where the colour represents the caracteristic of each point on this surface.
Hoping it is more clear, I'm sorry, it is my fault.

サインインしてコメントする。

採用された回答

darova
darova 2021 年 9 月 8 日
Just use griddata to interpolate data
Delta is represented by color.
x = 20*rand(100,1)-10; % surface coordinates
y = 20*rand(100,1)-10;
r = hypot(x,y);
z = -r.^2/10;
delta = sin(r); % surface color (characteristic)
xx = linspace(min(x),max(x),50);
yy = linspace(min(y),max(y),50);
[X,Y] = meshgrid(xx,yy); % create a mesh
Z = griddata(x,y,z,X,Y); % interpolate Z coord
D = griddata(x,y,delta,X,Y);% interpolate delta
scatter3(x,y,z,25,delta,'filled')
surface(X,Y,Z,D,'facecolor','interp')
axis equal
colorbar

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by