کلیدستان

نسخه‌ی کامل: حل معادله
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام. خدا قوت
می خواهم معادله زیر را حل کنم.

کد پی‌اچ‌پی:
syms delta_phib
for Vg=0:0.1:0.9
for 
Vd=0.9 
Vs
=0Vb=0;
channel Ci*(Vg-Vs-Vfbn)+Csub*(Vb-Vs)-(Ci+Csub)*delta_phib

      charge_sub10 
1./(1+exp((E1-delta_phib)/kT))  + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E1-delta_phib)/kT));
      
charge_sub11 1./(1+exp((E11-delta_phib)/kT)) + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E11-delta_phib)/kT));
      
charge_sub12 1./(1+exp((E12-delta_phib)/kT)) + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E12-delta_phib)/kT));
      
charge_sub13 1./(1+exp((E13-delta_phib)/kT)) + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E13-delta_phib)/kT));
      
charge_sub14 1./(1+exp((E14-delta_phib)/kT)) + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E14-delta_phib)/kT));
      
charge_sub15 1./(1+exp((E15-delta_phib)/kT)) + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E15-delta_phib)/kT));
      
charge_sub16 1./(1+exp((E16-delta_phib)/kT)) + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E16-delta_phib)/kT));
      
charge_sub17 1./(1+exp((E17-delta_phib)/kT)) + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E17-delta_phib)/kT));
      
charge_sub18 1./(1+exp((E18-delta_phib)/kT)) + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E18-delta_phib)/kT));
      
charge_sub19 1./(1+exp((E19-delta_phib)/kT)) + exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E19-delta_phib)/kT));

 
charge 0.2*(charge_sub10 charge_sub11 charge_sub12 charge_sub13 charge_sub14 charge_sub15 +charge_sub16 +charge_sub17 +charge_sub18charge_sub19)

s=solve('channel=charge'

ولی S=charge را درخروجی نشان می دهد!!
اشکال برنامه در کجاست؟! و چه باید کرد
با تشکر
سلام.
کدها غلط است. دو بار for نوشتید که برای حلقه به کار می رود، ولی هیچ end ای در کدها نیست.
توصیه می کنم با صبوری بیشتری کد بنویسید، همچنین خود ابتدا به خطایابی بپردازید و سپس اگر جواب نگرفتید، در انجمن مطرح کنید. 
منظورم از خطایابی، اجرای برنامه در نرم افزار متلب و سپس مشاهده پیام خطا در پنجره Command متلب می باشد.
فراموش کردمم end ها را در اینجا بنویسم!!
منظورم این نیست که برنامه ام خطا دارد اتفاقا اجرا می شود بدون هیچ خطایی!!
فقط خروجی solve به جای اینکه مقدار متغیر تعریف شده باشد، S=charge است!
دلیل این را نمی فهمم!!! یعنی در نوشتن کد چه خطایی کردم که این خروجی را میدهد
لطفا راهنمایی بفرمایید!!!

ممنون از شما
بدارید سوالم رو جور دیگری بپرسم
من میخواهم مقادیر delta_phib را پیدا کنم که به ازای آن ها دو تابع charge=channel باشند!! مقادیر Vd و Vg هر دو بین [0 0.9] می باشد. برای محکم کاری دوباره دو تابع زیر را گذاشتم.
کد پی‌اچ‌پی:
Vs=0Vb=0Vfbn=0;
E1=0.29E11=0.32E12=0.39E13=0.48E14=0.59E15=0.71E16=0.89E17=0.95E18=1.1E19=1.2
kT=0.029
Ci
=2.75Csub=0.4
channel
Ci*(Vg-Vs-Vfbn)+Csub*(Vb-Vs)-(Ci+Csub)*delta_phib

      charge_sub10 
1./(1+exp((E1-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E1-delta_phib)/kT));
      
charge_sub11 1./(1+exp((E11-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E11-delta_phib)/kT));
      
charge_sub12 1./(1+exp((E12-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E12-delta_phib)/kT));
      
charge_sub13 1./(1+exp((E13-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E13-delta_phib)/kT));
      
charge_sub14 1./(1+exp((E14-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E14-delta_phib)/kT));
      
charge_sub15 1./(1+exp((E15-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E15-delta_phib)/kT)); 
      
charge_sub16 1./(1+exp((E16-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E16-delta_phib)/kT)); 
      
charge_sub17 1./(1+exp((E17-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E17-delta_phib)/kT)); 
      
charge_sub18 1./(1+exp((E18-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E18-delta_phib)/kT)); 
      
charge_sub19 1./(1+exp((E19-delta_phib)/kT))+ exp(-(Vd-Vs)/kT)/(exp(-(Vd-Vs)/kT)+exp((E19-delta_phib)/kT)); 

 
charge0.2*(charge_sub10 charge_sub11 charge_sub12 charge_sub13 charge_sub14 charge_sub15 +charge_sub16 +charge_sub17 +charge_sub18charge_sub19
اما نمی دانم برای حل این معادله باید چه کدی را بنویسم تا متلب مقدار های  delta_phib را به ازای مقادیر مختلف Vg و Vd حساب کند
ممنون میشم راهنماییم بکنید .خیلی برام مهمه به مقادیر delta_phib برای ادامه برنامه شدیدا احتیاج دارم