Surf or Mesh plot

6 vues (au cours des 30 derniers jours)
Mir Khadim Aalam
Mir Khadim Aalam le 19 Avr 2022
Commenté : Star Strider le 20 Avr 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.

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (1)

Davide Masiello
Davide Masiello le 19 Avr 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