(* Przypadek k=ω *)
k:=1;
ω:=1;
A:=10;
T0:=273;
Tp:=303;
Tot[t_]:=T0+A*Sin[ω*t];
T[t_]:=T0+((A*k)/(ω^2+k^2))*(k*Sin[ω*t]-ω*Cos[ω*t])+(Tp-T0+((A*k*ω)/(ω^2+k^2)))*Exp[-k*t];
Plot[{T[t],Tot[t]},{t,0,20},AxesLabel->{"t","T"},PlotLabel->"ω=k",PlotLegends->{"(Subscript[T, ciała])","(Subscript[T, otoczenia])"},PlotStyle->{{Red,Opacity[1]},{Blue,Opacity[0.3]}}]

(* Przypadek k>>ω - szybka relaksacja ciała *)
k:=20;
ω:=1;
A:=10;
T0:=273;
Tp:=303;
Tot[t_]:=T0+A*Sin[ω*t];
T[t_]:=T0+((A*k)/(ω^2+k^2))*(k*Sin[ω*t]-ω*Cos[ω*t])+(Tp-T0+((A*k*ω)/(ω^2+k^2)))*Exp[-k*t];
Plot[{T[t],Tot[t]},{t,0,20},AxesLabel->{"t","T"},PlotLabel->"ω=k",PlotLegends->{"(Subscript[T, ciała])","(Subscript[T, otoczenia])"},PlotStyle->{{Red,Opacity[1]},{Blue,Opacity[0.3]}}]

(* Przypadek ω>>k - uśrednianie temperatury otoczenia *)
k:=1;
ω:=100;
A:=10;
T0:=273;
Tp:=303;
Tot[t_]:=T0+A*Sin[ω*t];
T[t_]:=T0+((A*k)/(ω^2+k^2))*(k*Sin[ω*t]-ω*Cos[ω*t])+(Tp-T0+((A*k*ω)/(ω^2+k^2)))*Exp[-k*t];
Plot[{T[t],Tot[t],T0},{t,0,20},AxesLabel->{"t","T"},PlotLabel->"ω=k",PlotLegends->{"(Subscript[T, ciała])","(Subscript[T, otoczenia])","(Subscript[T, 0])"},PlotStyle->{{Red,Opacity[1]},{Blue,Opacity[0.1]},{Orange,Opacity[0.9]}}]

(* Przypadek ω<k, ω~k *)
k:=1.5;
ω:=1;
A:=10;
T0:=273;
Tp:=303;
Tot[t_]:=T0+A*Sin[ω*t];
T[t_]:=T0+((A*k)/(ω^2+k^2))*(k*Sin[ω*t]-ω*Cos[ω*t])+(Tp-T0+((A*k*ω)/(ω^2+k^2)))*Exp[-k*t];
Plot[{T[t],Tot[t]},{t,0,40},AxesLabel->{"t","T"},PlotLabel->"ω=k",PlotLegends->{"(Subscript[T, ciała])","(Subscript[T, otoczenia])"},PlotStyle->{{Red,Opacity[1]},{Blue,Opacity[0.3]}}]