Need help solving first order DiffyQ analytically with matrix
이전 댓글 표시
I'm given the equation
. This can also be written as
. Where
where
and
is a 2x1 matrix with initial value of
. I need to solve this problem analytically with Euler method, I've already solved it numerically. I need to plot time vs. intensity.
. This can also be written as
. Where
and
is a 2x1 matrix with initial value of my code attempt is as follows:
gamma=0.5;
H=[(gamma*i) -1;-1 -i*gamma];
G=(2:2);
psi=(2:1);
psi(1,1)=1;
psi(2,1)=0;
T=10;
N=1000;
deltat=T/N;
x=[];
y=[];
t=[];
x(1)=0.5;
y(1)=0;
t(1)=0;
t1=[];
for t=1:N
t1(end+1)=t;
x(t+1)=x(t)+y(t)*deltat;
y(t+1)=y(t)+deltat*(-i*H*psi);
intensity=abs(y).^2;
int1(end+1)=intensity(1,1);
int2(end+1)=intensity(2,1);
end
plot (t1,int1,'-*');
hold on;
plot (t1,int2,'-*');
hold off;
I keep getting the error 'Unable to perform assignment because the left and right sides
have a different number of elements.' for line 36: y(n+1)=n*y(n)+deltat*(-i*H*psi);
I am very confused by this and could use the help!
댓글 수: 2
Chuguang Pan
2019년 12월 10일
The right n*y(n)+delta*(-i*H*psi) is 2x1 matrix, but left y(n+1) is scalar!
Eva Carrillo
2019년 12월 10일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Gamma Functions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!