How to create a waterfall plot with two matrices and a vector

13 vues (au cours des 30 derniers jours)
Joseph Harris
Joseph Harris le 6 Mar 2013
Hi,
Not sure if this is possible, but:
I want to create a waterfall plot from a set of data in the following format
X = [m x n]
Y = [m]
Z = [m x n]
So what i want is for the mth value in Y, i want to take the corresponding n row from X and plot it against the n row from Z. Then move onto the next value of m from Y, and plot X against Z etc.
So I end up with many plots of X vs Z along a Y-axis to form a waterfall.
How might i do this? The waterfall function only allows X to be a vector.
  2 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 6 Mar 2013
Can you give an example of Y
Joseph Harris
Joseph Harris le 6 Mar 2013
Modifié(e) : Joseph Harris le 6 Mar 2013
This is basically what i want to do, so my Y-axis is a simple [1 x 21] vector, but my X and Z axis are [21 x 1001] matrices.
I managed to get the above image by creating waterfall plot with only the first row of my X matrix, but obviously i would like to plot each row of Z against the corresponding row of X.

Connectez-vous pour commenter.

Réponse acceptée

Joseph Harris
Joseph Harris le 7 Mar 2013
OK so i did it in the end. It wasn't that hard, but i had to do it in a loop. Couldn't work out a way to do it in one step.
for g = 1:length(Y)
hold on
waterfall(X(g,:),Y(g),Z(g,:))
end

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 6 Mar 2013
Example
m=10;
n=40;
z= sort(rand(m , n),2)
y = randi(m,m,1)
x = rand(m, n)
xx=x(y,:)
zz=z(y,:)
plot(zz',xx')

Community Treasure Hunt

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

Start Hunting!

Translated by