Если значение хотя бы одного из индексов моего суммирования Sympy равно 1, как мне сделать так, чтобы все индексы имели Python

Программы на Python
Ответить
Anonymous
 Если значение хотя бы одного из индексов моего суммирования Sympy равно 1, как мне сделать так, чтобы все индексы имели

Сообщение Anonymous »

Я пишу код на Python, используя Sympy, и столкнулся с проблемой, которую не могу решить самостоятельно. Я могу успешно изменить значение на 1 на основе параметров, которые я установил в своем кусочном файле, но не могу найти это значение, поскольку индексов слишком много. Я хочу сделать все индексы равными 1, если кусочная операция присвоит одному из них значение 1.
Мой код:

Код: Выделить всё

import sympy as sp

k = sp.symbols('k', integer=True)

# Piecewise definition
f = sp.Piecewise(
(1, sp.And(k < 5, sp.Eq(k % 3, 1))),
(0, True)
)

d = sp.Piecewise(
(1, sp.Eq(f, 1)), #this is an example of how it makes it 1 on all indexes
(0, True)
)

# Summation
S = sp.summation(f, (k, 0, 999999))

print(S)
print(sp.simplify(S))
Как вы можете видеть в моем коде, когда k меньше 5, а модуль с 3 равен 1, он становится 1. Если там есть значение, равное 1, я хочу, чтобы все индексы в моем суммировании были 1, если нет, то я хочу, чтобы все они были 0. Мне это нужно, пожалуйста, я не могу использовать sp.Eq(), чтобы найти индекс, который включен, потому что в моем коде он мне нужен вот так для моего клиента.
Может кто-нибудь показать мне, что делать?

Подробнее здесь: https://stackoverflow.com/questions/798 ... s-1-how-do
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»