how to fill pre allocated matrix using two columns vectors
1 view (last 30 days)
Show older comments
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
on 26 Jun 2019
It is unclear as to what you are attempting.
What is the expected output of your code ?
Accepted Answer
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
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
More Answers (2)
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
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!