# Storing Iteration Results in Matlab

• MATLAB

## Main Question or Discussion Point

Dear All,

I have the code below.

for k=40:10:80
T(k)=273.15+k;
z=[0.2 0.2 0.2 0.4];
W_PR=0.245;
C=4;
omega=[0.344 0.467 0.578 0.789];
Tc=[600 700 500 570];
Pc=[50 70 58 76];
for c=1:C

x_PR(1,c)=z(c)/(1+W_PR*(K_PR(c)-1));
x_PR(2,c)=K_PR(c)*x_PR(1,c);
end
for c=1:C
kappa_PR=0.37464+1.54226.*omega(c)-0.26992.*omega(c).^2;
alpha_PR=(1+kappa_PR.*(1-sqrt(T(k)./Tc(c)))).^2;
a_PR(c,c)=0.45724.*R.^2.*Tc(c).^2./Pc(c).*alpha_PR;
b_PR(c)=0.07780*R.*Tc(c)./Pc(c);
end
for c=2:C
for n=1:(c-1)
a_PR(c,n)=sqrt(a_PR(c,c).*a_PR(n,n));
a_PR(n,c)=a_PR(c,n);
end
end
for c=1:C
A_PR(c,c)=a_PR(c,c).*P./(R.*T(k)).^2;
B_PR(c)=b_PR(c).*P./(R.*T(k));
end
for c=1:C
Z(c,c)=A_PR(c,c)./5;
V(c)=B_PR(c).*6;
end
end

QUESTION: Each time I run the code, I want result for Z and V at each T(k). The code as it is only gives result for one T value though I want it to run the loop and give result for Z and V for all T(k).

Thanks

Related MATLAB, Maple, Mathematica, LaTeX News on Phys.org
Simon Bridge
Homework Helper
[edited with apologies]
you have managed to make a vector for T, and store the kth value in the kth position in the vector.
So what is stopping you doing the same for Z and V.

You'd have to put Z and V inside the k loop - encoding Z(k,c,c) and V(k,c)

Last edited:
Hi Simon,
I put Z and V inside k loop, but is giving me 80 by 4 by 4 matrix for Z instead of 5 by 4 by 4 matrix. Since my k=40:10:80; and T(k)=273.15+k;

Thanks

Simon Bridge
Homework Helper
Well yes - you will have to change how these things get calculated too.
Clearly you have missed a step or terminated the cycle too soon.

Hi Simon,
I have checked the code over and over again I could not figure out where I got it wrong.

Thanks

Simon Bridge