从头开始相切
Tangent by scratch
我是 Erlang 的新手,我正在使用 Ubuntu 命令行来 运行 程序和 gedit edit/write 代码。
我正在尝试编写切线而不是使用内置数学 class。
我收到以下错误,不确定需要更改什么。
错误
** exception error: an error occurred when evaluating an arithmetic expression
in function math:sqrt/1
called as math:sqrt(-0.07926409746793839)
*** argument 1: is outside the domain for this function
in call from extra:double/1 (extra.erl, line 11)
代码
-module(extra).
-export([double/1]).
-import(io,[fwrite/1]).
% I am a comment.
double(N) ->
Num = math:sin(N),
Dem = math:sqrt(1 - (Num * 2)),
Tan = Num / Dem,
io:fwrite("~w",[Tan]).
我认为在计算 Dem
的 sqrt
时,您应该使用 Num * Num
而不是 Num * 2
。
double(N) ->
Num = math:sin(N),
Dem = math:sqrt(1 - (Num * Num)),
Tan = Num / Dem,
io:fwrite("~w~n",[Tan]).
正如错误所言...
*** argument 1: is outside the domain for this function
在执行 math:sqrt(1 - (Num * 2))
时,显然 Num * 2
变得比 1
更重要,导致否定论点被输入 math:sqrt
,从而导致破损。
插图:sqrt
带有负参数
> math:sqrt(-1).
math:sqrt(-1).
** exception error: an error occurred when evaluating an arithmetic expression
in function math:sqrt/1
called as math:sqrt(-1)
*** argument 1: is outside the domain for this function
WYSIWYG
=> WHAT YOU SHOW IS WHAT YOU GET
我是 Erlang 的新手,我正在使用 Ubuntu 命令行来 运行 程序和 gedit edit/write 代码。
我正在尝试编写切线而不是使用内置数学 class。
我收到以下错误,不确定需要更改什么。
错误
** exception error: an error occurred when evaluating an arithmetic expression
in function math:sqrt/1
called as math:sqrt(-0.07926409746793839)
*** argument 1: is outside the domain for this function
in call from extra:double/1 (extra.erl, line 11)
代码
-module(extra).
-export([double/1]).
-import(io,[fwrite/1]).
% I am a comment.
double(N) ->
Num = math:sin(N),
Dem = math:sqrt(1 - (Num * 2)),
Tan = Num / Dem,
io:fwrite("~w",[Tan]).
我认为在计算 Dem
的 sqrt
时,您应该使用 Num * Num
而不是 Num * 2
。
double(N) ->
Num = math:sin(N),
Dem = math:sqrt(1 - (Num * Num)),
Tan = Num / Dem,
io:fwrite("~w~n",[Tan]).
正如错误所言...
*** argument 1: is outside the domain for this function
在执行 math:sqrt(1 - (Num * 2))
时,显然 Num * 2
变得比 1
更重要,导致否定论点被输入 math:sqrt
,从而导致破损。
插图:sqrt
带有负参数
> math:sqrt(-1).
math:sqrt(-1).
** exception error: an error occurred when evaluating an arithmetic expression
in function math:sqrt/1
called as math:sqrt(-1)
*** argument 1: is outside the domain for this function
WYSIWYG
=> WHAT YOU SHOW IS WHAT YOU GET