24小时热门版块排行榜    

CyRhmU.jpeg
查看: 526  |  回复: 3

long_3415

新虫 (初入文坛)

[交流] Matlab程序问题已有2人参与

各位大神,我写了个程序怎么修改能把图画成如下的图啊?请各位大神给予指导啊。
%.........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.
Matlab程序问题
11.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shutaham

金虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
拷贝数据到Origin中画图
2楼2013-07-18 12:54:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

long_3415

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by shutaham at 2013-07-18 12:54:43
拷贝数据到Origin中画图

觉得就是怎么把第一个for循环里面Delta_1的表达式怎么修改一下就好了,但是不知道怎么修改?请各位指教啊。
3楼2013-07-18 14:52:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

knightman

铜虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
把你的程序发给我吧,我给你检查一下。 另,你想画的那个图,也给我。
在此网站上的文本,你自己看看,没法看啊,都转为图片了,很多的笑脸哦(

邮箱: knightman@163.com

.
4楼2013-07-19 21:58:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 long_3415 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见