8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242

Разность функций

21.03.2022, 22:55. Показов 2413. Ответов 7

Студворк — интернет-сервис помощи студентам
Добрый вечер, уважаемые форумчане!

У меня есть следующая проблема: есть две функции, заданные ступенчатым образом:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def fct(x):
    if -2 <= x < -1:
        y = 1.0
    elif -1 <= x < 0:
        y = -1.0
    elif 0 <= x < 0.5:
        y = 2.0
    elif 0.5 <= x < 1:
        y = -2
    else:
        y = 0
    return y
 
 
def phi_k_l(x):
    if -2 <= x < -1:
        y = 1.4142 * 0.707
    elif -1 <= x < 0:
        y = -1.4142 * 0.707
    elif 0 <= x < 1 / 2:
        y = 2.0 * 1
    elif 1 / 2 <= x < 1:
        y = -2.0 * 1
    else:
        y = 0
    return y
Мне нужно вычислить разность между ними, напечатать как сами функции, так и разность на одном графике:
Python
1
2
3
4
5
6
7
8
9
out1 = lambda x: phi_k_l(x)
out2 = lambda x: fct(x)
 
 
def mid():
    return out2 - out1
 
 
plot([phi_k_l, fct, abs(mid())], [-2.2, 1.5])
Я получаю ошибку (понимаю что она значит):
Code
1
TypeError: unsupported operand type(s) for -: 'function' and 'function'
Как мне исправить данную ошибку, не переписывая fct(x) и phi_k_l(x) через lambda x: ?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.03.2022, 22:55
Ответы с готовыми решениями:

Определить разность максимального и минимального элементов. Заменить положительные элементы списка на данную разность
Напишите функцию (подпрограмму), которая заполняет список из 10 целых чисел числами, считанными с клавиатуры. Определить разность...

Программа неверно считает разность функций
type TF=function (x:real):real; function f1(x:real):real; begin f1:=1+4/(x*x+1); end; function f2(x:real):real; begin ...

Вывести объединение, пересечение, разность А\В, разность В\А и симметрическую разность двух множеств
2) Программа должна запросить у пользователя два множества символов А и В и вывести их объединение, пересечение, разность А\В, разность В\А...

7
15 / 14 / 1
Регистрация: 16.11.2019
Сообщений: 33
22.03.2022, 07:52
Можно конкретнее? Тебе нужно напечатать результат выполнения обеих функций и разность между их значениями?
0
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
22.03.2022, 08:54  [ТС]
Tamirlan2006,

Мне необходимо построить эти две функции, и разность между ними
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
22.03.2022, 09:21
Python
1
2
3
4
5
6
def diff(f1,f2):
    return lambda x: f1(x)-f2(x)
 
#Вызов
 
diff(phi_k_l,fct)(3.5)
1
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,242
Записей в блоге: 4
22.03.2022, 10:46
Лучший ответ Сообщение было отмечено dux99 как решение

Решение

Графики накладываются, следовательно разность равна нулю
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
 
def fct(x):
    if -2 <= x < -1:   y = 1.0
    elif -1 <= x < 0:  y = -1.0
    elif 0 <= x < 0.5: y = 2.0
    elif 0.5 <= x < 1: y = -2
    else:              y = 0
    return y
 
 
def phi_k_l(x):
    if -2 <= x < -1:      y = 1.4142 * 0.707
    elif -1 <= x < 0:     y = -1.4142 * 0.707
    elif 0 <= x < 1 / 2:  y = 2.0 * 1
    elif 1 / 2 <= x < 1:  y = -2.0 * 1
    else:                 y = 0
    return y
 
x = np.arange(-3, 2, 0.1)
yf = [fct(i) for i in x]
yp = [phi_k_l(i) for i in x]
yd = [fct(i)-phi_k_l(i) for i in x]
 
sns.set_style("whitegrid")  #  Стиль
 
fig, ax = plt.subplots(figsize = (16,12))
 
ax.set_ylabel('Y', size=12)
ax.set_xlabel('X', size=12)
 
sns.lineplot(x=x,y=yf, color = 'red', linestyle = '--', linewidth = 5)
sns.lineplot(x=x,y=yp, color = 'green', linewidth = 2) 
sns.lineplot(x=x,y=yd, color = 'blue')  # разность функций
 
fig.savefig('graph', dpi=300, bbox_inches = 'tight')  # сохранить график в рабочую папку


0
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,242
Записей в блоге: 4
22.03.2022, 11:06
График неправильно построился. Надо исправить шаг
x = np.arange(-3, 2, 0.01)

Но суть от этого не меняется
0
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
22.03.2022, 11:18  [ТС]
VistaSV30,

Да, это логично, что разница будет нулевой, только в данном случае разрывы неправильны построены, поэтому я numpy и не использовал (вертикальные пряме должны строго идти в точках -2,-1,0,1/2,1
0
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,242
Записей в блоге: 4
22.03.2022, 11:20
dux99, надо приращение сделать 0,01
x = np.arange(-3, 2, 0.01)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2022, 11:20
Помогаю со студенческими работами здесь

Написать программу, которая будет находить разность тригононометрических функций
Всем привет, у меня проблема. Нужно в С++ написать программу, которая будет находить разность y и z, если подставить значение альфы, беты...

Вычислить разность потенциалов дельта между точками. Построить графики функций
Два бесконечно длинных цилиндрических проводника, оси которых совпадают, имеют радиусы R1=5 см и R2= 15 см. Цилиндры заряжены равномерно...

Найти: объединение множеств, пересечение множеств, разность А\В, разность В\А, симметрическую разность
Составить множество А из букв фамилии, множество В – из букв имени, множество С – из букв отчества (повторяющиеся элементы удалить)....

Найти разность фаз колебаний, оптическую разность хода и порядок интерференции
Здравствуйте! Помогите, пожалуйста, с задачей. Два когерентных источника с длиной волны 600 нм помещены в две среды - сероуглерод (n1...

Найти пересечение, объединение, разность А/В, В/А, доп. А̅, В̅, симметр. разность множеств. Изобразить их на плоскости
Пусть U – множество точек плоскости, на которой задана декартовая система координат. Найти сечение, объединение, разность А/В, В/А, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru