| | |
Beginner help for visual basic
![]() |
•
•
Join Date: May 2008
Posts: 5
Reputation:
Solved Threads: 0
Hi I'm completely new to using VB in excel, but could someone help me fix my program. I'm supposed to find the roots of the equation denoted as func using the newton raphson method. Currently I am not getting the correct roots and the range of values which can be input are very limited. Could someone help on how to fix this? Thanks!
Option Explicit
Function newton(guess)
Dim func As Double, deriv As Double, i As Double, x2 As Double, x As Double, dif As Double
x = guess
For i = 0 To 1000
func = x ^ 2 * Sin(x) + x ^ 3 * Exp(x) - x * Cos(x) - 7
deriv = (x ^ 2 - 1) * Cos(x) + 3 * x * Sin(x) + (x ^ 3 + 3 * x ^ 2) * Exp(x)
x2 = (x - func) / deriv
dif = x2 - x
x = x2
If Abs(dif) < 0.001 Then i = 1000
Next i
newton = x
End FunctionThat's old school Basic. For i = 0 to 1000 is telling the proggie to start counting at 0 and stop at 1000. The func... statement has the proggie calculating each number it sees. Next i is telling the proggie move forward to the next number in the sequence....
(i.e., Start counting at 0, perform calculations, move on to next number (1,2,3,4,5...1000) )
Since 'for' is 0 to 1000 - it automatically stops at 1000.
...at least that's what it used to mean on the 'Trash 80's' (Radio Shack TRS-80 Microcomputer - w/ or w/o monitor)
...yea... i know... I just dated mahsef...
I am who I am...I do what I do
•
•
•
•
Hi I'm completely new to using VB in excel, but could someone help me fix my program. I'm supposed to find the roots of the equation denoted as func using the newton raphson method. Currently I am not getting the correct roots and the range of values which can be input are very limited. Could someone help on how to fix this? Thanks!
Option Explicit Function newton(guess) Dim func As Double, deriv As Double, i As Double, x2 As Double, x As Double, dif As Double x = guess For i = 0 To 1000 func = x ^ 2 * Sin(x) + x ^ 3 * Exp(x) - x * Cos(x) - 7 deriv = (x ^ 2 - 1) * Cos(x) + 3 * x * Sin(x) + (x ^ 3 + 3 * x ^ 2) * Exp(x) x2 = (x - func) / deriv dif = x2 - x x = x2 If Abs(dif) < 0.001 Then i = 1000 Next i newton = x End Function
I'm new too - so if I'm wrong, i apologize now...
First off, are you using VBA? (Visual Basic for Applications) - I've read that there are some inherent differences between it and 'regular' VB...
That being said, and here's where my math fails me, when calculating Sin and Cos - is it written as Sin(#) / Cos(#)?
Standard math says that x(y) = multiplication - so, are the numbers being multiplied by accident?
*scratches head*
If I'm not mistaken, you'd have to specify PI in a program (pi=3.14) - so would the same hold true for Sin & Cos...prior to your calculations?
I am who I am...I do what I do
![]() |
Similar Threads
- Running a VB application with MS Access database (Visual Basic 4 / 5 / 6)
- What program language should a beginner use? (IT Professionals' Lounge)
- Where can I get E-Book for Visual Basic (Visual Basic 4 / 5 / 6)
- Oracle to visual basic (Visual Basic 4 / 5 / 6)
- Visual Basic Help (VB.NET)
- NEED Visual Basic tutorials (Visual Basic 4 / 5 / 6)
- Can anyone help me, please? (Visual Basic 4 / 5 / 6)
- Question in Visual Basic 6.0 (Visual Basic 4 / 5 / 6)
- Re-designed Visual Basic API section, need your review (Website Reviews)
- Great Resources of Visual Basic API Functions (Visual Basic 4 / 5 / 6)
Other Threads in the Visual Basic 4 / 5 / 6 Forum
- Previous Thread: What's wrong with my "searching" code?
- Next Thread: chm file and vb5
| Thread Tools | Search this Thread |
* 6 429 2007 access activex add age application basic beginner birth bmp calculator cd cells.find click client code college component connection connectionproblemusingvb6usingoledb copy creat ctrl+f data database datareport date delete dissertations dissertationthesis dissertationtopic edit error excel excelmacro file filename form hardware header iamthwee image inboxinvb internetfiledownload keypress label listbox listview liveperson login looping machine microsoft movingranges number objectinsert open oracle password prime program prompt range-objects readfile reading record refresh remotesqlserverdatabase report save search sendbyte sites sort sql sql2008 sqlserver subroutine tags textbox time urldownloadtofile vb vb6 vb6.0 vba visual visualbasic visualbasic6 web window windows






