Mathematica DSolve diff. уравнение в определенной области

Я ищу способ решить следующее дифференциальное уравнение:

DSolve[(1 - b*Abs[z])*f[z]/a == f''[z], f[z], z]

Поэтому я попытался DSolve это отличить z>0 от z<0, таких как:

DSolve[(1 - b*z)*f[z]/a == f''[z], f[z], z>0]

Но у меня все равно не работает. Может быть, добавление домена явно поможет, но я не могу найти способ сделать это.

У кого-нибудь есть идеи, как сделать такие вещи?

Спасибо за вашу помощь и время

1 ответ

Решение

Вы можете передать свои предположения солверу с помощью Refine:

Refine[DSolve[(1 - b*Abs[z])*f[z]/a == f''[z], f[z], z], z > 0]

дает

{{f[z] -> AiryAi[(1/a - (b z)/a)/(-(b/a))^(2/3)] C[1] + AiryBi[(1/a - (b z)/a)/(-(b/a))^(2/3)] C[2]}}
Другие вопросы по тегам