Stor data in a vector

조회 수: 1 (최근 30일)
Lukas
Lukas 2013년 6월 5일
For every loop z i want to store my data so that JJ doesnt just become the reslut of z=40, i want JJ to be a vector(1,1000), now i only get JJ to be a vector of (1,25) from the last z loop.
p_t2=1:1000 pt2=1:40
for z=1:40 for v=1:25 XX=p_t2(v)./pt2; JJ(v)=sum(XX); end p_t2(1:25)=[]; pt2(:,1)=[]; end
thank you in advance

채택된 답변

Iman Ansari
Iman Ansari 2013년 6월 5일
p_t2=1:1000
pt2=1:40
JJ=[];
for z=1:40
for v=1:25
XX=p_t2(v)./pt2;
JJ=[JJ sum(XX)];
end
p_t2(1:25)=[];
pt2(:,1)=[];
end
  댓글 수: 1
Lukas
Lukas 2013년 6월 5일
thank you for a very quick answer.

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

추가 답변 (3개)

Lukas
Lukas 2013년 6월 5일
The code didnt look as i wanted it, sorry...
p_t2=1:1000
pt2=1:40
p_t2=1:1000
pt2=1:40
for z=1:40
for v=1:25
XX=p_t2(v)./pt2;
JJ(v)=sum(XX);
end
p_t2(1:25)=[];
pt2(:,1)=[];
end

Mark
Mark 2013년 6월 5일
편집: Mark 2013년 6월 5일
If you want preallocation:
p_t2=1:1000;
pt2=1:40;
JJ=zeros(1,1000);
for z=1:40
for v=1:25
XX=p_t2(v)./pt2;
JJ((z-1)*25+v)=sum(XX);
end
p_t2(1:25)=[];
pt2(:,1)=[];
end

Lukas
Lukas 2013년 6월 5일
Thank you for the quick answers, however now I have an other problem..
How do I in a spimle way adjust it to be able to hadel a matrix as input, for example if:
p_t2=rand(2,1000)
pt2=rand(2,40)
JJ=[];
for z=1:40
for v=1:25
XX=p_t2(v)./pt2;
JJ=[JJ sum(XX)];
end
p_t2(1:25)=[];
pt2(:,1)=[];
end
I want the output JJ be a matrix with dimension (2,1000)
  댓글 수: 1
Iman Ansari
Iman Ansari 2013년 6월 5일
clear;
p_t2=rand(2,1000);
pt2=rand(2,40);
JJ=[];
for z=1:40
for v=1:25
XX=bsxfun(@rdivide,p_t2(:,v),pt2);
JJ=[JJ sum(XX,2)];
end
p_t2(:,1:25)=[];
pt2(:,1)=[];
end

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

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by