how to create array for these values i got?

조회 수: 1 (최근 30일)
pinak parida
pinak parida 2014년 3월 5일
댓글: pinak parida 2014년 3월 5일
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.

답변 (3개)

Chandrasekhar
Chandrasekhar 2014년 3월 5일
change the statement
f(i) = min(A(i,j));
to
f(tmp,i) = min(A(i,j));

Dishant Arora
Dishant Arora 2014년 3월 5일
편집: Dishant Arora 2014년 3월 5일
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
pinak parida
pinak parida 2014년 3월 5일
did you run the code see it will not single value it is has 5 element and for 1000 tmies

댓글을 달려면 로그인하십시오.


Andrei Bobrov
Andrei Bobrov 2014년 3월 5일
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));

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by