Уравнение Шредингера для зависящего от времени гамильтониана:Решения зависит от времени уравнения Шредингера с использованием MATLAB ode45
Я пытаюсь реализовать решатель для уравнения Шредингера для зависящего от времени гамильтониана в ode45
, Однако, поскольку гамильтониан $ H (t) $ зависит от времени. Я не знаю, как сделать интерполяцию в ode45
. Можете ли вы дать мне несколько советов?
psi0 = [0 1];
H = [1 0;0 1]*cos(t); %this is wrong, I do not know how to implement this and pass it to ode45
hbar = 1;
t = [0:1:100];
[T, psi] = ode45(dpsi, t, psi);
function dpsi = f(t, psi, H, psi0)
dpsi = (1/i)*H*psi;
Я также пытаюсь придумать решение матричной интерполяции в MATLAB: Interpolation that involve a matrix.
Означает ли это, вы не должны делать интерполяцию в ode45? Изменяется ли член $ cos (t) $ внутри ode45? – kyle
Термин 'cos (t)', безусловно, учитывается, как вы можете видеть в функции 'dpsi'. – edwinksl
Спасибо. Что делать, если моя временная зависимость не так проста, так что «H» не может быть представлена как единичная матрица? Что мне делать? Например, 'H = [t 1; 3t t^2]'? – kyle