ارسالها: 41
موضوعها: 21
تاریخ عضویت: آبان ۱۳۹۲
اعتبار:
0
سپاس ها 0
سپاس شده 18 بار در 7 ارسال
حالت من: هیچ کدام
سلام و خدا قوت.
با نوشتن برنامه زیر خطای را می دهد.
( / 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 بنویسم خظایی نمی دهد ولی شکل را نقطه نقطه می کشد؟
سوال دیگه ای هم داشتم:
دستور مشتق جریی که نسبت به یک پارامتر باشد چیست؟
سپاس شده توسط | |
|
ارسالها: 41
موضوعها: 21
تاریخ عضویت: آبان ۱۳۹۲
اعتبار:
0
سپاس ها 0
سپاس شده 18 بار در 7 ارسال
حالت من: هیچ کدام
یادم رفت که بگم e های انتهای پرانتز برای بسته شدن مناسب پرانتز ها در جای خودش می باشد
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
سلام.
کدها ناقصه. متغیرها رو تعریف نکردید. باید کد کامل اینجا بگذارید تا من بتونم مشکلش رو پیدا کنم.
در ضمن از بلوک کد برای درج کدها استفاده کنید (دکمه آن در ادیتور موجود است).
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
ارسالها: 41
موضوعها: 21
تاریخ عضویت: آبان ۱۳۹۲
اعتبار:
0
سپاس ها 0
سپاس شده 18 بار در 7 ارسال
حالت من: هیچ کدام
کد پیاچپی: 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=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')
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۲/۰۸/۱۷, ۰۶:۵۹ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۸/۱۷, ۰۶:۵۹ ب.ظ توسط admin.)
سلام.
خطای زیر را می دهد :
کد: ??? Undefined function or variable 'Vd_max'.
Error in ==> program at 8
Vbias=max(min(Vd,Vd_max),1e-9);
که به معنای عدم تعریف Vd_max است. باید همه متغیرها رو تعریف کنید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
ارسالها: 41
موضوعها: 21
تاریخ عضویت: آبان ۱۳۹۲
اعتبار:
0
سپاس ها 0
سپاس شده 18 بار در 7 ارسال
حالت من: هیچ کدام
(۱۳۹۲/۰۸/۱۷, ۰۶:۵۹ ب.ظ)'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
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۲/۰۸/۱۷, ۰۸:۱۱ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۸/۱۷, ۰۸:۱۵ ب.ظ توسط admin.)
من باید کل برنامه را داشته باشم تا بتوانم خطایابی کنم. این نکته را در یک ارسال دیگر نیز به شما تذکر داده بودم. خود نرم افزار متلب، بهترین ابزار برای خطایابی است و کسی نمیشینه تک تک خط های کدها رو بخونه، بلکه کدها رو در متلب اجرا میکنه تا ببینه مشکل برنامه از کدوم خط برنامه هست.
لطفا کدها را کامل کنید.
در ضمن، ابتدا خودتان ببینید خطا چه گفته و سعی کنید خطا را رفع کنید، اگر نشد، اینجا کل برنامه را قرار بدهید تا بررسی کنم (هدفم اینه که با خطایابی در متلب آشنا شوید).
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
ارسالها: 41
موضوعها: 21
تاریخ عضویت: آبان ۱۳۹۲
اعتبار:
0
سپاس ها 0
سپاس شده 18 بار در 7 ارسال
حالت من: هیچ کدام
۱۳۹۲/۰۸/۱۹, ۱۲:۳۷ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۸/۱۹, ۰۵:۴۴ ب.ظ توسط admin.)
(۱۳۹۲/۰۸/۱۷, ۰۸:۱۱ ب.ظ)'admin' نوشته: من باید کل برنامه را داشته باشم تا بتوانم خطایابی کنم. این نکته را در یک ارسال دیگر نیز به شما تذکر داده بودم. خود نرم افزار متلب، بهترین ابزار برای خطایابی است و کسی نمیشینه تک تک خط های کدها رو بخونه، بلکه کدها رو در متلب اجرا میکنه تا ببینه مشکل برنامه از کدوم خط برنامه هست.
لطفا کدها را کامل کنید.
در ضمن، ابتدا خودتان ببینید خطا چه گفته و سعی کنید خطا را رفع کنید، اگر نشد، اینجا کل برنامه را قرار بدهید تا بررسی کنم (هدفم اینه که با خطایابی در متلب آشنا شوید).
سلام.
خود برنامه ای که برای شما نوشتم برنامه کاملی است ولی برخی مقادیرش از جایی که مقادیر ثابت ذخیره شده اند بارگذاری شده و من مقدار آنرا فراموش کردم برای شما بگذارم؟
خواهشا همان کدی براتون فرساتدم بامقدار پارامترهایی که مشخص شده اجرا فرمایید و بهم بگویید چرا وقتی حلقه نمی گذارم خطا می دهد؟
اگر در حلقه بذارم شکلم نقطه نقطه می شود
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۲/۰۸/۱۹, ۰۹:۱۷ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۸/۱۹, ۰۹:۱۸ ب.ظ توسط admin.)
کد کامل، به صورت زیر می باشد :
کد: 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
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
|