Error using surf plot

6 vues (au cours des 30 derniers jours)
Jason
Jason le 18 Jan 2016
Commenté : Jason le 18 Jan 2016
I have a vector of x and y coordinates of the red dots in the image below
I also have a vector of the FWHM at each of these points. I want to create a heat map where at each location x,y, the value if the fwhm and uses a color map.
I thought the following would work
surf(xf,yf,fwhm);
But I get the error
Error using surf (line 57)
Z must be a matrix, not a scalar or vector.
  1 commentaire
Jason
Jason le 18 Jan 2016
So I've tried the following:
k=zeros(length(xf),length(yf));
for i=1:length(xf)
k(xf(:,i),yf(:,i))=fwhm(:,i);
end
surf(xf,yf,k);
But now get
Subscripted assignment dimension mismatch.
Error in Merlion>pushbutton11_Callback (line 1920)
k(xf(:,i),yf(:,i))=fwhm(:,i);

Connectez-vous pour commenter.

Réponse acceptée

Thorsten
Thorsten le 18 Jan 2016
You can use
K = zeros(length(yf), length(xf)); % note that yf is first, xf is second because
% zeros use row, column indexing
ind = sub2ind(yf, xf); % ... same for sub2ind
K(ind) = fwhm;
imshow(K)
  1 commentaire
Jason
Jason le 18 Jan 2016
Thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by