Hello, newbie to Matlab here. I have a problem with saving vectors (which are not of the same length) to cell array. Let´s say I have a 2×8 matrix p and I access it´s cells via linear indices. I create vectors of pixels between p(1) : p(3) then p(5) : p (7) and p(9) : p(11). If I write this (e.g. vec = p(1) : p(3)) into command window I get the vector. What I try is to create these three (or more it depends) vectors and save them in cell array as follows:
rows = 0.5.*length(p);k = 2.*length(p);for i = 1 : 4 : k for j = 3 : 4 : k for m = 1 : rows p(i); p(j); M{m} = p(i) : p(j); end endend
The problem is that the M-array created has 3 rows and every row contains the vector of same length (the last vector created, in my case p(9) : p(11)). What is wrong in my code that the output is this and not three rows containing three vectors as I desribed before?
I deal with this long time and finally I really dont know 🙁 Thank you very much for your advices, Mari.
Best Answer