def setUp(self):
# real function
self.z_values = np.linspace(0, 1, 1000)
self.real_func = core.Function(lambda x: x)
self.real_func_handle = np.vectorize(self.real_func)
# approximation by lag1st
self.nodes, self.src_test_funcs = shapefunctions.cure_interval(shapefunctions.LagrangeFirstOrder, (0, 1),
node_count=2)
register_base("test_funcs", self.src_test_funcs, overwrite=True)
self.src_weights = core.project_on_base(self.real_func, self.src_test_funcs)
self.assertTrue(np.allclose(self.src_weights, [0, 1])) # just to be sure
self.src_approx_handle = core.back_project_from_base(self.src_weights, self.src_test_funcs)
# approximation by sin(w*x)
def trig_factory(freq):
def func(x):
return np.sin(freq*x)
return func
self.trig_test_funcs = np.array([core.Function(trig_factory(w), domain=(0, 1)) for w in range(1, 3)])
评论列表
文章目录