Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions Chapter01/RPL/714222074/elips.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package main

import (
"fmt"

"gorgonia.org/gorgonia"
)

func main() {
g := gorgonia.NewGraph()

// definisi konstanta-konstanta
a := gorgonia.NewScalar(g, gorgonia.Float64, gorgonia.WithName("a"))
b := gorgonia.NewScalar(g, gorgonia.Float64, gorgonia.WithName("b"))

// definisi variabel x dan y
x := gorgonia.NewScalar(g, gorgonia.Float64, gorgonia.WithName("x"))
y := gorgonia.NewScalar(g, gorgonia.Float64, gorgonia.WithName("y"))

// persamaan elips
eq1 := gorgonia.Must(gorgonia.Pow(x, gorgonia.NewConstant(2.0)))
eq2 := gorgonia.Must(gorgonia.Pow(y, gorgonia.NewConstant(2.0)))
eq3 := gorgonia.Must(gorgonia.Pow(a, gorgonia.NewConstant(2.0)))
eq4 := gorgonia.Must(gorgonia.Pow(b, gorgonia.NewConstant(2.0)))
eq5 := gorgonia.Must(gorgonia.Div(eq1, eq3))
eq6 := gorgonia.Must(gorgonia.Div(eq2, eq4))
eq7 := gorgonia.Must(gorgonia.Add(eq5, eq6))
eq8 := gorgonia.Must(gorgonia.Sub(gorgonia.NewConstant(1.0), eq7))

// kompilasi dan eksekusi graph
machine := gorgonia.NewTapeMachine(g)
defer machine.Close()

// assign nilai konstanta-konstanta
gorgonia.Let(a, 2.0)
gorgonia.Let(b, 3.0)

// assign nilai variabel x dan y
gorgonia.Let(x, 1.0)
gorgonia.Let(y, 2.0)

// jalankan perhitungan
if err := machine.RunAll(); err != nil {
fmt.Println(err)
}

// tampilkan hasil
fmt.Printf("nilai persamaan elips: %v", eq8.Value())
}
26 changes: 26 additions & 0 deletions Chapter01/RPL/714222074/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
module github.com/bukped/ai/Chapter01/RPL/714222074

go 1.20

require (
github.com/apache/arrow/go/arrow v0.0.0-20210105145422-88aaea5262db // indirect
github.com/awalterschulze/gographviz v0.0.0-20190221210632-1e9ccb565bca // indirect
github.com/chewxy/hm v1.0.0 // indirect
github.com/chewxy/math32 v1.0.7-0.20210223031236-a3549c8cb6a9 // indirect
github.com/gogo/protobuf v1.3.1 // indirect
github.com/golang/protobuf v1.4.3 // indirect
github.com/google/flatbuffers v1.12.0 // indirect
github.com/leesper/go_rng v0.0.0-20171009123644-5344a9259b21 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/xtgo/set v1.0.0 // indirect
go4.org/unsafe/assume-no-moving-gc v0.0.0-20201222180813-1025295fd063 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
gonum.org/v1/gonum v0.8.2 // indirect
google.golang.org/protobuf v1.25.0 // indirect
gorgonia.org/cu v0.9.3 // indirect
gorgonia.org/dawson v1.2.0 // indirect
gorgonia.org/gorgonia v0.9.17 // indirect
gorgonia.org/tensor v0.9.17 // indirect
gorgonia.org/vecf32 v0.9.0 // indirect
gorgonia.org/vecf64 v0.9.0 // indirect
)
Loading