fortran小白_ma 发表于 2019-9-27 19:34:41

matlab代码转fortran代码

预定义一些变量的维度的matlab代码怎么写成fortran,matlab里面直接调用的zeros

         s_pf=zeros(layers,1); s_ps=zeros(layers,1);    s_sv=zeros(layers,1);   s_em=zeros(layers,1);a_pf=zeros(layers,1);a_ps=zeros(layers,1); a_sv=zeros(layers,1); a_em=zeros(layers,1);
               b_pf=zeros(layers,1); b_ps=zeros(layers,1);    b_sv=zeros(layers,1);   b_em=zeros(layers,1);
                K_w=zeros(layers,1);L_w=zeros(layers,1); Sigma_w=zeros(layers,1);epsilon_w=zeros(layers,1); rou_w=zeros(layers,1); rou_t=zeros(layers,1);
               
            length_k=length(k_array);
                ur_0=zeros(1,length_k);ut_0=zeros(1,length_k); uz_0=zeros(1,length_k);
                Er_0=zeros(1,length_k);Et_0=zeros(1,length_k); Ez_0=zeros(1,length_k);
                Hr_0=zeros(1,length_k);Ht_0=zeros(1,length_k); Hz_0=zeros(1,length_k);
               
                ur_1_1=zeros(1,length_k);   ur_1_2=zeros(1,length_k);   Er_1_1=zeros(1,length_k);    Er_1_2=zeros(1,length_k);   
                ut_1_1=zeros(1,length_k);   ut_1_2=zeros(1,length_k);   Et_1_1=zeros(1,length_k);    Et_1_2=zeros(1,length_k);
                  uz_1=zeros(1,length_k);       Ez_1=zeros(1,length_k);                                          
                Hr_1_1=zeros(1,length_k);   Hr_1_2=zeros(1,length_k);   
                Ht_1_1=zeros(1,length_k);   Ht_1_2=zeros(1,length_k);   
                  Hz_1=zeros(1,length_k);   
               
                ur_1N_1=zeros(1,length_k);    ur_1N_2=zeros(1,length_k);    Er_1N_1=zeros(1,length_k);    Er_1N_2=zeros(1,length_k);% 2*sin
                ut_1N_1=zeros(1,length_k);    ut_1N_2=zeros(1,length_k);    Et_1N_1=zeros(1,length_k);    Et_1N_2=zeros(1,length_k);% 2*cos
               uz_1N=zeros(1,length_k);      Ez_1N=zeros(1,length_k);                                        % 2*sin
                Hr_1N_1=zeros(1,length_k);    Hr_1N_2=zeros(1,length_k);% 2*cos
                Ht_1N_1=zeros(1,length_k);    Ht_1N_2=zeros(1,length_k);% 2*sin
                Hz_1N=zeros(1,length_k);      
                  
                  ur_2_1=zeros(1,length_k);    ur_2_2=zeros(1,length_k);    Er_2_1=zeros(1,length_k);    Er_2_2=zeros(1,length_k);% 2*sin
                  ut_2_1=zeros(1,length_k);    ut_2_2=zeros(1,length_k);    Et_2_1=zeros(1,length_k);    Et_2_2=zeros(1,length_k);% 2*cos
                   uz_2=zeros(1,length_k);       Ez_2=zeros(1,length_k);                                        % 2*sin
                  Hr_2_1=zeros(1,length_k);    Hr_2_2=zeros(1,length_k);% 2*cos
                  Ht_2_1=zeros(1,length_k);    Ht_2_2=zeros(1,length_k);% 2*sin
                  Hz_2=zeros(1,length_k);                                           % 2*cos         
                  
                           ur_2N_1=zeros(1,length_k);    ur_2N_2=zeros(1,length_k);   Er_2N_1=zeros(1,length_k);    Er_2N_2=zeros(1,length_k);% 2*cos
                           ut_2N_1=zeros(1,length_k);    ut_2N_2=zeros(1,length_k);   Et_2N_1=zeros(1,length_k);    Et_2N_2=zeros(1,length_k);% 2*sin
                           uz_2N=zeros(1,length_k);      Ez_2N=zeros(1,length_k);                                             % 2*cos
                           Hr_2N_1=zeros(1,length_k);   Hr_2N_2=zeros(1,length_k);% 2*sin
                           Ht_2N_1=zeros(1,length_k);      Ht_2N_2=zeros(1,length_k);% 2*cos
                           Hz_2N=zeros(1,length_k);   
                  
                  P_0=zeros(1,length_k);   P_1=zeros(1,length_k);P_1N=zeros(1,length_k); P_2=zeros(1,length_k);P_2N=zeros(1,length_k);
                  

fortran小白_ma 发表于 2019-9-27 19:45:37

如何能够写一个循环或者类似的代码,将这种同类型的定义维度的内容进行编写

li913 发表于 2019-9-28 16:20:32

matlab#       s_pf=zeros(layers,1)
fortran#       real::s_pf(layers,1)=0.0
页: [1]
查看完整版本: matlab代码转fortran代码