def generate_mf_group(self, G, x): mf_group = {} for (k, v) in G.iteritems(): shp = v['shp'] mf = v['mf'] if mf == 'trap': mf_group[k] = trapmf(x, shp) if mf == 'tri': mf_group[k] = trimf(x, shp) if mf == 'gbell': mf_group[k] = gbellmf(x, shp[0], shp[1], shp[2]) if mf == 'gauss': mf_group[k] = gaussmf(x, shp[0], shp[1]) if mf == 'gauss2': mf_group[k] = gauss2mf(x, shp[0], shp[1]) if mf == 'sig': mf_group[k] = sigmf(x, shp[0], shp[1]) if mf == 'psig': mf_group[k] = psigmf(x, shp[0], shp[1], shp[2], shp[3]) if mf == 'zmf': mf_group[k] = zmf(x, shp[0], shp[1], shp[2], shp[3]) if mf == 'smf': mf_group[k] = smf(x, shp[0], shp[1], shp[2], shp[3]) if mf == 'pimf': mf_group[k] = pimf(x, shp[0], shp[1], shp[2], shp[3]) if mf == 'piecemf': mf_group[k] = piecemf(x, shp[0], shp[1], shp[2], shp[3]) return mf_group
def test_piecemf_c_smaller_than_max_x(): x = np.arange(0, 2.6, 0.1) expected = np.r_[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.5, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1., 1., 1., 1., 1., 1.] test = piecemf(x, [1, 1.25, 2]) assert_allclose(test, expected)
def test_piecemf(): x = np.arange(0, 2.1, 0.1) expected = np.r_[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.] test = piecemf(x, [1, 1.25, 2]) assert_allclose(test, expected)