Extract Data from for loop
Mostra commenti meno recenti
I am attempting to plot SFC and TSFC vs The PRC values based on each value of Mach. I am trying to find a way to extract all calculated values of SFC and TSFC from the for loop for plotting. Any help would be appreciated
U = Mach*sqrt(gamman*R*Ta);
Toa = Ta.*((1+(((gammad-1)/2).*(Mach^2))));
To2 = Toa;
To2sTa = (1+((etad.*((To2./Ta)-1))));
Po2 = Pa.*((To2sTa).^(gammad/(gammad-1)));
for PRC = 5:5:100
Po3 = PRC.*Po2;
To3 = To2.*(1+((1./etac).*(PRC.^((gammac-1)/gammac))-1));
for To4 = [1500 1600 1700]
Cpb = ((R*gammab)/(gammab-1));
f = ((To3.*((To4./To3)-1))./((QR/Cpb)-To4));
Po4 = Po3;
To5 = To4-To3+To2;
Po5 = (Po4.*(1-(1./etat)*(1-(To5/To4))).^(gammat/(gammat-1)));
U7 = sqrt((2*etan*R*(gamman/(gamman-1)))*To5*((1-(Pa/Po5)).^(gamman-1/(gamman))));
SFC = ((1+f)*U7-U)/1000; %((kN*s)/(kg))
TSFC = f*SFC; %((kg)/(kN*s))
end
end
end
1 Commento
dpb
il 21 Ott 2014
Look at
doc meshgrid
for "the Matlab way" to evaluate a function over a rectangular grid
Risposta accettata
Più risposte (1)
Image Analyst
il 21 Ott 2014
0 voti
You either have to add indexes to the variables so that you're not overwriting the same thing each time, or else you have to put the call to plot() inside the loop. Which way do you want to do it?
5 Commenti
G
il 21 Ott 2014
Image Analyst
il 22 Ott 2014
I just returned to this now. It looks like you've accepted Imran's answer so I don't need to answer this. Good luck with that approach - though it's not what dpb and I would recommend.
dpb
il 23 Ott 2014
"You can lead a horse to water but..." :(
Image Analyst
il 23 Ott 2014
The weird thing is SFC = [[];SFC]; doesn't even do anything. [] is null so it's the same as SFC = [SFC]; which is the same as SFC=SFC, which does absolutely nothing. Oh well, whatever.
dpb
il 23 Ott 2014
Yeah, Imran intended to write
SFC=[];
for PRC = 5:5:100
...
for To4 = [1500 1600 1700]
...
SFC = [SFC;((1+f)*U7-U)/1000; %((kN*s)/(kg))];
...
I gave him a pass on that as he did say to initialize to null outside the loop that the following then was just a faux pas.
But the other thing bum about this solution besides the lousy performance is it's a 1D vector (of course, can fix that by reshape but as is it isn't particularly useful for OP's purpose and OP's experience level is likely such won't understand what result is where in the vector).
Categorie
Scopri di più su Bounding Regions in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!