You are on page 1of 8

Acetate de etilo

Sub secantes()

Dim xi As Double, ladfx As Double, lafx As Double, laraiz As Double, tolerancia As Double,
ximinus As Double, xiplus As Double, fdxi As Double, fdximinus As Double, fdxiplus As Double

Sheets("SEC").Activate

Range("B5:K101").ClearContents

Dim elerror As Double, i As Integer

xi = Cells(1, 2).Value

ximinus = Cells(2, 2).Value

tolerancia = 0.5 * 10 ^ (2 - 5)

For i = 0 To 5

Cells(5 + i, 3).Value = ximinus

Cells(5 + i, 4).Value = xi

fdxi = fx(xi)

fdximinus = fx(ximinus)

xiplus = xi - ((fdxi * (ximinus - xi)) / (fdximinus - (fdxi)))

Cells(5 + i, 5).Value = xiplus

'valor presente

Cells(5 + i, 6).Value = xiplus

'calculo del error

If xiplus <> 0 Then

elerror = Abs((xiplus - xi) / xiplus) * 100

ximinus = xi

xi = xiplus

Else

elerror = 0

End If

Cells(5 + i, 7).Value = elerror

Next i

End Sub
Function fx(x)

fx = (1.5 + (20.72 / x ^ 2)) * (x - 0.1412) - 0.082054 * 300

End Function

Sub titles()

Cells(4, 3).Value = "ximinus"

Cells(4, 4).Value = "xi"

Cells(4, 5).Value = "xiplus"

Cells(4, 6).Value = "xiplus"

Cells(4, 7).Value = "error porcentual"

End Sub
Newton Raphson

Sub parcial()

Dim xi As Double, ladfx As Double, lafx As Double, laraiz As Double, tolerancia As Double

Sheets("NEW").Activate

Range("B5:K100").ClearContents

Dim elerror As Double, i As Integer

xi = Cells(1, 2).Value

tolerancia = 0.5 * 10 ^ (2 - 4)

For i = 0 To 10

Cells(5 + i, 2).Value = xi

lafx = fx(xi)

Cells(5 + i, 4).Value = lafx

ladfx = dfx(xi)

Cells(5 + i, 5).Value = ladfx

laraiz = xi - lafx / ladfx

Cells(5 + i, 3).Value = laraiz

'valor presente

Cells(5 + i, 6).Value = laraiz

Cells(5 + i, 7).Value = xi

'calculo del error

If laraiz <> 0 Then

elerror = Abs((laraiz - xi) / laraiz) * 100

xi = laraiz

Else

elerror = 0

End If

cells(5 + i, 8).Value = elerror

Next i

End Sub
Function fx(x)

fx = (1.5 + (20.72 / x ^ 2)) * (x - 0.1412) - 0.082054 * 300

End Function

Function dfx(x)

dfx = 1.5 - (20.72 / x ^ 2 + 2 * 20.72 * 0.1412 / x ^ 3)

End Function

Sub titles()

Cells(4, 2).Value = "vi"

Cells(4, 3).Value = "v"

Cells(4, 4).Value = "f(vi)"

Cells(4, 5).Value = "f '(vi)"

Cells(4, 6).Value = "vi_presente"

Cells(4, 7).Value = "vi_previo"

Cells(4, 8).Value = "error"

End Sub
AMONIACO

Sub secantes()

Dim xi As Double, ladfx As Double, lafx As Double, laraiz As Double, tolerancia As Double,
ximinus As Double, xiplus As Double, fdxi As Double, fdximinus As Double, fdxiplus As Double

Sheets("SEC").Activate

Range("B5:K101").ClearContents

Dim elerror As Double, i As Integer

xi = Cells(1, 2).Value

ximinus = Cells(2, 2).Value

tolerancia = 0.5 * 10 ^ (2 - 5)

For i = 0 To 5

Cells(5 + i, 3).Value = ximinus

Cells(5 + i, 4).Value = xi

fdxi = fx(xi)

fdximinus = fx(ximinus)

xiplus = xi - ((fdxi * (ximinus - xi)) / (fdximinus - (fdxi)))

Cells(5 + i, 5).Value = xiplus

'valor presente

Cells(5 + i, 6).Value = xiplus

'calculo del error

If xiplus <> 0 Then

elerror = Abs((xiplus - xi) / xiplus) * 100

ximinus = xi

xi = xiplus

Else

elerror = 0

End If

Cells(5 + i, 7).Value = elerror

Next i

End Sub
Function fx(x)

fx = (1.5 + (4.225 / x ^ 2)) * (x – 0.03707) - 0.082054 * 300

End Function

Sub titles()

Cells(4, 3).Value = "ximinus"

Cells(4, 4).Value = "xi"

Cells(4, 5).Value = "xiplus"

Cells(4, 6).Value = "xiplus"

Cells(4, 7).Value = "error porcentual"


Newton Raphson

Sub parcial()

Dim xi As Double, ladfx As Double, lafx As Double, laraiz As Double, tolerancia As Double

Sheets("NEW").Activate

Range("B5:K100").ClearContents

Dim elerror As Double, i As Integer

xi = Cells(1, 2).Value

tolerancia = 0.5 * 10 ^ (2 - 4)

For i = 0 To 10

Cells(5 + i, 2).Value = xi

lafx = fx(xi)

Cells(5 + i, 4).Value = lafx

ladfx = dfx(xi)

Cells(5 + i, 5).Value = ladfx

laraiz = xi - lafx / ladfx

Cells(5 + i, 3).Value = laraiz

'valor presente

Cells(5 + i, 6).Value = laraiz

Cells(5 + i, 7).Value = xi

'calculo del error

If laraiz <> 0 Then

elerror = Abs((laraiz - xi) / laraiz) * 100

xi = laraiz

Else

elerror = 0

End If

cells(5 + i, 8).Value = elerror

Next i

End Sub
Function fx(x)

fx = (1.5 + (4.225 / x ^ 2)) * (x - 0.03707) - 0.082054 * 300

End Function

Function dfx(x)

dfx = 1.5 - (4.225 / x ^ 2 + 2 * 4.225 * 0.03707 / x ^ 3)

End Function

Sub titles()

Cells(4, 2).Value = "vi"

Cells(4, 3).Value = "v"

Cells(4, 4).Value = "f(vi)"

Cells(4, 5).Value = "f '(vi)"

Cells(4, 6).Value = "vi_presente"

Cells(4, 7).Value = "vi_previo"

Cells(4, 8).Value = "error"

End Sub

You might also like