計算機科学のブログ

知識を広げる 微分方程式 記号的に解く方法、数値的に解く方法

ハンズ・オン・スタートMathematica® -Wolfram言語™によるプログラミング (C・ヘイスティング(著)、K・ミショー(著)、M・モリソン(著)、ウルフラム・リサーチ(翻訳)、丸善出版)の第2部(知識を広げる)、第16章(微分方程式)の練習問題1、2、3、4、5、6、7、8、9、10の解答を求めてみる。

DSolve[y'[x] == x^2 Cos[x], y[x], x]
Output
DSolveValue[y'[x] == x^2 Cos[x], y[x], x]
Output
DSolve[{y'[x] == x^2 Cos[x], y[3] == 6}, y[x], x]
Output
DSolveValue[{y'[x] == x^2 Cos[x], y[3] == 6}, y[x], x]
Output
Plot[%, {x, 0, 10}]
Output
soln = DSolveValue[y''[x] + y'[x] == x^2 Sqrt[x], y[x], x]
Output
soln /. {C[1] -> 3, C[2] -> 6}
Output
Plot[%, {x, 0, 1}]
Output
soln = DSolveValue[y''[x] + y'[x] == x^2, y[x], x]
Output
data = Table[
        soln /. {C[1] -> i, C[2] -> j},
        {i, -1, 1, 0.25},
        {j, -1, 1, 0.25}
]
Output
Plot[data, {x, 0, 1}, PlotLegends -> "Expressions"]
Output
NDSolve[{y'[x] == x^3 Cos[x], y[3] == 6}, y[x], {x, 0, 5}]
Output
NDSolveValue[{y'[x] == x^3 Cos[x], y[3] == 6}, y[x], {x, 0, 5}]
Output
Plot[%, {x, 1, 3}]
Output