Mathematica Dynamic List Manipulation

Я застрял на том, что, как мне кажется, должно быть относительно простой концепцией. Я не понимаю, как Dynamic[] работает с добавочными манипуляциями со списками. Рассмотрим следующие утверждения:

In[459]:= x={{1,2}};
In[462]:= y=First[x]
Out[462]= {1,2}
In[463]:= z=First[y]
Out[463]= 1

Просто, верно? Теперь я хочу, чтобы z динамически обновлялся при изменении x. Вот моя попытка:

In[458]:= a={{1,2}};
In[452]:= b=Dynamic[First[a]]
Out[452]= {1,2}
In[449]:= c=Dynamic[First[b]]
Out[449]= {1,2}

Когда я меняю значения в списке a, я вижу, что соответствующие изменения — это b и c; однако я ожидаю, что каждое утверждение будет частью первого элемента. Манипуляции с динамическими списками не предпринимаются.

Мой вопрос: почему мы наблюдаем такое поведение и как я могу применять последовательные манипуляции с динамическим списком?

Заранее спасибо.

6
задан slouis 15 April 2012 в 05:08
поделиться