24小时热门版块排行榜    

查看: 1190  |  回复: 18
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wzp0098

木虫 (著名写手)

[求助] 用matlab 画三维图,请高手指教. 已有2人参与

程序如下,可是没有办法运行,请高手指教,重谢。
W=-3:0.1:3;K=-3:0.1:3i;V=-3:0.1:3;
P = [];
for n=1:length(W);
         Ky=W(n);
     for m=1:length(K);
         Kx=K(m);
          for v=1:length(V);
              Kz=V(v);
        w = 1;
        K2 = K1+2*w; x = 2*(sin(Kx)+sin(Ky));
        r1 = 8; r2 = 0.001*r1; T = 3*sin(Kz);
        A=[  -r1   r2-r1  -i*x      i*x      0           0       0              0;
                  0    -r2       0       0       0           0      i*T           -i*T;
           -2*i*x  -i*x -r1-i*K1*0.5 0     -i*T          0       0              0;
                2*i*x  i*x       0  -r1+i*K1*0.5 0          i*T      0              0;
                  0     0      -i*T      0 -r2-i*(K1+K2)*0.5 0      i*x             0;
                  0     0        0      i*T      0 -r2+i*(K1+K2)*0.5 0             -i*x;
                 i*T 2*i*T       0       0      i*x          0 -r2-r1+i*(K1-K2)*0.5 0;
                -i*T -2*i*T      0       0       0         -i*x      0 -r2-r1-i*(K1-K2)*0.5];
        B = [-r1;0;-i*x;i*x;0;0;i*T;-i*T];
        Y = A\B;
    P(n, m, v) = imag(Y(3)); % <---------------------------P向量中的元素赋值
          end
    end
end
[X,Y,Z]=meshgrid(W,K,V);
surf(X,Y,Z,P);
shading interp
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

引用回帖:
17楼: Originally posted by wzp0098 at 2015-01-04 16:59:07
也就P(n, m, v)有关于X,Y,Z的图形?...

这P(n, m, v)的四维图是第一个帖子里面画的图,后面这个是等值面
他们的关系就像三维曲面和等值线之间的关系

» 本帖已获得的红花(最新10朵)

The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
18楼2015-01-04 18:29:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 19 个回答

huozhe123

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
K=-3:0.1:3i;这个什么意思?从-3到0 ?还有,k1你在哪定义的?
2楼2014-12-29 09:09:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wzp0098

木虫 (著名写手)

我改了一下,程序还是运行不起来,请大虾指教!
W=-3:0.1:3;K=-3:0.1:3;V=-3:0.1:3;
P = [];
for n=1:length(W);
          Ky=W(n);
      for m=1:length(K);
          Kx=K(m);
           for v=1:length(V);
               Kz=V(v);
         w = 1;K1=0;
         K2 = K1+2*w; x = 2*(sin(Kx)+sin(Ky));
         r1 = 8; r2 = 0.001*r1; T = 3*sin(Kz);
         A=[  -r1   r2-r1  -i*x      i*x      0           0       0              0;
                   0    -r2       0       0       0           0      i*T           -i*T;
            -2*i*x  -i*x -r1-i*K1*0.5 0     -i*T          0       0              0;
                 2*i*x  i*x       0  -r1+i*K1*0.5 0          i*T      0              0;
                   0     0      -i*T      0 -r2-i*(K1+K2)*0.5 0      i*x             0;
                   0     0        0      i*T      0 -r2+i*(K1+K2)*0.5 0             -i*x;
                  i*T 2*i*T       0       0      i*x          0 -r2-r1+i*(K1-K2)*0.5 0;
                 -i*T -2*i*T      0       0       0         -i*x      0 -r2-r1-i*(K1-K2)*0.5];
         B = [-r1;0;-i*x;i*x;0;0;i*T;-i*T];
         Y = A\B;
     P(n, m, v) = imag(Y(3)); % <---------------------------P向量中的元素赋值
           end
     end
end
[X,Y,Z]=meshgrid(W,K,V);
surf(X,Y,Z,P);
shading interp
3楼2014-12-29 12:45:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wzp0098

木虫 (著名写手)

引用回帖:
2楼: Originally posted by huozhe123 at 2014-12-29 09:09:14
K=-3:0.1:3i;这个什么意思?从-3到0 ?还有,k1你在哪定义的?

我改了一下,程序还是运行不起来,请大虾指教!
W=-3:0.1:3;K=-3:0.1:3;V=-3:0.1:3;
P = [];
for n=1:length(W);
           Ky=W(n);
       for m=1:length(K);
           Kx=K(m);
            for v=1:length(V);
                Kz=V(v);
          w = 1;K1=0;
          K2 = K1+2*w; x = 2*(sin(Kx)+sin(Ky));
          r1 = 8; r2 = 0.001*r1; T = 3*sin(Kz);
          A=[  -r1   r2-r1  -i*x      i*x      0           0       0              0;
                    0    -r2       0       0       0           0      i*T           -i*T;
             -2*i*x  -i*x -r1-i*K1*0.5 0     -i*T          0       0              0;
                  2*i*x  i*x       0  -r1+i*K1*0.5 0          i*T      0              0;
                    0     0      -i*T      0 -r2-i*(K1+K2)*0.5 0      i*x             0;
                    0     0        0      i*T      0 -r2+i*(K1+K2)*0.5 0             -i*x;
                   i*T 2*i*T       0       0      i*x          0 -r2-r1+i*(K1-K2)*0.5 0;
                  -i*T -2*i*T      0       0       0         -i*x      0 -r2-r1-i*(K1-K2)*0.5];
          B = [-r1;0;-i*x;i*x;0;0;i*T;-i*T];
          Y = A\B;
      P(n, m, v) = imag(Y(3)); % <---------------------------P向量中的元素赋值
            end
      end
end
[X,Y,Z]=meshgrid(W,K,V);
surf(X,Y,Z,P);
shading interp
4楼2014-12-29 12:46:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见