How to increment a for loop by an arbitrary value?
조회 수: 2 (최근 30일)
이전 댓글 표시
I am creating a Matlab program that calculates corresponding temperatures for Celsius, Kelvin, Fahrenheit, and Rankine scales. I want to write my code so that it can handle an arbitrary temperature increment (a user-inputted value).
Here is my current code (it currently increments by 1 degree Celsius--I want to change this):
Cstart = -50;
Cend = 100;
for Celsius = Cstart:Cend
Celius = Celsius
Kelvin = Celsius + 273.15
Fahrenheit = 1.8.*Celsius + 32
Rankine = (Celsius+273.15)*1.8
end
plot(Celsius,Kelvin,'r')
hold on
plot(Celsius,Fahrenheit,'b')
hold on
plot(Celsius,Rankine,'g')
legend('Kelvin','Fahrenheit','Rankine','FontSize',20)
xlabel('Temperature in Celsius','FontSize',20)
ylabel('Converted Temperature','FontSize',20)
title('Equivalent Temperatures','FontSize',20)
set(gca,'FontSize',20)
Thank you in advance!
댓글 수: 0
답변 (1개)
Amit
2014년 1월 22일
편집: Amit
2014년 1월 22일
Cstart = -50;
Cend = 100;
step = input('Enter the increment ');
Celsius = Cstart:step:Cend;
%for ii = 1:numel(Celcius)
% Celius = Celsius
Kelvin = Celsius + 273.15
Fahrenheit = 1.8.*Celsius + 32
Rankine = (Celsius+273.15)*1.8
%end
plot(Celsius,Kelvin,'r',Celsius,Fahrenheit,'b',Celsius,Rankine,'g')
% hold on
% plot(Celsius,Fahrenheit,'b')
% hold on
% plot(Celsius,Rankine,'g')
legend('Kelvin','Fahrenheit','Rankine','FontSize',20)
xlabel('Temperature in Celsius','FontSize',20)
ylabel('Converted Temperature','FontSize',20)
title('Equivalent Temperatures','FontSize',20)
set(gca,'FontSize',20)
Moreover, you cannot plot this way. I modified it so that Celcius doesn't stay a scalar. Also, you can skip the looping.
댓글 수: 8
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!