Page 1 of 1

Simultaneous equations involving: (array element)

Posted: Thu Dec 16, 2021 5:28 pm
by rob_n
Hi,
I'm trying to do some feedback-like math in an array dimension. Using subscript mapping it is straightforward to calculate the accumulation of an array. But when I try to do something like a first-order exponential smoothing I get a “Simultaneous equations” error.

Two similar blocks of code: Block A works, Block B does not. What am I missing?! Full simulations are attached

Best regards,
Rob

********************************************************
.common code
********************************************************

horizon:
(h1-h5)
~~|

horizon earlier:
(h1-h4) -> horizon later
~~|

horizon later:
(h2-h5) -> horizon earlier
~~|

h interval==
1
~Week~|

Signal=
1
~unit/Week~|

Array Signal[horizon]=
Signal
~unit/Week~|
********************************************************
.Block A code WORKS:
********************************************************

Cumulative Signal[h1]=
0 ~~|
Cumulative Signal[horizon later]=
Array Signal[horizon later]*h interval+Cumulative Signal[horizon earlier]
~unit~|


********************************************************
.Block B code DOES NOT work; “Simultaneous equations involving: Average Array Signal [h2]"
********************************************************

Average Array Signal[h1]=
0 ~~|
Average Array Signal[horizon later]=
Average Array Signal[horizon earlier]+incr Average Array Signal[horizon later]
~unit/Week~|

incr Average Array Signal[horizon]=
Array Signal[horizon]-Average Array Signal[horizon]
~unit/Week~|

Re: Simultaneous equations involving: (array element)

Posted: Thu Dec 16, 2021 9:11 pm
by tomfid
I think Block B contains a real circularity. If you start expanding the equations at element H2, it becomes:

Average Array Signal[h2]=Average Array Signal[h1]+incr Average Array Signal[h2]
incr Average Array Signal[h2]=Array Signal[h2]-Average Array Signal[h2]

Re: Simultaneous equations involving: (array element)

Posted: Thu Dec 16, 2021 9:15 pm
by tomfid
I think something like this would work:

Average Array Signal[h1] = Array Signal[h1]
Average Array Signal[h later] = Average Array Signal[h earlier] + (Array Signal[h later]-Average Array Signal[h earlier])/tau

Re: Simultaneous equations involving: (array element)

Posted: Thu Dec 16, 2021 9:21 pm
by rob_n
Nice! Working sample code attached.
Best regards,
Rob