i have made a code for finding a derivative and now im trying to use it to help me with a code for the newton raphson method: 
def derivative (f,x,h):

import math

return float(1/(2*h)) * (f(x+h)  f(xh))


def solve (f,x0,h):

delta= f(x(n))/fp(x(n)

for x(n+1) in solve():

x(n)delta
the first def works fine but i cant get the second def to work can anyone see what im doing wrong?
10 8778 bvdet 2,851
Expert Mod 2GB
i have made a code for finding a derivative and now im trying to use it to help me with a code for the newton raphson method: 
def derivative (f,x,h):

import math

return float(1/(2*h)) * (f(x+h)  f(xh))


def solve (f,x0,h):

delta= f(x(n))/fp(x(n)

for x(n+1) in solve():

x(n)delta
the first def works fine but i cant get the second def to work can anyone see what im doing wrong?
In function solve(), you have passed arguments 'f', 'x0' and 'h'. Where are 'x', 'fp', and 'n' defined? You are calling function 'solve()' recursively, but you are not passing any arguments to it. 'solve()' requires three arguments. The format of a 'for' loop is:  for item in iterable:

......code......
'item' cannot be an expression.  >>> for x+1 in range(10):

... print x

Traceback (SyntaxError: can't assign to operator

>>>
how am im supposed to fix it? fp in solve is the fisrt function. u use the first function to get the derivative of f in the first function. do u know how i fix this?
In function solve(), you have passed arguments 'f', 'x0' and 'h'. Where are 'x', 'fp', and 'n' defined? You are calling function 'solve()' recursively, but you are not passing any arguments to it. 'solve()' requires three arguments. The format of a 'for' loop is:  for item in iterable:

......code......
'item' cannot be an expression.  >>> for x+1 in range(10):

... print x

Traceback (SyntaxError: can't assign to operator

>>>
bvdet 2,851
Expert Mod 2GB
how am im supposed to fix it? fp in solve is the fisrt function. u use the first function to get the derivative of f in the first function. do u know how i fix this?
I am not familiar with the calculation you are attempting. I know that it will not work if 'fp()' is not defined inside of 'solve()' or globally to your module.
globally in the module?
I am not familiar with the calculation you are attempting. I know that it will not work if 'fp()' is not defined inside of 'solve()' or globally to your module.
bvdet 2,851
Expert Mod 2GB
globally in the module?
Let's say your code is in a file called function.py.  # code.py

def fp():

....code....


def derivative (f,x,h):

import math

return float(1/(2*h)) * (f(x+h)  f(xh))


def solve (f,x0,h):

delta= f(x(n))/fp(x(n)

for x(n+1) in solve():

x(n)delta


if __name__ == __main__:

....call your functions...
Function 'fp()' is global to module 'function'.
ok. is there a simpler way to write the newton raphsons method in python? ive looked at the discussions in the forums here and havent found anything that could help m efurther than what i already know. do u have any clue on how to write the method?
Let's say your code is in a file called function.py.  # code.py

def fp():

....code....


def derivative (f,x,h):

import math

return float(1/(2*h)) * (f(x+h)  f(xh))


def solve (f,x0,h):

delta= f(x(n))/fp(x(n)

for x(n+1) in solve():

x(n)delta


if __name__ == __main__:

....call your functions...
Function 'fp()' is global to module 'function'.
bvdet 2,851
Expert Mod 2GB
ok. is there a simpler way to write the newton raphsons method in python? ive looked at the discussions in the forums here and havent found anything that could help m efurther than what i already know. do u have any clue on how to write the method?
The Newton Raphson method uses an iterative process to approximate the root of a function. That's all I know about the subject, and I had to look that up.
ok. is there a simpler way to write the newton raphsons method in python? ive looked at the discussions in the forums here and havent found anything that could help m efurther than what i already know. do u have any clue on how to write the method?
Here's what I have come up with:
import math  def derivative (f, x, h):

return float((f(x + h)  f(x))) / h


def solve(f, x0, h, depth):

if depth > 0:

delta = f(x0) / derivative(f, x0, h)

return solve(f, x0  delta, h, depth  1)

else:

return x0
I changed the formulas in your function to ones I'm more familiar with, and I had to add the parameter "depth" to tell the solve function when to stop. That's necessary because when working with the NewtonRaphson Method, you have to choose how many times you use it.
To use the solve function, you can either do something like this:  def function(x):

return math.cos(x)  x**3


solve(function, 0.5, 0.001, 6)
or:  function = lambda x: math.cos(x)  x**3

solve(function, 0.5, 0.001, 6)
Either way in that example your approximating the root of "cos(3)  x**3" by applying the NewtonRaphson Method 6 times with a starting guess of "0.5". The "0.001" is the "h" value used to approximate your derivative. The lower it is the more accurate the derivative will be.
bvdet 2,851
Expert Mod 2GB
Here's what I have come up with:
import math  def derivative (f, x, h):

return float((f(x + h)  f(x))) / h


def solve(f, x0, h, depth):

if depth > 0:

delta = f(x0) / derivative(f, x0, h)

return solve(f, x0  delta, h, depth  1)

else:

return x0
I changed the formulas in your function to ones I'm more familiar with, and I had to add the parameter "depth" to tell the solve function when to stop. That's necessary because when working with the NewtonRaphson Method, you have to choose how many times you use it.
To use the solve function, you can either do something like this:  def function(x):

return math.cos(x)  x**3


solve(function, 0.5, 0.001, 6)
or:  function = lambda x: math.cos(x)  x**3

solve(function, 0.5, 0.001, 6)
Either way in that example your approximating the root of "cos(3)  x**3" by applying the NewtonRaphson Method 6 times with a starting guess of "0.5". The "0.001" is the "h" value used to approximate your derivative. The lower it is the more accurate the derivative will be.
That's great KaezarRex  nice solution to an interesting problem.
BV
Hello!
(NewtonRaphson Method)
Can anyone describe how this code work?
What is depth, and how is solve working?
The function derivative only give us the derivative of a function:
for example: 
>>> derivative(math.sin, math.pi, 0.0001)

0.9999999983354435

But how is solve work?
solve use derivative function. 
def derivative (f, x, h):

return float((f(x + h)  f(x))) / h


def solve(f, x0, h, depth):

if depth > 0:

delta = f(x0) / derivative(f, x0, h)

return solve(f, x0  delta, h, depth  1)

else:

return x0

Sign in to post your reply or Sign up for a free account.
Similar topics
by: moi 
last post by:
Can someone please help with this problem im having. i have to use the
newtonraphson technique to find the root of a function, in this case X^2 
1. basically, the program has to read in values...

by: sekitoleko 
last post by:
c program for newton raphson algorithm for finding roots of a polynomial

by: JamesUmokoro 
last post by:
Please Im writing a project on mathematics here in school. Can someone help me with the source code for solving Numerical Analysis problem with Newton Raphson using Java programming? Thank you all...

by: kartikegarg 
last post by:
can you help me please with this problem..
i want a c program using newton raphson method for solving 18 equations...
the equations are not of degree greater than 1...
i need the program to input...

by: spranto 
last post by:
Hi guys I allready oppened another thread to know if someone can help me to solve a 3 non linear equation system. I tryed this code to make the newton raphson method to work, but insted of converging...

by: kolnit 
last post by:
Find a soln to the following eqtn by NewtonRaphson's method
e^(0.05x)+x^2=132254
Let f(x)= e^(0.05x)+x^2132254
perform iterations until abs f(x)<10^6
I just have no idea wt to do!!...

by: dynamo 
last post by:
Hi guys,i was wondering if anyone knows the code to solve equations using the newton raphson method in matlab.Or at least the algorithm.

by: precioasisbest 
last post by:
Please,I need a program in visual basic to solve the question below:
By applying Newton Raphson method,find the root of 3x2tanx=0 given that there is a root between pie/6 and pie/3.Thank you.

by: pauldepstein 
last post by:
Let double NR( double x, double(*)(const double&) f ) be the
signature of a NewtonRaphson function NR.
Here, f is a function which returns a double and accepts a const
double&. The aim of...

by: lllomh 
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{

by: Aliciasmith 
last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...

by: tracyyun 
last post by:
Hello everyone,
I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...

by: giovanniandrean 
last post by:
The energy model is structured as follows and uses excel sheets to give input data:
1Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...

by: Teri B 
last post by:
Hi, I have created a subform Roles. In my course form the user selects the roles assigned to the course.
0netomany. One course many roles.
Then I created a report based on the Course form and...

by: nia12 
last post by:
Hi there,
I am very new to Access so apologies if any of this is obvious/not clear.
I am creating a data collection tool for health care employees to complete. It consists of a number of...

by: NeoPa 
last post by:
Introduction
For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...

by: isladogs 
last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, Mike...

by: GKJR 
last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...
 