Need help solving first order DiffyQ analytically with matrix
Show older comments
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 Comments
Chuguang Pan
on 10 Dec 2019
The right n*y(n)+delta*(-i*H*psi) is 2x1 matrix, but left y(n+1) is scalar!
Eva Carrillo
on 10 Dec 2019
Accepted Answer
More Answers (0)
Categories
Find more on Gamma Functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!