How to save outputs in a while loop

I would like to save each output of the following while loop, however I do not know how to do this.
while i<a
i=1+i;
E=members(i,4);
A=members(i,5);
start=members(i,2); %the starting joint of the member
last=members(i,3); %The end joint of the member
Xb=joints(start,2); %Beginign x coordinate
Xe=joints(last,2); %Ending x coordinate
Yb=joints(start,3); %Begingin y cooridnate
Ye=joints(last,3); %Ending y coordinate
[K,T]=stiff_truss(E,A,Xb,Yb,Xe,Ye); %Creates the K,T for each member
end

Answers (1)

KSSV
KSSV on 1 Mar 2017
Edited: KSSV on 1 Mar 2017
Say you want to store K,T inside the loop. Do as follows:
iwant = cell(a,2) ;
while i<a
i=1+i;
E=members(i,4);
A=members(i,5);
start=members(i,2); %the starting joint of the member
last=members(i,3); %The end joint of the member
Xb=joints(start,2); %Beginign x coordinate
Xe=joints(last,2); %Ending x coordinate
Yb=joints(start,3); %Begingin y cooridnate
Ye=joints(last,3); %Ending y coordinate
[K,T]=stiff_truss(E,A,Xb,Yb,Xe,Ye); %Creates the K,T for each member
iwant{i,1} = K ;
iwant{i,2} = T ;
end

2 Comments

I added the new code into and I received an error message saying sub-scripted assignment dimension mismatch. It specified the line iwant(i,:)=[K,T];
KSSV
KSSV on 1 Mar 2017
Edited: KSSV on 1 Mar 2017
Ohh...then K and T is a matrix? Edited my answer, considering K and T as a matrix.

Sign in to comment.

Categories

Tags

Asked:

on 1 Mar 2017

Edited:

on 1 Mar 2017

Community Treasure Hunt

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

Start Hunting!