Surface between 3D lines

9 vues (au cours des 30 derniers jours)
Talal Salem
Talal Salem le 19 Nov 2019
Commenté : darova le 21 Nov 2019
Hi all,
I am trying to link these 3D lines through a surface that pass through all of them, which basically will show the variation between them and it would be great if that will be colored. I attached a pic that clarify my thoughts, and hopefully I will get help!
I tried to use the griddata command but unfortunately it didn't work.
I also attached my code and excel sheet I am working on.
Thanks,
clc
close all
clear all
dataset =xlsread('test.xlsx','N','G1:L203');
D1=dataset(:,2);
F1=dataset(:,1);
F2=dataset(:,3);
F3=dataset(:,5);
colormap hsv
figure(1)
plot (D1,F1,'MarkerSize',15);
hold on
plot (D1,F2,'-','MarkerSize',15);
plot (D1,F3,'--','MarkerSize',15);
hold off
z1=3*ones(201,1);
z2=6*ones(201,1);
z3=9*ones(201,1);
XX = [D1;D1;D1];
YY = [F1;F2;F3];
ZZ= [z1;z2;z3];
Dlin = linspace(min(D1),max(D1));
Flin = linspace(min(F1),max(F3));
Zlin = linspace(min(z1),max(z3));
[X,Y] = meshgrid(Dlin,Flin);
figure(2)
plot3(D1, z1, F1,'-.')
hold on
plot3(D1, z2, F2)
plot3(D1, z3, F3,'--')
grid on
figure(3)
Z= griddata(XX,YY,ZZ,X,Y);
plot3(X, Y, Z);
grid on
axis tight
view(-50,30)

Réponse acceptée

darova
darova le 20 Nov 2019
You are concatenating in a wrong way
XX = [D1 D1 D1];
YY = [F1 F2 F3];
ZZ = [z1 z2 z3];
surf(XX,ZZ,YY,'EdgeColor','none')
  2 commentaires
Talal Salem
Talal Salem le 21 Nov 2019
Thanks a lot that excatly what i was looking for!
darova
darova le 21 Nov 2019
Please accept the answer. Bigger reputation = more money

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by