|
وقتی از حلقه ها استفاده می کنیم به نرم افزار دستور داده می شود تا عملیات داخل حلقه ها را به تعداد دفعات معین یا برقراری شرطی تکرار کند. گاهی لازم است کل عملیات برای بارها تکرار شود و یا بکلی برنامه بنا به دلایلی به درستی عمل نکرده و پاسخی نا معقول محاسبه شده.
اما در مورد اشکال زدایی و توقف برنامه معیوب نتوانستیم بحث کنیم:
وقتی از حلقه ها استفاده می کنیم به نرم افزار دستور داده می شود تا عملیات داخل حلقه ها را به تعداد دفعات معین یا برقراری شرطی تکرار کند. گاهی لازم است کل عملیات برای بارها تکرار شود و یا بکلی برنامه بنا به دلایلی به درستی عمل نکرده و پاسخی نا معقول محاسبه شده.
به طرق مختلف می توان یک برنامه را دنبال کرد، اول آنکه در داخل برنامه شروطی قائل شویم که در صورت نقص آنها دیگر نیازی به ادامه دستورات حلقه نباشد و از آن حلقه خارج شویم،
دستور break در این نرم افزار این توانایی را به ما می دهد که اگر حلقه ای به این دستور رسید از حلقه خارج شود بالاخص وقتی از حلقه while استفاده می کنیم، ممکن است هرگز شرط حلقه نقص نشود و ...
در نتیجه بهتر است از for و if داخل هم و دستور break برای رهایی از این معضل استفاده شود، یا اینکه کاربر به وسیله دستور error می تواند اجرای عملیات را متوقف کرده و کنترل را به صفحه command ارجاع دهد.
برای درک بهتر، با نوشتن یک تابع دستور error را تشریح می کنیم.
تابعی به فرم زیر بنویسید:

* لازم به ذکر است که در این مثال از نوع جدیدی از برنامه استفاده شده، بنام تابع، اگر به همین فرم نوشته شود بامشکلی برخورد نمی کنید. اما توضیحات جامع در بخش های بعد داده می شود
3) مدارهای حاوی دیودها
1.3- یکسو ساز نیم موج
خروجی مدار یکسو ساز نیم موج توسط اتصال خازن به دو سر مقاومت بار هموار می شود.


در حالت دشارژ خازن:v0(t)=vme(-t/RC)
Ripple voltage:vr=v0(t1)- v0(t2)≈vm-vme-(t2-t1)/RC
که برای مقادیر بزرگ C بطوریکه RC>>t2-t1 می توان از تقریب سری نمایی بهره برد:
e-x≈1-x if |x|≤0.2
=>vr=vm/RC (t2-t1)
اگر ثابت زمانی بزرگ باشد. زمان خالی شدن بطور تقریبی با دوره تناوب سیگنال ورودی برابر خواهد بود.
Vr=vm/f.R.C
با تقرب معقولی، می توان شکل موج خروجی را دندان اره ای فرض کرد و Vrms و Vde را محاسبه نمود،
Vrms=vpeak-to-peak/2√3=vm/2√3fcR
Vdc=vm-vr/2
مثال1:مدار پر کردن باتری زیر موجود است. با استفاده از MATLAB، ولتاژ ورودی را رسم کنید، جریان عبوری از دیود، زاویه هدایت دیود و مقدار اوج جریان را بدست آورید.
Vs=18sin(120pit)
R=100Ω
E=11.8v



مثال2:در مدار صافی خازنی با R=10kΩ وC=100µf و VS(t)=120√2 sin(120Лt) با استفاده از MATLAB زمانهای t1 و t2 را محاسبه کنید. زمان خالی شدن خازن در دوره تناوب سیگنال ورودی را بدست آورید.



تابع fzero از MATLAB برای بدست آوردن مقادیری از یک متغیر که به ازای آن تابعی صفر می شود مورد استفاده قرار می گیرد.
Fzero(`function`,x1)
صفر تابع را نزدیک نقطه x1 تعیین می کند.
http://guilan-ee83.blogfa.com/
|