Matlab需要写一个函数图像的程序,总是不出函数图像,只有图像框

运行程序后 p q 为什么为常数了? T 为时间 q应该是随T变化的函数 但运行后得到 q=NaN 且不出图像

问题相关代码,
clear ;
clc;

syms T0 toa k T_e n v u b M_T m_T mu  h_ij r z_j f;
f=zeros(10,10);
h_ij=zeros(1,1);
h2=zeros(10,10);
T0=1;
toa=0.2;
k=0;
T_e=10;
n=10;
v=0;
b=0.6;

q=0;
p=0;
h=0;
r=0.2;
z_j=0.1;
e=0;
a=0;
T(1, 1) =0;
M_T(1,1)= 0;
m_T(1,1)= 0;
i=0;

while T<T_e
    T(a + 2, 1) = T(a + 1, 1) + toa;
    a=a+1 ;
    k=0;
    while k<n
        z=1+(2-1).*rand([a,k]);
        sort(z);
        k=k+1;
    end
    
    while 1.0+r<=2
        for i=2:1:9
            e=e+1;
            if z(a,(i-1))<1.2+r && z(a,(i-1))>1.0+r
           h=h+1;
           h2(a,(i-1))=h/e*0.1;
           f(a,(i-1))=h2(a,(i-1))./(z(a,(i-1))-z(a,i));
            end
            r=r+z_j;
        end
    end
    v=v+1;
    k=0;
    z_max=max(max(z));
    z_min=min(min(z));
    u=z_max-z_min;
    if u<=b
        mu=1;
        m_T=m_T+ mu;
        M_T=M_T + 1;
       
    end
    if v<M_T
        
    else
       q=(1-(m_T/M_T)) ;
       p=m_T/M_T;
       qdouble=double(q);
    
  

      plot(T,q,'bo') ;
      
        hold on;
        grid on;
    end
end

我想要达到的结果

得到q随T变化的图像

因为你的u<=b恒成立,所以M_T=M_T + 1;永远不会被执行,所以M_T恒为0,所以m_T/M_T是分母为0的数,所以m_T/M_T=NaN,所以q=(1-(m_T/M_T)) ;得到的结果q也是NaN,所以最终不能画图(画图时是空白);
建议检查并可能添加u>b情况下的M_T的改变,具体实施还需要题主自行决断