Hello,
I have been trying to write a nSpire function in TI-BASIC to automate newton's method, but I have run in to troubles trying to get it to work like a lot of native nspire functions where one argument is an expression and the other is the variable you want the function to look at. It will only accept a variable to look at only if I define it explicitly as a local, but it can choose between all the ones I have created as locals, it is a little hard to explain, so I will put the code below (f is a function (as a string), var is variable, s is the start point, I is the iterations):
I have been trying to write a nSpire function in TI-BASIC to automate newton's method, but I have run in to troubles trying to get it to work like a lot of native nspire functions where one argument is an expression and the other is the variable you want the function to look at. It will only accept a variable to look at only if I define it explicitly as a local, but it can choose between all the ones I have created as locals, it is a little hard to explain, so I will put the code below (f is a function (as a string), var is variable, s is the start point, I is the iterations):
Code Select
Define LibPub nmethd(f,var,s,i)=
Func
:Local g,gg,lin,ni,k
:k:=string(var)
:expr(f)→g
:ni:=floor(i)
:gg:=d(g,var)
:Local x,y,θ,t © I don't want to have to put every possible variable you can use on this line, if I don't include it, it brings up an error
:#k:=s
:lin:=s-((expr(f))/(expr(string(gg))))
:If i=1 Then
: Return lin
:Else
: nmethd(f,var,lin,i-1)
:EndIf
:EndFunc