5 views (last 30 days)

I have several questions. First, I have several vectors with different dimensions. I want to put them all in one matrix. I would fill it with zero to make them the same size as follows.

Do you know how to do it?

X= [1 2 3 9 20 67 81 43 101 24;

43 42 88 20 43 67 101 0 0 0;

22 44 0 0 0 0 0 0 0 0;

10 20 67 43 101 0 0 0 0 0;

]

I have a matrix, I want to generate a vector of all elements that are similar in all raws of that matrix. Some raws might have nothing similar as other raws. I count those element similar as if they are similar (e.g. 22 is similar to 22) or they are + - 2 different (e.g. 22 is similar to 24 or 20) the dimension of each raw is different. for example The similarity should be at least between three raws that we select that element.

Then I want to get a vector of all similar elements in all raws as follows

Y=[20 43 67];

Sara
on 2 May 2014

First question: create

X = zeros(10,4);

then plug in you vectors, e.g.,

X(1,1:numel(v1)) = v1;

Second point (I'm sure it can be written in a more compact way but it works):

X= [1 2 3 9 20 67 81 43 101 24;...

43 42 88 20 43 67 101 0 0 0;...

22 44 0 0 0 0 0 0 0 0;...

10 20 67 43 101 0 0 0 0 0;...

] ;

n = unique(X(1,:));

X(X==0)=NaN; % So you don't consider the zeros

nrow = size(X,1)-1;

Y = zeros(numel(X),1);cont = 0;

for i = 1:numel(n)

x = X(2:end,:);

[row,~] = find(x >= n(i)-2 & x <= n(i)+2);

if(numel(unique(row)) == nrow)

cont = cont + 1;

Y(cont) = n(i);

end

end

Y = Y(1:cont)

Jos (10584)
on 2 May 2014

As for your first question, take a look at my PADCAT function on the File Exchange as it does exactly what you want. http://www.mathworks.com/matlabcentral/fileexchange/22909-padcat

As for your second question, if you consider 22 to be the same as 20 and 24, are 20 and 24 then also the same?

Jos (10584)
on 3 May 2014

So, 1 is the same as 3 which is the same as 4 which is … the same as … is the same as 123456789… !

Are you looking for some kind of cluster analysis? I think you need to be more precise in your goal.

Sara
on 3 May 2014

Sign in to comment.

Sign in to answer this question.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.