2012-03-08 3 views
0

Я пытаюсь обновить ползунок значение производной для 2 полиномиальных кривых и динамически возвращать переменную, которая будет использоваться вне динамической. Я получаю ползунок для перемещения и значение для комбинированных линий для всего диапазона x, но не возвращаемое значение, которое должно использоваться вне динамического слайдера. Что мне не хватает? Благодаря!Mathematica недокументированное Требуется динамическое решение

cyL= 58.770000000000046` - 3.557000000000158` x - 
    3.525333333333144` x^2 + 4.987999999999908` x^3 - 
    1.3386666666666487` x^4; 

cyA[y_] := -35.13365403304179` - 0.009572400388682331` x + 
    0.08989310009715228` x^2 - 0.01687074829931251` x^3; 

change= -0.17006802721089645` + 62.92517006802724` x - 
    6.802721088435384` x^2; 

В приведенной ниже части представлены ползунки, которые отображают правильные значения в первом слайдере, но не вторые.

Column[{Slider[Dynamic[x, Automatic]], Dynamic[cyL /. x -> change]}, 
{Slider[Dynamic[g, Automatic]], Dynamic[cyA /. y -> change]}] 
+0

Добро пожаловать на SO ! @R Hall - я бы предложил рассказать об этом на http://mathematica.stackexchange.com. Вы получите более быстрый ответ. Кроме того, вы можете форматировать код, щелкнув изображение «{}» в текстовом редакторе, когда вы выделили свой код. Это упростит чтение! – tkott

+0

Ошибка пары в синтаксисе: ваш многочлен 'cyA [y]' не имеет '' 'самой функции. Затем вы вызываете 'cyA', который ничего не сделает, потому что вы определили' cyA [y] '. Наконец, ваш оператор 'Column' нуждается в другой' {} 'паре вокруг внутреннего списка. – tkott

+0

Спасибо! Я сделаю это в будущем. –

ответ

1

Я не совсем уверен, что я понимаю, что вы хотите сделать с переменной change, но вот версия, которая работает с обоими ползунки обновляют свои соответствующие функции:

cyL[x_] := 
    58.770000000000046` - 3.557000000000158` x - 
    3.525333333333144` x^2 + 4.987999999999908` x^3 - 
    1.3386666666666487` x^4; 

cyA[y_] := -35.13365403304179` - 0.009572400388682331` y + 
    0.08989310009715228` y^2 - 0.01687074829931251` y^3; 

change[x_] := -0.17006802721089645` + 62.92517006802724` x - 
    6.802721088435384` x^2; 

Column[{{Slider[Dynamic[x, Automatic]], 
    Dynamic[cyL[change[x]]]}, {Slider[Dynamic[g, Automatic]], 
    Dynamic[cyA[change[g]]]}}] 
+0

Спасибо tkott, но значения, возвращаемые x, и g - это только ползунки, а не производное значение от строк. –

+0

Ну, в любом случае, пример выше работает. Есть некоторые проблемы с вашим синтаксисом с Column, а также с cyA. Затем вам нужно убедиться, что ваши функции верны, и, возможно, более четко объяснить, что вы пытаетесь сделать. Вы можете использовать латексный код (в пределах $) для отображения исходных уравнений. Я не понимаю, что вы имеете в виду. – tkott

+0

Из R Hall: «То, что было опубликовано, было неправильным. То, что я на самом деле сказал и не было включено в этот пост, заключалось в том, что цель этой функции - получить значение x для изменения и cyL и изменить и cya, So для ползунка в нулевом положении значение, возвращаемое для x, является первым значением из функции при значении, полученном из изменения [x]. Что возвращает для x здесь позиция ползунка, а не отображаемое значение для функции. заставить ползунки заполнить x результатом f [x] для комбинации этих строк? Спасибо за вашу помощь и терпение! " –

Смежные вопросы