انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
حل معادله

حل معادله

#1
سلام. خدا قوت
می خواهم معادله زیر را حل کنم.

کد پی‌اچ‌پی:
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 را درخروجی نشان می دهد!!
اشکال برنامه در کجاست؟! و چه باید کرد
با تشکر
پاسخ

حل معادله

#2
سلام.
کدها غلط است. دو بار for نوشتید که برای حلقه به کار می رود، ولی هیچ end ای در کدها نیست.
توصیه می کنم با صبوری بیشتری کد بنویسید، همچنین خود ابتدا به خطایابی بپردازید و سپس اگر جواب نگرفتید، در انجمن مطرح کنید. 
منظورم از خطایابی، اجرای برنامه در نرم افزار متلب و سپس مشاهده پیام خطا در پنجره Command متلب می باشد.
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

حل معادله

#3
فراموش کردمم end ها را در اینجا بنویسم!!
منظورم این نیست که برنامه ام خطا دارد اتفاقا اجرا می شود بدون هیچ خطایی!!
فقط خروجی solve به جای اینکه مقدار متغیر تعریف شده باشد، S=charge است!
دلیل این را نمی فهمم!!! یعنی در نوشتن کد چه خطایی کردم که این خروجی را میدهد
لطفا راهنمایی بفرمایید!!!

ممنون از شما
پاسخ

حل معادله

#4
بدارید سوالم رو جور دیگری بپرسم
من میخواهم مقادیر 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 برای ادامه برنامه شدیدا احتیاج دارم
 
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان