Clear Filters
Clear Filters

For Loop That Uses A Found Value To Complete the Next Loop

2 views (last 30 days)
Hello! How can I use a for loop to run a code that uses a found value from the previous loop, to compute the next loop?
The base equation for this loop looks like
P2=(P1)(exp(-(z2-z1)/(R*T))
where Z has bounds a and b and has intervals of 50. P1 and T are referenced indicies of a known vector. The next iteration of the loop would then subsitute the previous P2 in for P1 and run again.

Accepted Answer

VBBV
VBBV on 1 May 2023
Edited: VBBV on 1 May 2023
Do you mean something like this ?
z2 = 10;
Z1 = 4;
P2 = zeros(1,length(P1));
for J = 1:Array_range_max
% P1 computed in this loop
P1 = rand(1,10);
% assume z1 and z2 are scalars
for k = 1:length(P1)-1
P2(k) = P1(k)*exp(-(z2-z1)./(R*T(k)));
P1(k+1) = P2(k);
end
end
  3 Comments
VBBV
VBBV on 2 May 2023
z = 0:50:1700;
size(z)
ans = 1×2
1 35
P1 = 9.79419e4;
a = 29.3;
% assume average of (T_(2,:))+(T_(1,:)).\2
T = randi([0 240],341,1);
P2 = zeros(341,length(z));
%outer loop
% for Tavg = 1:array_size_temperature
% T = randi([0 240],341,1);
for J = 1:size(P2,2)
% P1 computed in this loop
P2(:,J) = P1.*exp(-z(J))./(a.*T);
P1 = P2(:,J);
end
%end // end of outer loop
P2
P2 = 341×35
1.0e+03 * 0.0201 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.6714 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1453 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0152 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0189 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0154 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0156 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0376 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0655 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0293 0.0000 0.0000 0.0000 0.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Jordan David
Jordan David on 6 May 2023
Thank you for taking time out of your day to help me understand this!

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!