اطلاعیه

Collapse
No announcement yet.

خطا در خروجی(plot)

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    خطا در خروجی(plot)

    سلام
    من یه کد نوشتم، نهایتا میخوام یه شکل موج بگیرم

    کد:
    syms eif betam betam_b real_rest_sai real_bottom_sai kstar_f
    e = 1.60217e-19;     
    hbar = 6.6261e-34;    
    eif_b = 6.4087e-20;   
    tou_b = 1e-12;      
    eif_t = 2.4033e-21;    
    tou = 10e-12;   
    gamma = 0.25;    
    c = 2.99792458e8;  
    k = 20;      
    k_b = 1.3806e-23;   
    epsilon = 8.8542e-12; 
    T = 300;      
    m = 2.7183;  
    kstarm = 0;
    for w = 1:1:3
      for i = 1:1:k
        solve(eif-(eif_b)*(((1-betam)^(k-i))*((1+((1-(betam_b))^(2))*((1-betam)^(2i-1)))/(1+((1-(betam_b))^(2))*((1-betam)^(2*k-1)))))^(gamma),betam-((pi)*(e^2)/((hbar)*(c)))*tanh(((hbar)*w-(2*(eif)))/(4*T*(k_b))),real_rest_sai-(e^2/(4*hbar))*tanh(((hbar)*w-(2*(eif)))/(4*T*(k_b)))+(e^2/(4*hbar))*((8*(k_b)*T*(tou_b))/(pi*(hbar)*(1+((w*(tou_b))^2))))*(log(1+exp((eif)/((k_b)*T)))/log(m)),real_bottom_sai-(e^2/(4*hbar))*(1-((exp(((hbar)*(w/2)-(eif_b))/((k_b)*T)))^(-1))+((exp(((hbar)*(w/2)+(eif_b))/((k_b)*T)))^(-1)))+(e^2/(4*hbar))*((4*(k_b)*T*(tou_b))/(pi*(hbar)*(1+((w*(tou_b))^2))))*(log(1+exp((eif_b)/((k_b)*T)))/(log(m))),betam_b-(4*(pi)/c)*(real_bottom_sai))
        kstar = eif/(eif_t);
        kstar = kstarm+kstar;
      end
      kstar_f = kstar;
      real_sai = (e^2/(4*hbar))*((4/(pi*hbar*(w^2)))*(((eif_b)/(tou_b))+(2*(kstar_f)*(eif_t)/tou))-k);
      plot(w,(real_sai)/(e^2/(4*hbar)))
      hold on
    end
    پایین نوع خطا رو نوشتم، ممنون میشم راهنمایی کنین

    Conversion to double from sym is not possible.

    #2
    پاسخ : خطا در خروجی(plot)

    سلام
    در plot عبارت real_sai حاوی یک عبارت سیمبولیک eif است که مقدار دهی نشده.
    اول باید eif رو مقدار دهی کنید و بعد دستور plot رو اجرا کنید.
    با دستور subs میشه اینکارو کرد.

    دیدگاه

    لطفا صبر کنید...
    X