Defining a counting function in mathematica

In summary, the speaker is seeking a method to count the number of positive zeros less than a given number for a family of functions. They have searched various sources and are seeking a general method to apply to their specific problem. They also clarify their use of LaTeX terminology. The suggestion is made to use the FindInstance function.
  • #1
michael71828
4
0
Hi and thank you for reading this.

I'm learning to use mathematica and among those things I'm trying to do, is to define a function that can count for me, say, the number of positive zeros less than a given number Z of a familly of function.

For exemple, let f_n(x) = sin(x/n) for any natural number n. I want mathematica (or any other program you may suggest) to compute the cardinality of {x \in ]0,Z[ = (0,Z) : \exists n \in N for which f_n(x)=0}. For Z = \pi + 1, I would expect that cardinality to be 1, in that case. For Z=2\pi +1, it'd be 2, and so on.

I want a general method, so I can apply it to my specific problem.

Just let you know that I've google'd it, I looked wolfram's forums, wolfram documentation, asked friends, and couldn't find it !

I hope I was clear, and that my english wasn't too bad.

Thank you !
 
Physics news on Phys.org
  • #2
Maybe the 2\pi +1 and so on wasn't so clear.

I really meant ''x over n'' in sin(x/n), but I used LaTeX terminology for ''pi'' 2\pi is really 2*pi.

I don't think I fooled many of you, but just in case... :)
 
  • #3
Or maybe MATLAB would be better ?
 
  • #4
Hi michael71828, welcome to PF,

For future reference you can display LaTeX using tex tags. Also, you will get faster answers if you don't respond to your own OP since some people look for unanswered posts and respond to those first.

I would recommend the FindInstance function for your purpose. Look at the documentation and see if you have any questions on how to use it. Be sure to use the option which allows you to specify the maximum number of instances to return.
 
  • #5


Hello,

Defining a counting function in Mathematica can be done using the "Count" function. This function takes two arguments, a list and a pattern, and returns the number of elements in the list that match the pattern. In your case, you can use the "Table" function to generate a list of values for x and then use the "Count" function to count the number of zeros for each value of x. The code would look something like this:

f[n_, x_] := Sin[x/n] (* define the family of functions *)

countZeros[Z_] := Module[{xList, zeroCount},
xList = Table[x, {x, 0, Z, 0.01}]; (* generate a list of x values *)
zeroCount = Count[f[#, xList], 0] & /@ Range[1, Z]; (* count the number of zeros for each x value *)
Total[zeroCount] (* sum up the counts for all x values *)
]

countZeros[Pi + 1] (* output: 1 *)
countZeros[2Pi + 1] (* output: 2 *)

You can modify the code to fit your specific problem and use different functions instead of "Sin" if needed. I hope this helps and good luck with your project!
 

Similar threads

Replies
1
Views
908
Replies
4
Views
2K
Replies
13
Views
2K
Replies
19
Views
1K
Replies
1
Views
1K
Replies
2
Views
2K
Replies
1
Views
2K
Replies
3
Views
2K
Back
Top