How*_*rto 2 ruby complex-numbers sqrt
我正在尝试使用以下代码从负数的平方根创建复数:
include Math
z = Complex(sqrt(-9))
Run Code Online (Sandbox Code Playgroud)
但它产生了这个错误:
Math::DomainError: Numerical argument is out of domain - "sqrt"
from kata2.rb:20:in `sqrt'
from kata2.rb:20:in `polinomio'
from kata2.rb:34
from /home/howarto/.rvm/rubies/ruby-2.0.0-p247/bin/irb:13:in `<main>'
Run Code Online (Sandbox Code Playgroud)
如何从负数的平方根构建复数?
该Math.sqrt函数无法计算负数的平方根:
irb> Math.sqrt(-1)
Math::DomainError: Numerical argument is out of domain - "sqrt"
...
Run Code Online (Sandbox Code Playgroud)
您必须使用CMath根据需要返回复数的模块:
irb> require 'cmath'
irb> CMath.sqrt(-1)
# => (0+1.0i)
irb> CMath.sqrt(-1).class
# => Complex
irb> CMath.sqrt(1).class
# => Float
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3380 次 |
| 最近记录: |