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的回帖

wzp0098

木虫 (著名写手)

引用回帖:
11楼: Originally posted by dbb627 at 2015-01-03 23:33:10
你想看的是否是P关于W;K;V的等值面?...

是的
12楼2015-01-04 09:55:24
已阅   回复此楼   关注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的回帖
信息提示
请填处理意见