各位大神,我写了个程序怎么修改能把图画成如下的图啊?请各位大神给予指导啊。
%.........syms x z k t gamma Delta rho alpha Omega A B C D E
gamma=1;
Delta_2=0,gamma_1=5*gamma,gamma_2=5*gamma,rho=0,C=600,
Omega_1=10*gamma*(1-rho^2)^(1/2);Omega_2=50*gamma*(1-rho^2)^(1/2);
x=-100*gamma:0.1*gamma:100*gamma;
%.........relational expression..........
z1=zeros(1,length(x));
for k=1:length(x)
k
Delta_1=0.1*gamma*k
A=[0,-conj(Omega_1),0,Omega_1,2*gamma_1,0,0,0,0;
-Omega_1,-Delta_1,-conj(Omega_2),0,Omega_1,0,0,0,0;
0,-Omega_2,-Delta_1-Delta_2,0,0,Omega_1,0,0,0;
conj(Omega_1)*i,0,0,Delta_1*i-gamma_1,-conj(Omega_1)*i,0,Omega_2*i,2*rho*(gamma_1*gamma_2)^(1/2),0;
0,conj(Omega_1),0,-Omega_1,0,-conj(Omega_2),0,Omega_2,0;
0,0,conj(Omega_1),0,-Omega_2,-Delta_2,0,0,Omega_2;
0,0,0,conj(Omega_2)*i,0,0,Delta_1*i+Delta_2*i-gamma_2,conj(Omega_1)*i,0;
0,0,0,0,conj(Omega_2)*i,0,-Omega_1*i,Delta_2*i-gamma_1-gamma_2,-conj(Omega_2)*i;
1,0,0,0,1,0,0,0,1];
B=[0;0;0;0;0;0;0;0;1];
t=inv(A)*B;
D(:,k)=t;
%........E(:,k)=zeros(1,length(x));
E(:,k)=Omega_1+C*gamma_1*imag(t)-i*C*gamma_1*real(t);
end
z1=imag(D(4,);
%.........................................
z2=zeros(1,length(x));
for k=1:length(x)
k
Delta_1=-0.1*gamma*k
A=[0,-conj(Omega_1),0,Omega_1,2*gamma_1,0,0,0,0;
-Omega_1,-Delta_1,-conj(Omega_2),0,Omega_1,0,0,0,0;
0,-Omega_2,-Delta_1-Delta_2,0,0,Omega_1,0,0,0;
conj(Omega_1)*i,0,0,Delta_1*i-gamma_1,-conj(Omega_1)*i,0,Omega_2*i,2*rho*(gamma_1*gamma_2)^(1/2),0;
0,conj(Omega_1),0,-Omega_1,0,-conj(Omega_2),0,Omega_2,0;
0,0,conj(Omega_1),0,-Omega_2,-Delta_2,0,0,Omega_2;
0,0,0,conj(Omega_2)*i,0,0,Delta_1*i+Delta_2*i-gamma_2,conj(Omega_1)*i,0;
0,0,0,0,conj(Omega_2)*i,0,-Omega_1*i,Delta_2*i-gamma_1-gamma_2,-conj(Omega_2)*i;
1,0,0,0,1,0,0,0,1];
B=[0;0;0;0;0;0;0;0;1];
t=inv(A)*B;
D(:,k)=t;
%........E(:,k)=zeros(1,length(x));
E(:,k)=Omega_1+C*gamma_1*imag(t)-i*C*gamma_1*real(t);
end
z2=real(D(4,);
plot(x,z1,x,z2,'LineWidth',1.5);
xlabel('Delta_1/gamma');
ylabel('Im(D(4,)');
axis([-100,100,-1,1]);
legend('z1','z2');
grid off
其中上面图的Y轴中的字母表示是程序当中D(4,1)的虚部,程序中rho=0表示图中的P=0.
11.png