Wenn ein Wert in mindestens einem der Indizes meiner Sympy-Summierung gleich 1 ist, wie kann ich dann dafür sorgen, dassPython

Python-Programme
Anonymous
 Wenn ein Wert in mindestens einem der Indizes meiner Sympy-Summierung gleich 1 ist, wie kann ich dann dafür sorgen, dass

Post by Anonymous »

Ich programmiere in Python speziell mit Sympy und bin auf ein Problem gestoßen, das ich alleine nicht lösen kann. Ich kann einen Wert erfolgreich auf 1 ändern, basierend auf Parametern, die ich stückweise festgelegt habe, aber ich kann diesen Wert nicht finden, da es zu viele Indizes gibt. Ich möchte alle Indizes auf 1 setzen, wenn einer davon stückweise den Wert 1 erhält.
Mein Code lautet:

Code: Select all

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))
Wie Sie in meinem Code sehen können, wenn k kleiner als 5 ist und der Modulus mit 3 1 ist, wird er zu 1. Wenn es dort einen Wert gibt, der 1 entspricht, möchte ich, dass alle Indizes in meiner Summierung 1 sind. Wenn nicht, dann möchte ich, dass alle Indizes 0 sind. Ich brauche es bitte so, ich kann sp.Eq() nicht verwenden, um den Index zu finden, auf dem 1 steht, weil ich ihn in meinem Code brauche so für meinen Kunden.
Kann mir jemand zeigen, was zu tun ist?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post