Как исправить участок символьных собственных значений 1-й матрицы (matlab)? - PullRequest
0 голосов
/ 23 апреля 2019

Я вычисляю собственные значения 8x8-матрицы, включая символическую переменную "W".Построение 8 собственных значений как функций от W возвращает странный результат на графике, который выглядит так, будто кто-то проехал на своем велосипеде по моей диаграмме.

Для 2-й матрицы, где я просто установил некоторые недиагональные элементы равными 0,все отлично работаетНо я не знаю, в чем проблема с 1-ым.

syms W;

w0=1/780;
wl=1/1064;
h=1; % for now this seems unnecessary, but I want to change this value later on

% This is the 1st matrix which causes some strange plotting results
A=h*[w0+3*wl 2*W 0 0 0 sqrt(3)*W 0 0;
    2*W 4*wl 0 0 0 0 0 0;
    0 0 2*wl+w0 sqrt(3)*W 0 0 0 sqrt(2)*W;
    0 0 sqrt(3)*W 3*wl 0 0 0 0;
    0 0 0 0 wl+w0 sqrt(2)*W 0 0;
    sqrt(3)*W 0 0 0 sqrt(2)*W 2*wl 0 0;
    0 0 0 0 0 0 w0 W;
    0 0 sqrt(2)*W 0 0 0 W wl];

% This is the 2nd matrix for which everything is working fine
B=h*[w0+3*wl 2*W 0 0 0 0 0 0;
    2*W 4*wl 0 0 0 0 0 0;
    0 0 2*wl+w0 sqrt(3)*W 0 0 0 0;
    0 0 sqrt(3)*W 3*wl 0 0 0 0;
    0 0 0 0 wl+w0 sqrt(2)*W 0 0;
    0 0 0 0 sqrt(2)*W 2*wl 0 0;
    0 0 0 0 0 0 w0 W;
    0 0 0 0 0 0 W wl];

X = eig(A);
X2 = eig(B);
eva22 = X2(1);
eva1 = X(1);

figure(1);

fplot(X2,[-0.002 0.002]);
hold on;
fplot(X,[-0.002 0.002]);
hold off;
xlabel('Rabi frequency [THz]','FontSize',11);
ylabel('dressed states','FontSize',11);
grid on;
box on;

Я ожидаю, что график для матрицы A будет просто похож на график для матрицы B, но почему-то это не такработать должным образом.Буду признателен за некоторые советы и подсказки, как это исправить.

1 Ответ

0 голосов
/ 23 апреля 2019

Второй график выглядит так, потому что собственные значения B мнимые. При использовании plot () по умолчанию она отображает действительную часть комплексных чисел, но, очевидно, fplot () этого не делает. Вместо этого вы можете сделать fplot(real(X), [-0.002 0.002]), чтобы построить только реальную часть собственных значений (при условии, что вы этого хотите).

...