how to fill pre allocated matrix using two columns vectors

1 visualizzazione (ultimi 30 giorni)
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 Commento
Shashank Sharma
Shashank Sharma il 26 Giu 2019
It is unclear as to what you are attempting.
What is the expected output of your code ?

Accedi per commentare.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 26 Giu 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 Commenti
M.S. Khan
M.S. Khan il 17 Lug 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 il 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

Accedi per commentare.

Più risposte (2)

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

madhan ravi
madhan ravi il 26 Giu 2019
% Illustration
Matrix = zeros(5);
X = (10:10:50).'; % column vectors
Y = (40:10:80).';
Matrix(end,:) = X.';
Matrix(:,1) = Y
  5 Commenti
M.S. Khan
M.S. Khan il 26 Giu 2019
Modificato: madhan ravi il 26 Giu 2019
results will be like this:
madhan ravi
madhan ravi il 26 Giu 2019
Honestly, how are the certain fields yellow?

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by