MATLAB: Getting wrong answer,

if statementor else

So I have these formula's and information given to me. From question 1 I find the Zi values which I have done using Sym Z and solve, I found what B was no problem (I dont have what Go and Rs are in the pictures but it's in my script.) I am also given the first Pi values which is 101325, from that I put it into the equation and get what P(2) is. However my script is outputting me very different numbers to the answers of Pi in equation 5 and I cant figure out why.
Any help is appreciated!

Best Answer

Hi,
In your code, there are a few errors with loop indexes. Here is the fixed part of the script that gives all correct answers:
...
Pa=Pi; HH=diff(hi); TT=Ti; AA=Ai_1; % New variables are introduced not to get confused with the variable names containing i :). This is optional though!
for i= 1:length(ai)
if AA(i) ==0
Pa(i+1)= real(Pa(i).*exp(-B*HH(i)/TT(i))); % Pressure values are saved
else Pa(i+1)=real(Pa(i)*(TT(i)/(TT(i)+ai(i)*HH(i))).^(B/AA(i))); % Pressure values are saved
end
end