Мне нужно решить дифференциальное уравнение.Решение будет зависеть от t и q, и мне нужно определить это q кусочно в зависимости от t.
var('k,Tmax,Tmin,w,T0,q'); T=function('T')(t); Te=function('Te')(t);
assume(k>0); assume(Tmax>Tmin); Te(t)=(Tmax+Tmin)/2+(Tmax-Tmin)/2*sin(w*t);
Теперь это решение дифференциального уравнения:
sol=desolve(diff(T(t),t)-q+k*(T(t)-Te(t)),[T,t],[0,T0]);
Решение сНапример, q = 0 будет
sol.subs(Tmax=21.6,Tmin=15.2,k=0.024,q=0,T0=15.6,w=pi/12);
, но мне нужно, чтобы q была моделью для обогревателя, который выключен с 8:00 до 22:00 и включен с 22:00 до 8:00.Поэтому мне нужно определить функцию aq, что если t mod 24 находится между 8 и 22, то его значение равно 0, а в противном случае - 0.054.
Я пробовал использовать кусочную функцию, но она ничего не отображает, я всегда получаюсообщения об ошибках.
Спасибо за ваше время.