Wolfram: indekslenmiş terimlerde ikame yapmak

Oct 02 2020

Sahibim

sx = Sum[Indexed[x, i], {i, 1, 10}]^2 // Expand

Toplamda 55 terim genişler.

  1. $x_i^2$ - 10 terim, gerçek temsil: $x_1^2+x_2^2+x_3^2+...$
  2. $2 \cdot x_i \cdot x_{i+1}$ - 9 terim, gerçek temsil: $2 x_1 x_2 + 2 x_2 x_3 + ...$
  3. $2 \cdot x_i \cdot x_{i+l}, l>1$ - geri kalan her şey, gerçek sunum: $2 x_1 x_3 + 2 x_2 x_4 + ...$

Hesaplamalarım için şartları değiştirmem gerekiyor

  1. => $p \cdot (1-p)$
  2. => 0
  3. => $2 \cdot p^2 \cdot (1-p)^2$

Dümdüz ilerlemeye çalıştım

sx1 = sx /. $\{x_1^2 -> 1\}$

ama hiçbir şey olmadı.

Elde etmek istediğim şey: bu tür ikameleri gerçekleştirmek için bakımı kolay bazı küçük kural formülü. Wolfram Mathematica'nın alt simgeli değerlerle çok zor olduğunu gördüm. Mümkün mü yoksa başka bir alternatif aramalı mıyım?

Teşekkürler.

Yanıtlar

1 jjagmath Oct 02 2020 at 05:17

Oh, üzgünüm, sorunu fark ettim. Endeksli [x, i] istemiyorsunuz, Alt Simge [x, i] yazmalısınız

PaulVetrov Oct 05 2020 at 01:16

Ve sonunda kendi sorunum için bir çözüm buldum.

  • Tüm kare terimlerin p * (1-p) ile değiştirilmesi:
sx = sx /. Table[Subscript[x, i]^2 -> p*(1 - p), {i, 1, 10}]
  • Değiştiriliyor $x_i \cdot x_{i+1}$ ile şartlar $0$:
sx = sx /. Table[Subscript[x, i]*Subscript[x, i + 1] -> 0, {i, 1, 9}]
  • Değiştiriliyor $x_i \cdot x_{i+l}, l>1$ ile şartlar $p^2 \cdot (1-p)^2$
sx = sx /. Table[Subscript[x, i]*Subscript[x, i + 2] -> p^2*(1-p)^2, {i, 1, 8}]

Ne yazık ki, ikinci alt simge indeksini düzeltmek için son cümle düzenlenmeli ve birçok kez tekrarlanmalıdır. Diyelim ki, sağlanan örnek gibi terimleri değiştiriyor$x_1 \cdot x_3, \text{... } x_8 \cdot x_{10}$ ile $p^2 \cdot (1-p)^2$, diğer terim kalıplarını değiştirmek için biraz farklı ifadeler gereklidir. Table [] fonksiyonunda çift indekslemeyi kullanmayı denedim, ancak amaçlanan şeyi yapmayan 2D dizi oluşturdu.

Bu sorunun tüm işitsellerine minnettarlığımı ifade etmek isterim, yardımınız olmadan çözüme ulaşamazdım. Bu çözümün daha zarif hale getirilebileceğini düşünüyorum, ancak bunu başarmak için henüz gerekli bilgiye sahip değilim.