Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -3,47 +3,47 @@ PROGRAM Euler;
|
|||
|
||||
TYPE TNewtonCooling = FUNCTION (t: REAL) : REAL;
|
||||
|
||||
CONST T0 : REAL = 100.0;
|
||||
CONST TR : REAL = 20.0;
|
||||
CONST k : REAL = 0.07;
|
||||
CONST time : INTEGER = 100;
|
||||
CONST step : INTEGER = 10;
|
||||
CONST dt : ARRAY[0..3] of REAL = (1.0,2.0,5.0,10.0);
|
||||
CONST T0 : REAL = 100.0;
|
||||
CONST TR : REAL = 20.0;
|
||||
CONST k : REAL = 0.07;
|
||||
CONST time : INTEGER = 100;
|
||||
CONST step : INTEGER = 10;
|
||||
CONST dt : ARRAY[0..3] of REAL = (1.0,2.0,5.0,10.0);
|
||||
|
||||
VAR i : INTEGER;
|
||||
VAR i : INTEGER;
|
||||
|
||||
FUNCTION NewtonCooling(t: REAL) : REAL;
|
||||
BEGIN
|
||||
NewtonCooling := -k * (t-TR);
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
NewtonCooling := -k * (t-TR);
|
||||
END;
|
||||
|
||||
PROCEDURE Euler(F: TNewtonCooling; y, h : REAL; n: INTEGER);
|
||||
VAR i: INTEGER = 0;
|
||||
BEGIN
|
||||
WRITE('dt=',trunc(h):2,':');
|
||||
REPEAT
|
||||
IF (i mod 10 = 0) THEN WRITE(' ',y:2:3);
|
||||
INC(i,trunc(h));
|
||||
y := y + h * F(y);
|
||||
UNTIL (i >= n);
|
||||
WRITELN;
|
||||
END;
|
||||
VAR i: INTEGER = 0;
|
||||
BEGIN
|
||||
WRITE('dt=',trunc(h):2,':');
|
||||
REPEAT
|
||||
IF (i mod 10 = 0) THEN WRITE(' ',y:2:3);
|
||||
INC(i,trunc(h));
|
||||
y := y + h * F(y);
|
||||
UNTIL (i >= n);
|
||||
WRITELN;
|
||||
END;
|
||||
|
||||
PROCEDURE Sigma;
|
||||
VAR t: INTEGER = 0;
|
||||
BEGIN
|
||||
WRITE('Sigma:');
|
||||
REPEAT
|
||||
WRITE(' ',(20 + 80 * exp(-0.07 * t)):2:3);
|
||||
INC(t,step);
|
||||
UNTIL (t>=time);
|
||||
WRITELN;
|
||||
END;
|
||||
VAR t: INTEGER = 0;
|
||||
BEGIN
|
||||
WRITE('Sigma:');
|
||||
REPEAT
|
||||
WRITE(' ',(20 + 80 * exp(-0.07 * t)):2:3);
|
||||
INC(t,step);
|
||||
UNTIL (t>=time);
|
||||
WRITELN;
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
WRITELN('Newton cooling function: Analytic solution (Sigma) with 3 Euler approximations.');
|
||||
WRITELN('Time: ',0:7,10:7,20:7,30:7,40:7,50:7,60:7,70:7,80:7,90:7);
|
||||
Sigma;
|
||||
FOR i := 1 to 3 DO
|
||||
Euler(NewtonCooling,T0,dt[i],time);
|
||||
WRITELN('Newton cooling function: Analytic solution (Sigma) with 3 Euler approximations.');
|
||||
WRITELN('Time: ',0:7,10:7,20:7,30:7,40:7,50:7,60:7,70:7,80:7,90:7);
|
||||
Sigma;
|
||||
FOR i := 1 to 3 DO
|
||||
Euler(NewtonCooling,T0,dt[i],time);
|
||||
END.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue