mathematica求解微分方程,求不出来

想用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).