MATLAB Answers

continuous representation (image generation) of discrete data set

14 views (last 30 days)
AAS
AAS on 12 Sep 2020
Edited: AAS on 18 Sep 2020
I have a discrete data set which contains x and y position and velocity. I usually use patch plot to represent this. Is there a continuous way to represent the data? Something that looks like this : https://quickersim.com/flow-porous-media-matlab-quic

  0 Comments

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 12 Sep 2020
It looks like there is a whole toolbox at that site. Did you look it over for functions that might do that? Otherwise, see my attached scatteredInterpolant demo.

  4 Comments

Show 1 older comment
Image Analyst
Image Analyst on 18 Sep 2020
The demo works. Here is the main part:
%================================ MAIN PART RIGHT HERE ==============================================
% Create the scattered interpolant. x, y, and gray levels must be column vectors so use (:) to make them column vectors.
% And grayLevels must be double or else an error gets thrown.
F = scatteredInterpolant(xAll(:), yAll(:), double(grayLevelsAll(:)))
% The above line creates an interpolant that fits a surface of the form v = F(x,y).
% Vectors x and y specify the (x,y) coordinates of the sample points.
% v is a vector that contains the sample values associated with the points (x,y).
% Get a grid of points at every pixel location in the RGB image.
[xGrid, yGrid] = meshgrid(1:columns, 1:rows);
xq = xGrid(:);
yq = yGrid(:);
% Evaluate the interpolant at query locations (xq,yq).
vq = F(xq, yq);
fittedImage = reshape(vq, rows, columns);
%================================ END OF MAIN PART ==============================================
You need xq and yq to be vectors, not images like you had. Also you forgot to do reshape to turn it back into an image.
V=F(x2(:),z2(:));
fittedImage = reshape(V, 1000, 1000);

Sign in to comment.

More Answers (1)

Matt J
Matt J on 12 Sep 2020
You can use griddedInterpolant() if your x,y are gridded sample locations, or else scatteredInterpolant().

  0 Comments

Sign in to comment.

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!