oxcar
2009-04-25, 10:33
clear all
syms x0 x1 x2 x3 x4 y0 y1 y2 y3 y4 z0 z1 z2 z3 z4 t real; %定义符号变量
g1=0.8;w=15;
delta=w/2/g1;
R=0.5;
for n=0:4
An = sqrt(delta*delta+4*(n+1+R*R*(n+2)));
c=[sqrt((0.5*An+delta)/An) sqrt((n+1)/An/(0.5*An+delta)) R*sqrt((n+1)/An/(0.5*An+delta));sqrt((0.5*An-delta)/An) sqrt((n+1)/An/(0.5*An-delta)) R*sqrt((n+1)/An/(0.5*An-delta));0 -R*sqrt(1/(1+R*R)) sqrt(1/(1+R*R))];
E=[n*w+An/2 n*w-An/2 (n-0.5)*w];
ex='exp(-4)'; %考虑到精度把exp(-4)变为符号数
An1 = sqrt(delta*delta+4*(n+R*R*(n+1)));
E1=[n*w+An1/2 n*w-An1/2 (n-0.5)*w];
c1=[sqrt((0.5*An1+delta)/An1) sqrt((n+1)/An1/(0.5*An1+delta)) R*sqrt((n+1)/An1/(0.5*An1+delta));sqrt((0.5*An1-delta)/An1) sqrt((n+1)/An1/(0.5*An1-delta)) R*sqrt((n+1)/An1/(0.5*An1-delta));0 -R*sqrt(1/(1+R*R)) sqrt(1/(1+R*R))];
G=zeros(3 ,3); %定义一个3×3的零矩阵
G=sym(G); %把G变为符号矩阵
U=zeros(1,3); %定义一个1×3的零矩阵
U=sym(U); %把U变为符号矩阵
F=0;
for l=1:3
for j=1:3
Z(j,l)=(exp( 20*i*(t-E(j)+E1(l)))-ex)/( 0.2+ i*(t-E(j)+E1(l)) )/g1;
for k=1:3
G(j,l)=G(j,l)+c(j,2)*c(j,k)*c1(l,k)*sqrt(n+k-1);
end
U(l)=U(l)+Z(j,l)*G(j,l);
end
F=F+conj(U(l))*U(l);
end
if (n==0)
x0=t; y0=n; z0=0.4*g1*F;
end
if (n==1)
x1=t; y1=n; z1=0.4*g1*F;
end
if (n==2)
x2=t; y2=n; z2=0.4*g1*F;
end
if (n==3)
x3=t; y3=n; z3=0.4*g1*F;
end
if (n==4)
x4=t; y4=n; z4=0.4*g1*F;
end
end
hold on; ezplot3(x0,y0,z0,[-10,10]);
grid on;
title('原子发射谱 |2>','FontSize',16);
%legend('delta=0','None',1);
axis([-10 10 0 5 0 15]);
xlabel('X g1=0.8 ');
ylabel('n R=0.5');
zlabel('Emission spectrum');
我想在ezplot3(x0,y0,z0,[-10,10]); 的图形上继续画出ezplot3(x1,y1,z1,[-10,10]);ezplot3(x2,y2,z2,[-10,10]);等的图形,
syms x0 x1 x2 x3 x4 y0 y1 y2 y3 y4 z0 z1 z2 z3 z4 t real; %定义符号变量
g1=0.8;w=15;
delta=w/2/g1;
R=0.5;
for n=0:4
An = sqrt(delta*delta+4*(n+1+R*R*(n+2)));
c=[sqrt((0.5*An+delta)/An) sqrt((n+1)/An/(0.5*An+delta)) R*sqrt((n+1)/An/(0.5*An+delta));sqrt((0.5*An-delta)/An) sqrt((n+1)/An/(0.5*An-delta)) R*sqrt((n+1)/An/(0.5*An-delta));0 -R*sqrt(1/(1+R*R)) sqrt(1/(1+R*R))];
E=[n*w+An/2 n*w-An/2 (n-0.5)*w];
ex='exp(-4)'; %考虑到精度把exp(-4)变为符号数
An1 = sqrt(delta*delta+4*(n+R*R*(n+1)));
E1=[n*w+An1/2 n*w-An1/2 (n-0.5)*w];
c1=[sqrt((0.5*An1+delta)/An1) sqrt((n+1)/An1/(0.5*An1+delta)) R*sqrt((n+1)/An1/(0.5*An1+delta));sqrt((0.5*An1-delta)/An1) sqrt((n+1)/An1/(0.5*An1-delta)) R*sqrt((n+1)/An1/(0.5*An1-delta));0 -R*sqrt(1/(1+R*R)) sqrt(1/(1+R*R))];
G=zeros(3 ,3); %定义一个3×3的零矩阵
G=sym(G); %把G变为符号矩阵
U=zeros(1,3); %定义一个1×3的零矩阵
U=sym(U); %把U变为符号矩阵
F=0;
for l=1:3
for j=1:3
Z(j,l)=(exp( 20*i*(t-E(j)+E1(l)))-ex)/( 0.2+ i*(t-E(j)+E1(l)) )/g1;
for k=1:3
G(j,l)=G(j,l)+c(j,2)*c(j,k)*c1(l,k)*sqrt(n+k-1);
end
U(l)=U(l)+Z(j,l)*G(j,l);
end
F=F+conj(U(l))*U(l);
end
if (n==0)
x0=t; y0=n; z0=0.4*g1*F;
end
if (n==1)
x1=t; y1=n; z1=0.4*g1*F;
end
if (n==2)
x2=t; y2=n; z2=0.4*g1*F;
end
if (n==3)
x3=t; y3=n; z3=0.4*g1*F;
end
if (n==4)
x4=t; y4=n; z4=0.4*g1*F;
end
end
hold on; ezplot3(x0,y0,z0,[-10,10]);
grid on;
title('原子发射谱 |2>','FontSize',16);
%legend('delta=0','None',1);
axis([-10 10 0 5 0 15]);
xlabel('X g1=0.8 ');
ylabel('n R=0.5');
zlabel('Emission spectrum');
我想在ezplot3(x0,y0,z0,[-10,10]); 的图形上继续画出ezplot3(x1,y1,z1,[-10,10]);ezplot3(x2,y2,z2,[-10,10]);等的图形,