how to create array for these values i got?

3 vues (au cours des 30 derniers jours)
pinak parida
pinak parida le 5 Mar 2014
Commenté : pinak parida le 5 Mar 2014
m=5;
u=[zeros(1,m-1) rand(1,1000)] ;
c=rand(m);
s=rand(m);
tmp=1;
while (tmp<=(length(u) - (m-1)))
for i = 1:1:m
x(i) = u(tmp + (i-1));
for j=1:1:m
A(i,j)=exp(-0.5*((x(i)-c(i,j))./s(i,j)).^2);
end
f(i)=min(A(i,j))
end
if (tmp==1000)
break;
end
tmp=tmp+1;
end
i got the value of f (1x5) for 1000 times now i want to store these values in a array so that i get (1x5000) and again get the (1x5) from array 1000 times to use elsewhere.

Réponses (3)

Chandrasekhar
Chandrasekhar le 5 Mar 2014
change the statement
f(i) = min(A(i,j));
to
f(tmp,i) = min(A(i,j));
  1 commentaire
pinak parida
pinak parida le 5 Mar 2014
the it creates a 1000x5 matrix

Connectez-vous pour commenter.


Dishant Arora
Dishant Arora le 5 Mar 2014
Modifié(e) : Dishant Arora le 5 Mar 2014
f = [];
for
for
%your code
end
f = [f,min(A)]
end
min(A(i,j)) doesn't make any sense as A(i,j) is going to be single element
  1 commentaire
pinak parida
pinak parida le 5 Mar 2014
did you run the code see it will not single value it is has 5 element and for 1000 tmies

Connectez-vous pour commenter.


Andrei Bobrov
Andrei Bobrov le 5 Mar 2014
m = 5;
idx = hankel(1:m,[m, m+1:numel(u)]);
x = reshape(u(idx),1,m,[]);
out = squeeze(min(exp(-bsxfun(@rdivide,bsxfun(@minus,x,c),s).^2/2),[],2));

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by