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


رتبه موضوع:
  • 1 رای - 2 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خطا

خطا

#1
سلام و خدا قوت.
با نوشتن برنامه زیر خطای را می دهد.
( / Error using 
Matrix dimensions must agree)
      Vd=0:0.01:0.9
          Vbias=max(min(Vd,Vd_max),1e-9)
          delta_phib=phib_ratio*Vbias
          c_delta_phib=(1-phib_ratio)*Vbias
          Coexp1=exp((E1-Ef0-delta_phib)/kT)e
          Coexp2=exp((E2-Ef0-delta_phib)/kT)e
         Rc=1/((2+kT/Vd*(log((1+Coexp1)/(1+Coexp1*exp(Vd/kT))) + log((1+Coexp2)/(1+Coexp2*exp(Vd/kT)))))*Coeffj)e
plot(Vd,Rc)e
چرا این خصا را می دهد؟ در حالی که اگر همین را در حلقه for بنویسم خظایی نمی دهد ولی شکل را نقطه نقطه می کشد؟

سوال دیگه ای هم داشتم:
دستور مشتق جریی که نسبت به یک پارامتر باشد چیست؟
پاسخ

خطا

#2
یادم رفت که بگم e های انتهای پرانتز برای بسته شدن مناسب پرانتز ها در جای خودش می باشد
 
پاسخ

خطا

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

خطا

#4
 
کد پی‌اچ‌پی:
kT=0.0259,  phib_ratio=0.7015 ,  Ef0=0.6 E1=0.2895,  E2=0.5791Coeffj=1.544e-4
Lss=32e-9  ,Leff=15e-9    ,Ldd=32e-9      
Vd
=0:0.01:0.9
          Vbias
=max(min(Vd,Vd_max),1e-9);
          
delta_phib=phib_ratio*Vbias;
          
c_delta_phib=(1-phib_ratio)*Vbias;
          
Coexp1=exp((E1-Ef0-delta_phib)/kT);
          
Coexp2=exp((E2-Ef0-delta_phib)/kT); 
          
Rc=1/((2+kT/Vd*(log((1+Coexp1)/(1+Coexp1*exp(Vd/kT))) + log((1+Coexp2)/(1+Coexp2*exp(Vd/kT)))))*Coeffj);
          
Rs=(Lss/Leff)*Rc;
          
Rd=((Ldd-Leff)/Leff)*Rc;
          
figure(1)
          
hold on 
          plot
(Vd,Rc,Vd,Rs,Vd,Rd)
          
legend('Rc','Rs','Rd'

 
پاسخ

خطا

#5
سلام.
خطای زیر را می دهد :

کد:
??? Undefined function or variable 'Vd_max'.

Error in ==> program at 8
          Vbias=max(min(Vd,Vd_max),1e-9);

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

خطا

#6
(۱۳۹۲/۰۸/۱۷, ۰۶:۵۹ ب.ظ)'admin' نوشته: سلام.
خطای زیر را می دهد :


کد:
??? Undefined function or variable 'Vd_max'.

Error in ==> program at 8
Vbias=max(min(Vd,Vd_max),1e-9);

که به معنای عدم تعریف  Vd_max است. باید همه متغیرها رو تعریف کنید.

 


بخشید من یک قسمتی از برنامه را که مربوط به خطا بود را برای شما آورده ام
Vd_max=1.2409
 
پاسخ

خطا

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

خطا

#8
(۱۳۹۲/۰۸/۱۷, ۰۸:۱۱ ب.ظ)'admin' نوشته: من باید کل برنامه را داشته باشم تا بتوانم خطایابی کنم. این نکته را در یک ارسال دیگر نیز به شما تذکر داده بودم. خود نرم افزار متلب، بهترین ابزار برای خطایابی است و کسی نمیشینه تک تک خط های کدها رو بخونه، بلکه کدها رو در متلب اجرا میکنه تا ببینه مشکل برنامه از کدوم خط برنامه هست.
لطفا کدها را کامل کنید.
در ضمن، ابتدا خودتان ببینید خطا چه گفته و سعی کنید خطا را رفع کنید، اگر نشد، اینجا کل برنامه را قرار بدهید تا بررسی کنم (هدفم اینه که با خطایابی در متلب آشنا شوید).
 

سلام.
خود برنامه ای که برای شما نوشتم برنامه کاملی است ولی برخی مقادیرش از جایی که مقادیر ثابت ذخیره شده اند بارگذاری شده و من مقدار آنرا فراموش کردم برای شما بگذارم؟
خواهشا همان کدی براتون فرساتدم بامقدار پارامترهایی که مشخص شده اجرا فرمایید و بهم بگویید چرا وقتی حلقه نمی گذارم خطا می دهد؟
اگر در حلقه بذارم شکلم نقطه نقطه می شود

 
پاسخ

خطا

#9
کد کامل، به صورت زیر می باشد :

کد:
clear all
close all
clc

kT=0.0259, phib_ratio=0.7015 , Ef0=0.6 , E1=0.2895, E2=0.5791, Coeffj=1.544e-4,
Lss=32e-9 ,Leff=15e-9 ,Ldd=32e-9 ,Vd_max=1.2409
Vd=0:0.01:0.9
Vbias=max(min(Vd,Vd_max),1e-9);
delta_phib=phib_ratio*Vbias;
c_delta_phib=(1-phib_ratio)*Vbias;
Coexp1=exp((E1-Ef0-delta_phib)/kT);
Coexp2=exp((E2-Ef0-delta_phib)/kT);
Rc=1/((2+kT/Vd*(log((1+Coexp1)/(1+Coexp1*exp(Vd./kT))) + log((1+Coexp2)/(1+Coexp2*exp(Vd./kT)))))*Coeffj);
Rs=(Lss/Leff)*Rc;
Rd=((Ldd-Leff)/Leff)*Rc;
figure(1)
hold on
plot(Vd,Rc,Vd,Rs,Vd,Rd)
legend('Rc','Rs','Rd')

و خطای زیر در نتیجه نمایش داده می شود :

کد:
??? Error using ==> mldivide
Matrix dimensions must agree.

Error in ==> program2 at 13
Rc=1/((2+kT/Vd*(log((1+Coexp1)/(1+Coexp1*exp(Vd./kT))) +
log((1+Coexp2)/(1+Coexp2*exp(Vd./kT)))))*Coeffj);

برای رفع آن، مبحث زیر را بخوانید :

http://www.kelidestan.com/matlab/matlab-163.php
 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط شماره مجازی امارات


پرش به انجمن:


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