how to create array for these values i got?
Show older comments
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.
Answers (3)
Chandrasekhar
on 5 Mar 2014
change the statement
f(i) = min(A(i,j));
to
f(tmp,i) = min(A(i,j));
1 Comment
pinak parida
on 5 Mar 2014
Dishant Arora
on 5 Mar 2014
Edited: Dishant Arora
on 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 Comment
pinak parida
on 5 Mar 2014
Andrei Bobrov
on 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));
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!