MATLAB: Plot3D a matrix and a vector

3d plotsplot arrays plot 3d

Hello!
i got time t 360001×1 double
I got a matrix Ygz 51*360001 double
in the matrix a got solutions in each timestep a 51 length column in the whole time rows 360001.
I want to plot the matrix so th solution ( so the 51 rows) in (360001) timestep.
How can I do this? I tried this
figure;
hold on
for ii = 1:10000:360001
plot(Ygz(:,ii))
end
The problem that this give a 2D plot with datavalues so I don't have time in it…..I want this in time but to do that I have to get a 3D plot with my 360001×1 and 51×360001 arrays. Please help.

Best Answer

Having your data would help.
This works:
t = linspace(0, 1, 360001)'; % Create Time Vector

Ygz = sin(([1:51]/5)'*[2*pi*t/3.60001]'); % Create Data

figure(1)
plot(t(1:10000:360001), Ygz(:, 1:10000:360001)')
grid
For a 3D plot, I would use the ribbon function:
t = linspace(0, 1, 360001)'; % Create Time Vector
Ygz = sin(([1:51]/5)'*[2*pi*t/3.60001]'); % Create Data
figure(1)
ribbon(t(1:10000:360001), Ygz(:, 1:10000:360001)')
grid on
view([50 30])
xlabel('Row #')
ylabel('Time')