Save each vector iteration into a matrix
조회 수: 7 (최근 30일)
이전 댓글 표시
I have 2 vectors, a and b and the sum of both is v.The time t ranges from 0 to 20 and i would like to save each iteration of v (a vector) into a matrix (where there are 21 vectors thus 3x21). Currently this code goes through each iteration however overwrites all of them and only shows the last value of t. Im am also unsure where the 'if' command is suitable in this circumstance.
for t=1:20;
a = [t,cos(t),0]';
b = [0,0,sin(t)]';
v = a + b;
end
댓글 수: 0
채택된 답변
Cory Johnson
2016년 11월 1일
There are lots of ways to organize data in MATLAB. Below I have shown 3 ways to do this. I think you're looking for the last method.
%%Cell Array
for t=0:20;
a{t+1} = [t,cos(t),0]';
b{t+1} = [0,0,sin(t)]';
v{t+1} = a{t+1} + b{t+1};
end
%%Structure array
for t=0:20;
vec(t+1).a = [t,cos(t),0]';
vec(t+1).b = [0,0,sin(t)]';
vec(t+1).v = vec(t+1).a + vec(t+1).b;
end
%%Only save v
v = [];
for t=0:20;
a = [t,cos(t),0]';
b = [0,0,sin(t)]';
v = [v, (a + b)];
end
Hope that helps!
댓글 수: 2
Abdulramon Adeyiola
2022년 3월 4일
Thanks for this. Meanwhile, what if the dimension of the two vectors are not the same?
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!