how to fill pre allocated matrix using two columns vectors

2 views (last 30 days)
Matrix = zeros(5)
interval range =10
X = [ 35;43;22]
Y = [75;44;67]
40
50
Y 60
70
80
10 20 30 40 50
X - axis
how to fix these values inside the above grid using matlab coding.
i have tried a lot using for loops but its not comming correct.
All cooperation is highly appreicated.
Regards
  1 Comment
Shashank Sharma
Shashank Sharma on 26 Jun 2019
It is unclear as to what you are attempting.
What is the expected output of your code ?

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 26 Jun 2019
xx = 10:10:50;
yy = 40:10:80;
X = [ 35;43;22];
Y = [75;44;67];
m = numel(xx);
n = numel(yy);
out = zeros(m,n);
x10 = 10*floor(X/10);
y10 = 10*floor(Y/10);
[~,ii] = ismember(x10,xx);
[~,jj] = ismember(y10,yy);
out(sub2ind([m,n], ii, jj)) = 1;
  3 Comments
M.S. Khan
M.S. Khan on 17 Jul 2019
Thanks for giving me input,. i have done it succesfully.
Could you plz guide me how to only label the interior part of the object using same techniqure.
Same question but only need the interior part to be labelled as 2 or 1.
i will be very thankful.
warm regards
erik jensen
erik jensen on 28 Apr 2020
This is wrong.
ii, jj, and kk are INDEXES not SUBSCRIPTS. So for a larger data set, would fall out of range

Sign in to comment.

More Answers (2)

KSSV
KSSV on 26 Jun 2019
X = [ 35;43;22] ;
Y = [75;44;67] ;
[X,Y] = meshgrid(X,Y);

madhan ravi
madhan ravi on 26 Jun 2019
% Illustration
Matrix = zeros(5);
X = (10:10:50).'; % column vectors
Y = (40:10:80).';
Matrix(end,:) = X.';
Matrix(:,1) = Y
  5 Comments

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!