Using countourf for 1D vectors

4 vues (au cours des 30 derniers jours)
Güinther SAIBRO
Güinther SAIBRO le 14 Sep 2017
Hi.
I have 3 unidimensional vectors like: x=[x1,x2,x3,...]; y=[y1,y2,y3,...] and z=[z1,z2,z3,...]. z is a function of x and y, and I have a pair x/y for each z value z1=f(x1,y1).
If a try to use contourf, I need a matrix and I get a lot of NaN elements, with these NaN I cant't reach a good visualization of my signal.
Would you have some solution to display some level courbes with just the vectors?
Thank you.
  1 commentaire
KSSV
KSSV le 15 Sep 2017
Show us the code you have for x,y and z....it can be sorted..

Connectez-vous pour commenter.

Réponses (1)

Akira Agata
Akira Agata le 15 Sep 2017
By using meshgrid and griddata, you can create contour from 3 unidimensional vectors, like:
% 1D data
x = randn(1,400);
y = randn(1,400);
z = x.*exp(-x.^2-y.^2)
% Interpolate for x-y grid
[xq,yq] = meshgrid(-2:.2:2, -2:.2:2);
zq = griddata(x,y,z,xq,yq);
% Visualize the result
figure
contourf(xq,yq,zq);
colorbar;
  1 commentaire
Güinther SAIBRO
Güinther SAIBRO le 19 Sep 2017
I got the same problem, a lot of NaN values...

Connectez-vous pour commenter.

Catégories

En savoir plus sur Contour Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by