Sha256: 5ae53507027d0a08e1e0bf4f6e455f44669a9879de4c1b0a81a28ac206b2bba8
Contents?: true
Size: 836 Bytes
Versions: 2
Compression:
Stored size: 836 Bytes
Contents
#!/usr/local/bin/ruby # # nlsolve.rb # An example for solving nonlinear algebraic equation system. # require "bigdecimal" require "bigdecimal/newton" include Newton class Function def initialize() @zero = BigDecimal::new("0.0") @one = BigDecimal::new("1.0") @two = BigDecimal::new("2.0") @ten = BigDecimal::new("10.0") @eps = BigDecimal::new("1.0e-16") end def zero;@zero;end def one ;@one ;end def two ;@two ;end def ten ;@ten ;end def eps ;@eps ;end def values(x) # <= defines functions solved f = [] f1 = x[0]*x[0] + x[1]*x[1] - @two # f1 = x**2 + y**2 - 2 => 0 f2 = x[0] - x[1] # f2 = x - y => 0 f <<= f1 f <<= f2 f end end f = BigDecimal::limit(100) f = Function.new x = [f.zero,f.zero] # Initial values n = nlsolve(f,x) p x
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
rubysl-bigdecimal-1.0.0 | lib/bigdecimal/sample/nlsolve.rb |
bigdecimal-1.1.0 | sample/nlsolve.rb |