Hello, could you help me make this code extrude this random profile into the z-axis and make the plot in 3D using mesh or surf?
x = [82,80,65,38,82]
y = [82,54,36,94,82]
plot(x,y)

 Accepted Answer

Les Beckham
Les Beckham on 11 Apr 2022
Edited: Les Beckham on 11 Apr 2022
x = [82, 80, 65, 38, 82];
y = [82, 54, 36, 94, 82];
x = repmat(x, 10, 1);
y = repmat(y, 10, 1);
z = (1:10)';
z = repmat(z, 1, 5);
surf(x, y, z)

2 Comments

Thanks for your help. However, I need the extrusion to be solid (i.e. filled with volume from the inside).
You can't really make it "solid" but you can make it look like it is by closing off the top and bottom so that you can't see inside.
x = [82, 80, 65, 38, 82];
y = [82, 54, 36, 94, 82];
X = repmat(x, 11, 1);
Y = repmat(y, 11, 1);
z = (0:10)';
Z = repmat(z, 1, 5);
surf(X, Y, Z)
patch(x, y, 10*ones(1, 5), 10*ones(1, 5)) % add "lid" on top
patch(x, y, zeros(1, 5), zeros(1, 5)) % add "lid" on bottom

Sign in to comment.

More Answers (0)

Products

Release

R2021b

Community Treasure Hunt

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

Start Hunting!