Please convert the following to working java compiled code Option Explicit Sub G
ID: 3649642 • Letter: P
Question
Please convert the following to working java compiled codeOption Explicit
Sub GaussElim()
Dim n As Integer, er As Integer, i As Integer
Dim a(10, 10) As Double, b(10) As Double, x(10) As Double
n = 3
a(1, 1) = 1: a(1, 2) = 2: a(1, 3) = -1
a(2, 1) = 5: a(2, 2) = 2: a(2, 3) = 2
a(3, 1) = -3: a(3, 2) = 5: a(3, 3) = -1
b(1) = 2: b(2) = 9: b(3) = 1
Call Gauss(a, b, n, x, er)
If er = 0 Then
For i = 1 To n
MsgBox "x(" & i & ") = " & x(i)
Next i
Else
MsgBox "ill-conditioned system"
End If
End Sub
Sub Gauss(a, b, n, x, er)
Dim i As Integer, j As Integer
Dim s(10) As Double
Const tol As Double = 0.000001
er = 0
For i = 1 To n
s(i) = Abs(a(i, 1))
For j = 2 To n
If Abs(a(i, j)) > s(i) Then s(i) = Abs(a(i, j))
Next j
Next i
Call Eliminate(a, s, n, b, tol, er)
If er <> -1 Then
Call Substitute(a, n, b, x)
End If
End Sub
Sub Pivot(a, b, s, n, k)
Dim p As Integer, ii As Integer, jj As Integer
Dim factor As Double, big As Double, dummy As Double
p = k
big = Abs(a(k, k) / s(k))
For ii = k + 1 To n
dummy = Abs(a(ii, k) / s(ii))
If dummy > big Then
big = dummy
p = ii
End If
Next ii
If p <> k Then
For jj = k To n
dummy = a(p, jj)
a(p, jj) = a(k, jj)
a(k, jj) = dummy
Next jj
dummy = b(p)
b(p) = b(k)
b(k) = dummy
dummy = s(p)
s(p) = s(k)
s(k) = dummy
End If
End Sub
Sub Substitute(a, n, b, x)
Dim i As Integer, j As Integer
Dim sum As Double
x(n) = b(n) / a(n, n)
For i = n - 1 To 1 Step -1
sum = 0
For j = i + 1 To n
sum = sum + a(i, j) * x(j)
Next j
x(i) = (b(i) - sum) / a(i, i)
Next i
End Sub
Sub Eliminate(a, s, n, b, tol, er)
Dim i As Integer, j As Integer, k As Integer
Dim factor As Double
For k = 1 To n - 1
Call Pivot(a, b, s, n, k)
If Abs(a(k, k) / s(k)) < tol Then
er = -1
Exit For
End If
For i = k + 1 To n
factor = a(i, k) / a(k, k)
For j = k + 1 To n
a(i, j) = a(i, j) - factor * a(k, j)
Next j
b(i) = b(i) - factor * b(k)
Next i
Next k
If Abs(a(k, k) / s(k)) < tol Then er = -1
End Sub
Explanation / Answer
function GaussElim() { var n As Integer, er As Integer, i As Integer ; var a(10, 10) As Double, b(10) As Double, x(10) As Double ; n = 3 ; a(1, 1) = 1: a(1, 2) = 2: a(1, 3) = -1 ; a(2, 1) = 5: a(2, 2) = 2: a(2, 3) = 2 ; a(3, 1) = -3: a(3, 2) = 5: a(3, 3) = -1 ; b(1) = 2: b(2) = 9: b(3) = 1 ; Gauss(a, b, n, x, er) ; if(er == 0){ For i = 1 To n ; alert("x(" + i + ")) = " + x(i) ; Next i ; }else{ ; alert("ill-conditioned system" ); } ; } function Gauss(a, b, n, x, er) { var i As Integer, j As Integer ; var s(10) As Double ; var tol As Double = 0.000001 ; er = 0 ; For i = 1 To n ; s(i) = Abs(a(i, 1)) ; For j = 2 To n ; if(Abs(a(i, j)) > s(i)){ s(i) = Abs(a(i, j)) Next j ; Next i ; Eliminate(a, s, n, b, tol, er) ; if(er != -1){ Substitute(a, n, b, x) } ; } function Pivot(a, b, s, n, k) { var p As Integer, ii As Integer, jj As Integer ; var factor As Double, big As Double, dummy As Double ; p = k ; big = Abs(a(k, k) / s(k)) ; For ii = k + 1 To n ; dummy = Abs(a(ii, k) / s(ii)) ; if(dummy > big){ big = dummy ; p = ii ; } ; Next ii ; if(p != k){ For jj = k To n ; dummy = a(p, jj) ; a(p, jj) = a(k, jj) ; a(k, jj) = dummy ; Next jj ; dummy = b(p) ; b(p) = b(k) ; b(k) = dummy ; dummy = s(p) ; s(p) = s(k) ; s(k) = dummy ; } ; } function Substitute(a, n, b, x) { var i As Integer, j As Integer ; var sum As Double ; x(n) = b(n) / a(n, n) ; For i = n - 1 To 1 Step -1 ; sum = 0 ; For j = i + 1 To n ; sum = sum + a(i, j) * x(j) ; Next j ; x(i) = (b(i) - sum) / a(i, i) ; Next i ; } function Eliminate(a, s, n, b, tol, er) { var i As Integer, j As Integer, k As Integer ; var factor As Double ; For k = 1 To n - 1 ; Pivot(a, b, s, n, k) ; if(Abs(a(k, k) / s(k))Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.