Surf or Mesh plot

1 次查看(过去 30 天)
I have a matrix "A" of size =5100*34 and another vector "t" of size 5100*1, I want to plot both using the surf or mesh command, with "t" as x-axis, and the column vectors of "A" i.e 5100*1 samples as Z-axis and the 34 (1:1:34) as the y-axis. I am facing some problems with this, any help will be very useful.

采纳的回答

Star Strider
Star Strider 2022-4-19
Since ‘z’ must be a matrix to use surf or mesh, the call must be:
t = linspace(0, 5100, 5100);
y = linspace(0, 34, 34);
z = t(:) * sin(3*pi*y/numel(y));
figure
surf(t, y, z.', 'EdgeColor','none')
grid on
xlabel('t')
ylabel('y')
colormap(turbo)
The ‘z’ matrix must be transposed for this to work as you described.
.
  2 个评论
Mir Khadim Aalam
Mir Khadim Aalam 2022-4-20
It helped, Thanks a lot.
Star Strider
Star Strider 2022-4-20
As always, my pleaure!

请先登录,再进行评论。

更多回答(1 个)

Davide Masiello
Davide Masiello 2022-4-19
Try this
clear,clc
t = linspace(0,100,5100);
y = 1:34;
[t,y] = meshgrid(t,y);
A = 2./(t+1)+y.^2;
surf(t,y,A,'EdgeColor','none')

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by