Это довольно широкий вопрос, но я попробую, так как он так долго оставался без ответа.
Во-первых, я считаю, что вам нужно уточнить вашу цель (по крайней мере, как было сказаноВот).Я не хотел бы использовать термин «приближение функции» в этом контексте.Если я правильно понимаю ваш вопрос, цель состоит в том, чтобы отобразить нелинейную функцию в другую область с помощью нечетких методов.
Для этого сначала нужно определить функции принадлежности к нечеткому множеству.(Эта ссылка является хорошим примером процесса.) Без дополнительной информации я рекомендую треугольную функцию из-за ее простоты в реализации.Количество нечетких множеств, их размещение и ширина (или поддержка), а также степень перекрытия зависит от конкретного приложения.Вы указали, что вашим входным доменом является [-1,1], поэтому вы можете обнаружить, что три нечетких набора делают свое дело, то есть отрицательный, нулевой и положительный.
Оттуда вам нужно создатьнабор правил, т. е. если x отрицательный, то ...
При наличии правил вы можете определить процесс дефаззификации.Короче говоря, этот шаг взвешивает активацию каждого правила в соответствии с потребностями приложения.
Я не верю, что смогу вносить более полный вклад, пока результат не будет лучше определен.Вы заявляете, что «используйте метод дефаззификации, чтобы получить четкие значения».- что означает этот набор четких значений?Какой диапазон?И т.д. Кроме того, вы получите больше ответов, если сможете определить области, в которых вы застряли (т.е. более конкретные вопросы).