Error using surf plot

2 Ansichten (letzte 30 Tage)
Jason
Jason am 18 Jan. 2016
Kommentiert: Jason am 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 Kommentar
Jason
Jason am 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);

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Thorsten
Thorsten am 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)

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by