def plot():
	
	x = 0.01
	x_values = []
	while x <= 10.0:
		x_values.append(x)
		x += 0.01


	# x*sin(x) and fourier series of it:
	y_fourier = []
	for x in x_values:
		f_x = fourier[0]/2

		for n in range (1,16):
			f_x += fourier[n*2 - 1]*cos.number(n*omega*x) + fourier[n*2]*sin.number(n*omega*x)
		
		y_fourier.append(f_x)

	xsinx = []
	for x in x_values:
		xsinx.append( x*sin.number(x) )

	plt.plot(x_values, xsinx, label="g(x) = xsinx" )
	plt.plot(x_values, y_fourier, label="Fourier of g(x)" )




	# song part:

	y_song = []
	for x in x_values:
		f_x = current[0]/2

		for n in range (1,16):
			f_x += current[n*2 - 1]*cos.number(n*omega*x) + current[n*2]*sin.number(n*omega*x)
		
		y_song.append(f_x)

	y_unknown = []
	for x in x_values:
		f_x = unknown[0]/2

		for n in range (1,16):
			f_x += unknown[n*2 - 1]*cos.number(n*omega*x) + unknown[n*2]*sin.number(n*omega*x)
		
		y_unknown.append(f_x)

	plt.plot(x_values, y_song, label="Current song" )
	plt.plot(x_values, y_unknown, label="Unknown song" )
	
	
	plt.legend(bbox_to_anchor=(1.05, 1), loc=1, borderaxespad=0.)
	plt.show()
def anFunction(x, n):
    return unknown_f(x) * cos.number(omega * n * x)
def anFunction(x, n):
	return x*sin.number(x)*cos.number(omega*n*x)
def cosRootFunction(s):
    return s*cos.number(cube_root.cube_root(s))