Surf or Mesh plot

7 Ansichten (letzte 30 Tage)
Mir Khadim Aalam
Mir Khadim Aalam am 19 Apr. 2022
Kommentiert: Star Strider am 20 Apr. 2022
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.

Akzeptierte Antwort

Star Strider
Star Strider am 19 Apr. 2022
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 Kommentare
Mir Khadim Aalam
Mir Khadim Aalam am 20 Apr. 2022
It helped, Thanks a lot.
Star Strider
Star Strider am 20 Apr. 2022
As always, my pleaure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Davide Masiello
Davide Masiello am 19 Apr. 2022
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')

Community Treasure Hunt

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

Start Hunting!

Translated by