Error using surf plot

2 次查看(过去 30 天)
Jason
Jason 2016-1-18
评论: Jason 2016-1-18
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 个评论
Jason
Jason 2016-1-18
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);

请先登录,再进行评论。

采纳的回答

Thorsten
Thorsten 2016-1-18
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)

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by