1 | initial version |
Many such plotting problems are solved by using lambda functions.
In this case:
p = plot(lambda x: J(x), (1, 20))
p
2 | No.2 Revision |
Many such plotting problems are solved by using using
a callable function or a lambda functions.function instead
of a symbolic expression.
In this case:The problem is that J(x)
tries to evaluate J
with the symbolic variable x
as an argument,
and it cannot make log(x)/log(2)
an integer
while x
stays symbolic.
To work around that, plot using J
rather than J(x)
:
p = plot(J, (1, 20))
p
or use a lambda function:
p = plot(lambda x: J(x), (1, 20))
p
3 | No.3 Revision |
Many such plotting problems are solved by using a callable function or a lambda function instead of a symbolic expression.
The problem is that J(x)
tries to evaluate J
with the symbolic variable x
as an argument,
and it cannot make log(x)/log(2)
an integer
while x
stays symbolic.
To work around that, plot using J
rather than J(x)
:
p = plot(J, (1, 20))
p
or use a lambda function:
p = plot(lambda x: J(x), (1, 20))
p
The function J could be rewritten as:
def J(x):
return sum(1/i * prime_pi(x**(1/i))
for i in range(1, int(log(x)/log(2)) + 1))