想用mathematica求解已知y[0]=c,y'[x]+b*y[x]=-a,求y[x]
下面是input,报错和output。希望有大神可以解答一下刚接触mathematica的菜鸟的无知提问QAQ,谢谢!
DSolve[{y'[x] + b*y[x] = -a, y[0] = c}, y[x], x]
Set::write: b y[x]+(y^\[Prime])[x] 中的标签 Plus 被保护.
DSolve::deqn: 在第一个参数 {-a,c} 中应该使用方程或者方程列表,而不是 -a.
DSolve[{-a, c}, y[x], x]
参考GPT和自己的思路:
首先,报错中的 "Set::write: b y[x]+(y^[Prime])[x] 中的标签 Plus 被保护." 是因为 "=" 被错误地写成了 "=". 正确的输入应为:
DSolve[{y'[x] + b*y[x] == -a, y[0] == c}, y[x], x]
接下来,报错中的 "DSolve::deqn: 在第一个参数 {-a,c} 中应该使用方程或者方程列表,而不是 -a." 是因为 {-a, c} 不是一个微分方程,因为它缺少 "=". 正确的微分方程应该是:
DSolve[{y'[x] + b*y[x] == -a, y[0] == c}, y[x], x]
最后,正确的输出应该是:
{{y[x] -> (c - ((a + b c) E^(b x))/b)}}
即 y[x] = (c - ((a + b c) E^(b x))/b).