Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
38
Task/Euler-method/Erlang/euler-method.erl
Normal file
38
Task/Euler-method/Erlang/euler-method.erl
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
-module(euler).
|
||||
-export([main/0, euler/5]).
|
||||
|
||||
cooling(_Time, Temperature) ->
|
||||
(-0.07)*(Temperature-20).
|
||||
|
||||
euler(_, Y, T, _, End) when End == T ->
|
||||
io:fwrite("\n"),
|
||||
Y;
|
||||
|
||||
euler(Func, Y, T, Step, End) ->
|
||||
if
|
||||
T rem 10 == 0 ->
|
||||
io:fwrite("~.3f ",[float(Y)]);
|
||||
true ->
|
||||
ok
|
||||
end,
|
||||
euler(Func, Y + Step * Func(T, Y), T + Step, Step, End).
|
||||
|
||||
analytic(T, End) when T == End ->
|
||||
io:fwrite("\n"),
|
||||
T;
|
||||
|
||||
analytic(T, End) ->
|
||||
Y = (20 + 80 * math:exp(-0.07 * T)),
|
||||
io:fwrite("~.3f ", [Y]),
|
||||
analytic(T+10, End).
|
||||
|
||||
main() ->
|
||||
io:fwrite("Analytic:\n"),
|
||||
analytic(0, 100),
|
||||
io:fwrite("Step 2:\n"),
|
||||
euler(fun cooling/2, 100, 0, 2, 100),
|
||||
io:fwrite("Step 5:\n"),
|
||||
euler(fun cooling/2, 100, 0, 5, 100),
|
||||
io:fwrite("Step 10:\n"),
|
||||
euler(fun cooling/2, 100, 0, 10, 100),
|
||||
ok.
|
||||
Loading…
Add table
Add a link
Reference in a new issue