2014-09-23 4 views
0

Пусть этот код в Mathematica:косяк участок производного от дифференциального уравнения

w[w1_] := NDSolve[{y''[x] + y[x] == 2, y'[0] == 0, y[0] == w1},y[x], {x, 0, 30}]; 
Manipulate[Plot[Evaluate[{y[x], y'[x]} /. w[w1]], {x, 0, 30}], {w1, -2, 3}] 

код работает следующим образом: ползунковый регулятор (в Манипулировании) контролирует одно начальное условие (значение у [0]) дифференциального уравнения сохраненного в переменной w и при ее изменении, решение строится на графике. Это прекрасно работает, но у меня проблема с построением первой производной решения (y '[x]). Вместо графика функции есть просто пустое пространство и ничего не нарисованы, я даже проверил в Mathematica помощи, где пример кода

s = NDSolve[{y''[x] + Sin[y[x]] y[x] == 0, y[0] == 1, y'[0] == 0}, y, {x, 0, 30}] 
Plot[Evaluate[{y[x], y'[x], y''[x]} /. s], {x, 0, 30},PlotStyle -> Automatic] 

работы. Кто-нибудь знает, где проблема?

ответ

1

Я нашел эту проблему, просто в команде NDSolve это необходимо, чтобы написать

w[w1_] := NDSolve[{y''[x] + y[x] == 2, y'[0] == 0, y[0] == w1},y, {x, 0, 30}] 

у вместо у [х] и все работает.

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