How to plot Chebyshev polynolmials

···

---------- Forwarded message ----------
From: <josef.pktd@...287...>
Date: Tue, Jan 10, 2012 at 10:20 AM
Subject: Re: [Matplotlib-users] How to plot Chebyshev polynolmials
To: Fabien Lafont <lafont.fabien@...287...>

On Tue, Jan 10, 2012 at 9:46 AM, Fabien Lafont <lafont.fabien@...287...> wrote:

No I just want to plot the third Shebitchev polynomial.

the vander functions give you the basis functions for a given x, or
use coefficients only for the polynomial you want, if I understand
correctly what you want

import numpy as np
from numpy import polynomial as poly
chebs = [poly.Chebyshev(coef) for coef in np.eye(5)]
for p in chebs: plt.plot(x, p(x))

...
[<matplotlib.lines.Line2D object at 0x046D91F0>]
[<matplotlib.lines.Line2D object at 0x046D9510>]
[<matplotlib.lines.Line2D object at 0x046D9830>]
[<matplotlib.lines.Line2D object at 0x046D9B50>]
[<matplotlib.lines.Line2D object at 0x046D9E70>]

plt.show()

or

plt.plot(poly.chebvander(x, 5))

Josef

2012/1/10 Daniel Hyams <dhyams@...287...>:

I think that you're misusing Chebyshev (do you really only want to give "3"
as a coefficient..which is just the constant function 3), and you have to
evaluate it in order to give matplotlib some x and y data to plot.

from matplotlib import pyplot as plt
import numpy as np

x = np.linspace(-1.0,1.0)
test = np.polynomial.Chebyshev((1,2,3))
y = test(x)
plt.plot(x,y)
plt.show()

On Tue, Jan 10, 2012 at 9:10 AM, Fabien Lafont <lafont.fabien@...287...> >> wrote:

I'm trying to plot Chebyshev polynolmials using:
numpy.polynomial.Chebyshev:

import math
from numpy import *
from numpy import polynomial as pol
from pylab import *
from scipy import *
from scipy import optimize
import warnings
warnings.simplefilter('ignore', np.RankWarning)

test = pol.Chebyshev(3)
print test
plot (test)

show()

The print return: cheb([ 3.])

=======================================================================
and plot :

Traceback (most recent call last):
File "T:\Dropbox\Thèse\Python\fit sonde\test_poly_Tcheb.py", line
32, in <module>
plot (test)
File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 2458, in
plot
ret = ax.plot(*args, **kwargs)
File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 3849, in
plot
File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 1443,
self._update_line_limits(line)
File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 1451,
in _update_line_limits
p = line.get_path()
File "C:\Python27\lib\site-packages\matplotlib\lines.py", line 644,
in get_path
self.recache()
File "C:\Python27\lib\site-packages\matplotlib\lines.py", line 401, in
recache
y = np.asarray(yconv, np.float_)
File "C:\Python27\lib\site-packages\numpy\core\numeric.py", line
235, in asarray
return array(a, dtype, copy=False, order=order)
TypeError: float() argument must be a string or a number

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--
Daniel Hyams
dhyams@...287...

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users