# Saving vectors from a loop into a matrix

102 views (last 30 days)
KJones on 12 Nov 2016
Commented: Changoleon on 13 Nov 2016
I have this code that I made and I would like to save my final vector as a row in a matrix as I would like to plot the averages. I would like this matrix to consist of each row representing a run at a different H value where the H values change from R>0.1 up until R>0.9. How can I do this automatically because I don't want to change my matrix A so it would need to be done in one run?
A=createsrandomnetwork(100,5); %Network Matrix
I=zeros(100,1);
positions=[1,1];
I(positions)=1;
v=zeros(1,100); %Vector which proportion value will be saved into
n=numel(I); %n=number of array elements
v(1)=nnz(I)/n; %At time 0 the proportion infected (nnz=number of non zero elements in I)
for i=1:100
a = rand(100);
R = triu(a) + triu(a,1)';
H=R>0.5; %Matrix with % chance of passing on infection
P=A.*H; %New Network Matrix including the probability
P(logical(eye(size(P)))) = 0; %makes sure the diagonal is 0 then people can recover
I=P*I; %New Network Matrix times the Vector of Infected
v(i)=nnz(I)/n %Proportion infected at time i
end
Thank you

Changoleon on 13 Nov 2016
Edited: Walter Roberson on 13 Nov 2016
Hi. This is a very simplified solution, I believe you should be able to modify this code.
h=5;
for i=1:h
x(i) = i * 10;
s(i,:) = [i,x(i)];
end
Sina
##### 2 CommentsShowHide 1 older comment
Changoleon on 13 Nov 2016
Hi Kjones.
Could you explain your question with a simplified example? I am having trouble understanding what the problem is.
Yours Sina