Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программирование на Питон

Лиана Хайдарова Ученик (95), на голосовании 2 месяца назад
Вывести на экран таблицу значений функций f(x),g(x), а также их супер позиций f(g(x)) и g(f(x)) при x∈[a,b] с шагом h. При программировании функций необходимо учитывать область их определения: если при каком-то значенииx функция не определена, то в качестве значения она должна возвращать величину None. а=1, b=, h=0.25 F(X)= G(X)=
Голосование за лучший ответ
Avis Оракул (90197) 3 месяца назад
Вот так, например:
 from math import log,e,exp 
from tabulate import tabulate

def f(x):
#Обход вызова функции с None
if x==None:
return None
#Список условий области определения функции
if x<=0:
return None
else:
return log(x,e) #Функция первая

def g(x):
if x==None:
return None
#Список условий области определения функции. В данном случае ничего не делает.
if isinstance(x, complex):
return None
else:
return exp(x) #Функция вторая

#Диапазон для изменения x
xrng = range(-10,10,1)
#Вывод таблицы x-f(x)-g(x)-f(g(x))-g(f(x))
print(tabulate(zip(xrng,
[f(x) for x in xrng],
[g(x) for x in xrng],
[f(g(x)) for x in xrng],
[g(f(x)) for x in xrng]),
headers=['x', 'f(x)','g(x)','f(g(x))','g(f(x))'],
floatfmt=(".2f"),
tablefmt="simple_grid"))
Там где стоит комментарий "Функция первая" и "Функция вторая" - забивайте своих монстров. В качестве примера я использовал натуральный логарифм и экспоненту, чтобы было наглядно как суперпозиция возвращает само значение х.

Естественно в импорте надо будет добавить sin, cos, tan, sqrt, pi
В ветках if с комментарием "Область определения" написать свои ограничения.
Похожие вопросы