Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
23 / 21 / 3
Регистрация: 27.10.2017
Сообщений: 192

как реализовать подсчет

15.04.2019, 17:02. Показов 832. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
import math
 
def function(x1, x2):
    return (2*(x1**2))+x1*x2+(x2**2)
 
 
x = []
x.append((0.5, 1))
x1 = x[0][0]
X = 0
x2 = x[0][1]
e1 = 0.1
e2 = 0.15
M = 10
k = 0
j = 0
jj = 0
sumjj = []
gradient = []
gradient.append((4*x1+x2, 2*x2+x1))
norma = math.sqrt((gradient[0][0]**2) + (gradient[0][1]**2))
if norma <e1:
    X = x[k]
    #break
if k >= M:
    X = x[k]
    #break
j = (list(map(lambda v: (v[0][0]-alpha*v[1][0]), zip(x, gradient))))
jj = (list(map(lambda v: (v[0][1]-alpha*v[1][1]), zip(x, gradient))))
sumjj.append((j, jj))
print(sumjj)
Должно получаться так, что я из вектора (0,5 ; 1) вычитаю alpha*(3; 2,5) <- градиент, позже у меня получается что-то вроде такого (0,5 - alpha*3; 1 - alpha * 2.5) эти два значения я подставляю в исходную функцию и ищу производную, чтобы в итоге узнать чему равно alpha, как это можно реализовать?

Добавлено через 11 минут
(Для конкретной задачи)

Добавлено через 10 минут
Получилось сделать то что хотел через symbols,
но теперь при передаче полученных значений в j и jj в функцию вылетает такая ошибка
Traceback (most recent call last):
File "C:/pycharm2/methodone.py", line 35, in <module>
print(function(j, jj))
File "C:/pycharm2/methodone.py", line 5, in function
return (2*(x1**2))+x1*x2+(x2**2)
TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2019, 17:02
Ответы с готовыми решениями:

Как реализовать подсчет периметра забора
Ситуация такая. Реализовать подсчет то не сложно, там тупо арифметика, но не могу понять, какой элемент использовать для последовательного...

Как реализовать подсчет трафика интернета
1. Как реализовать подсчет трафика интернета на одном компьютере если к маршрутизатору подсоединены несколько компьютеров по LAN...

Как реализовать подсчет суммы цен услуг?
Кратко опишу суть: -акт - некий документ, оформляемый в случае ремонта устройства. -В акте содержится идентификатор устройства, дата,...

6
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
15.04.2019, 17:20
nikita55050505, и что у вас записано в x1, x2 при вызове функции? Числа? Или же списки? Что такое alpha?
0
23 / 21 / 3
Регистрация: 27.10.2017
Сообщений: 192
15.04.2019, 17:30  [ТС]
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
import math
from sympy import diff, symbols
 
def function(x1, x2):
    return (2*(x1**2))+x1*x2+(x2**2)
 
 
x = []
x.append((0.5, 1))
x1 = x[0][0]
X = 0
x2 = x[0][1]
e1 = 0.1
e2 = 0.15
M = 10
k = 0
j = 0
jj = 0
proizvodnaya = []
alpha = symbols('alpha')
sumjj = []
gradient = []
gradient.append((4*x1+x2, 2*x2+x1))
norma = math.sqrt((gradient[0][0]**2) + (gradient[0][1]**2))
if norma <e1:
    X = x[k]
    #break
if k >= M:
    X = x[k]
    #break
j = (list(map(lambda v: (v[0][0]-alpha*v[1][0]), zip(x, gradient))))
jj = (list(map(lambda v: (v[0][1]-alpha*v[1][1]), zip(x, gradient))))
sumjj.append((j, jj))
#proizvodnaya = sumjj[0][0]
#print(proizvodnaya)
alpha это некоторое значение, относительно которой я должен буду найти производную, х1 и х2, в данный момент записаны инт в функции, видимо из-за этого не работает, поскольку передаю я список, но не понял пока как сделать иначе


Вот фотография, начиная в пункта 6* начинается то что я пытаюсь сделать, тоесть привести х1 к виду 0.5 -3 * alpha, а х2 к виду 1 - 2.5 * alpha, и подставить эти х1 и х2 в исходную функцию чтобы найти производную
Миниатюры
как реализовать подсчет  
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
15.04.2019, 17:36
Цитата Сообщение от nikita55050505 Посмотреть сообщение
х1 и х2, в данный момент записаны инт в функции, видимо из-за этого не работает, поскольку передаю я список,
так инт, или список?
вообще не вижу, где вы функцию вызываете.
0
23 / 21 / 3
Регистрация: 27.10.2017
Сообщений: 192
15.04.2019, 17:41  [ТС]
У меня не получается её вызвать, выдает ошибку из-за различия типов и я не знаю как это исправить, т.к в функции у меня
Python
1
return (2*(x1**2))+x1*x2+(x2**2)
а передать в качестве х1 и х2 я пытаюсь список
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
15.04.2019, 17:43
nikita55050505, всё верно. нельзя возвести список в степень.
0
23 / 21 / 3
Регистрация: 27.10.2017
Сообщений: 192
15.04.2019, 17:55  [ТС]
но мне нужно сделать что-то похожее на обычные операции, чтобы после найти производную, как быть?

Добавлено через 11 минут
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
x1 = 0.5
X = 0
x2 = 1
e1 = 0.1
e2 = 0.15
M = 10
k = 0
j = 0
jj = 0
proizvodnaya = 0
alpha = symbols('alpha')
sumjj = []
gradient1 = 4*x1+x2
gradient2 = 2*x2+x1
norma = math.sqrt((gradient1**2) + (gradient2**2))
if norma <e1:
    X = x[k]
    #break
if k >= M:
    X = x[k]
    #break
j = x1 - alpha * gradient1
jj = x2 - alpha * gradient2
print(j)
print(jj)
proizvodnaya  = function(j, jj)
print(proizvodnaya)
diff1 = diff(proizvodnaya, alpha)
print(diff1)
избавился от списков, но все равно не понятно как выразить альфу из уравнения?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.04.2019, 17:55
Помогаю со студенческими работами здесь

Подскажите как можно реализовать подсчёт статистики
Вот имеется следующий метод. Который изменяет значение в пункте. И мне нужно придумать метод или что-то ещё, который бы вёл статистику...

Как реализовать подсчёт голосов и вывести это в файл
В файле фиксируются результаты голосования кафедры, состоящего из 15 сотрудников по принципу: в начале строки указывается Фамилия...

Как реализовать подсчёт голосов и вывести это в файл
В файле фиксируются результаты голосования кафедры, состоящего из 15 сотрудников по принципу: в начале строки указывается Фамилия...

Как можно реализовать подсчет строк в двух таблицах?
Необходимо создать счетчик присваивающий последовательные значения для записей создаваемых в двух таблицах. Т.е. следующее число счетчика...

Реализовать подсчет формулы
номер 11,помогите пожалуйста) расчитывать только для Nо и Nc,и реализовать подсчет только под номером А),без построения графика)


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru