Массив дескриптора функции в Matlab - PullRequest
0 голосов
/ 12 ноября 2018

Начиная с вектора Psi_0 Я определяю распространяющийся вектор как Psi (t) = exp{-iHt} Psi_0, где H - матрица смежности (но я думаю, что это не имеет отношения к моей проблеме здесь). Мне нужно рассчитать

1/tau * int^tau_0 |<j|psi(t)>|^2 dt

Я пытался сделать это следующим образом, но это не работает

psi_0 = diag(eye(N))/N;
Psi_t = zeros(N);

Psi_sqared = @(t) (expm(1j*A*t)*psi_0).*(expm(-1j*A*t)*psi_0);

c_tqw = integral(Psi_sqared, 0, 10000)/10000;

Ошибка следующая

Error using  * 
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the
second matrix. To perform elementwise multiplication, use '.*'.

Error in centrality_measure>@(t)(expm(1j*A*t)*psi_0).*(expm(-1j*A*t)*psi_0)

Error in integralCalc/iterateScalarValued (line 314)
                fx = FUN(t);

Error in integralCalc/vadapt (line 132)
            [q,errbnd] = iterateScalarValued(u,tinterval,pathlen);

Error in integralCalc (line 75)
        [q,errbnd] = vadapt(@AtoBInvTransform,interval);

Error in integral (line 88)
Q = integralCalc(fun,a,b,opstruct);

Error in centrality_measure (line 75)
c_tqw = integral(Psi_sqared, 0, 10000)/10000;

Любое предложение, чтобы избежать этой ошибки?

...