For - While Loop Nested

18 次查看(过去 30 天)
Semih Ates
Semih Ates 2020-6-28
评论: Semih Ates 2020-6-28
Hello everyone;
I try to use this loop;
R = 8.914;
PCO = 0;
for i = [1:250]
T(i) = i+0.1;
deltaG = -287500 + 22.75*T;
while PCO<100;
PCO = PCO + 0.01;
deltaGnew = R * T .* log(PCO);
end
end
But in my workspace I saw that T has only 2 values ([1.1,2.1])
The problem is that : I have T and PCO values. T varies between 1 - 250 and PCO starts 0 to 100. I want to calculate deltaG values of each temperature and deltaGnew values of each temp and PCO. And after that if deltaG = deltaGnew, I want to stop my loops.
Thank you!
Kindest regards,
S.A

采纳的回答

madhan ravi
madhan ravi 2020-6-28
R = 8.914; % I don't understand why you need a loop though?
PCO = linspace(0, 1e2);
T = linspace(1, 250);
deltaG = -287500 + 22.75*T;
deltaGnew = R * T .* log(PCO);
  3 个评论
madhan ravi
madhan ravi 2020-6-28
R = 8.914;
PCO = linspace(0, 1e2);
T = linspace(1, 250);
[deltaG, deltaGnew] = deal(zeros(numel(T), 1));
for k = 1:numel(T)
deltaG(k) = -287500 + 22.75*T(k);
deltaGnew(k) = R * T(k) .* log(PCO(k));
end
Semih Ates
Semih Ates 2020-6-28
it works thank you.

请先登录,再进行评论。

更多回答(1 个)

KALYAN ACHARJYA
KALYAN ACHARJYA 2020-6-28
R = 8.914;
T=linspace(1.1,0.1,250);
deltaG = -287500 + 22.75.*T;
a= %?? % Define it
PCO=linspace(a,0.01,100);
deltaGnew=R*T(1:length(PCO)).*log(PCO);
  3 个评论
KALYAN ACHARJYA
KALYAN ACHARJYA 2020-6-28
编辑:KALYAN ACHARJYA 2020-6-28
R = 8.914;
T=linspace(1.1,0.1,250);
deltaG = -287500 + 22.75.*T;
PCO=linspace(0:0.01,100);
PCO=linspace(0,0.01,100);
for i=1:length(PCO)
deltaGnew(i)=R*T(i)*log(PCO(i));
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by