MATLAB Answers

how to fill pre allocated matrix using two columns vectors

2 views (last 30 days)
M.S. Khan
M.S. Khan on 26 Jun 2019
Commented: M.S. Khan on 17 Jul 2019
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;

  2 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

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);

  0 Comments

Sign in to comment.


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

Show 2 older comments

Sign in to comment.

Sign in to answer this question.