Mathematica Mathematica - Iterations with 2 arguments

  • Thread starter Thread starter nothingbetter
  • Start date Start date
  • Tags Tags
    Mathematica
AI Thread Summary
The discussion revolves around creating a function in Mathematica that generates a list of iterations based on the formula x(n+1) = a*sin[x(n)], starting from x0 = 1.0. The initial attempt to use NestList with a*Sin directly did not work, as Mathematica requires a function format. The solution involved using the shorthand "&" to define an anonymous function, allowing the correct implementation of the iteration function. The final working code is iteration[a_, n_] := NestList[(a*Sin[#]) &, 1.0, n], which successfully generates the desired list of values. The use of Function[] is also mentioned as an alternative, highlighting the flexibility in Mathematica programming. The discussion concludes with confirmation that the solution works effectively.
nothingbetter
Messages
5
Reaction score
0
I'm trying to build a simple function that takes 2 arguments. Basically, I want it to do this:

x(n+1)=a*sin[x(n)]

and generate a list of x0,x1,x2 etc. up to x(n) like NestList does, starting from x0=1.0

So I want to make a list of these iterations, where a is a constant of my choice, and n is the number of iterations. My first guess was to try

iteration[a_,n_]:=NestList[a*Sin,1.0,n]

but of course it doesn't work as Mathematica doesn't recognize a*Sin as a function. So I tried defining a function acos[a_,x_]:=a*Sin[x] first but not only does it look inefficient to define 2 functions for something this simple, it also introduces another argument, and I still can't find a way to get it to work.

Thanks!
 
Physics news on Phys.org
In[1]:= iteration[a_,n_]:=NestList[(a*Sin[#])&,1.0,n]

In[3]:= iteration[1,4]
Out[3]= {1.,0.841471,0.745624,0.67843,0.627572}

"&" is a shorthand for Function[] and you could equally write this as

In[4]:= iteration[a_,n_]:=NestList[Function[x,a*Sin[x]],1.0,n]

In[5]:= iteration[1,4]
Out[5]= {1.,0.841471,0.745624,0.67843,0.627572}

& is commonly used in Mathematica programming, but often confusing when first encountered.
 
I see. It works great, thank you very much!
 

Similar threads

Replies
12
Views
5K
Replies
5
Views
3K
Replies
3
Views
2K
Replies
6
Views
2K
Replies
1
Views
3K
Replies
2
Views
5K
Back
Top