How can I generate a matrix?

1 vue (au cours des 30 derniers jours)
net
net le 20 Nov 2013
Commenté : net le 20 Nov 2013
Hi, I have two array and I want to generate one matrix according to these arrays.
For example:
a={2,5,2,4,2,3,4,4,8}
b={1,3,1,3,4,2,3,3,2}
Matrix is 2 to 1 -> 1, 5 to 3 -> 1, 2 to 1 -> 2 (again) ...
Output:
Thanks for your helps.

Réponse acceptée

Simon
Simon le 20 Nov 2013
Hi!
Loop over your a/b vectors and increase the specified matrix element:
M = zeros(max(a), max(b));
for n = 1:length(a)
M(a(n), b(n)) = M(a(n), b(n)) + 1;
end
  1 commentaire
net
net le 20 Nov 2013
Thanks for your help.

Connectez-vous pour commenter.

Plus de réponses (2)

Laurent
Laurent le 20 Nov 2013
a={2,5,2,4,2,3,4,4,8};
b={1,3,1,3,4,2,3,3,2};
yourmat=zeros(8,5);
for ii=1:length(a)
yourmat(a{ii},b{ii})=yourmat(a{ii},b{ii})+1;
end
Why are you using a cell array for a and b?
  2 commentaires
net
net le 20 Nov 2013
Array "a" is my states and "b" is my observations. I want to know that states and observations amount.
Sorry for my english.
net
net le 20 Nov 2013
Yes you are right, I wrote with wrong parenthesis. Thanks.

Connectez-vous pour commenter.


Andrei Bobrov
Andrei Bobrov le 20 Nov 2013
Modifié(e) : Andrei Bobrov le 20 Nov 2013
a=[2,5,2,4,2,3,4,4,8];
b=[1,3,1,3,4,2,3,3,2];
sz = [8 5];
out = nan(sz + 1);
out(2:end,2:end) = accumarray([a(:),b(:)],1,sz);
out(1,2:end) = 1:sz(2);
out(2:end,1) = 1:sz(1);
  2 commentaires
Shani
Shani le 20 Nov 2013
Andrei do you know about neural networks?
net
net le 20 Nov 2013
Thanks for your help.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by