خانه / fd (صفحه 4)

fd

معیار پایداری راث هرویتز — به زبان ساده

در آموزش‌های پیشین مجله فرادرس، مباحث مربوط به نمایش سیستم‌های کنترل را بیان کردیم. تحلیل و طراحی سیستم‌های کنترل، مبتنی بر سه ویژگی مهم پاسخ گذرا، پایداری و خطای حالت ماندگار است. در این آموزش، یکی از ابزارهای بررسی پایداری سیستم‌های خطی، یعنی معیار پایداری راث هرویتز را معرفی خواهیم کرد. معیار پایداری راث هرویتز، الگوریتم ساده‌ای است که با استفاده از آن می‌توان تعیین کرد که همه صفرهای یک چندجمله‌ای در سمت چپ صفحه مختلط قرار دارند (گاهی چنین چندجمله‌ای را هرویتز می‌نامند) یا خیر. چندجمله‌ای هرویتز،‌ یک التزام اساسی برای پایدار بودن (خروجی کران‌دار به‌ ازای ورودی کران‌دار) یک سیستم تغییرناپذیر با زمان پیوسته خطی (LTI) است. شرط لازم پایداری شرط لازم پایداری یک سیستم LTI، «هرویتز» (Hurwitz) بودن چندجمله‌ای است. یعنی همه صفرهای چندجمله‌ای در سمت چپ صفحه مختلط قرار داشته باشند. اگر حتی یکی از ریشه‌ها در سمت راست صفحه مختلط باشند، چندجمله‌ای پایدار نیست. شرط کافی پایداری شرایط کافی پایداری، شرایطی است که اگر برقرار باشد، چندجمله‌ای پایدار خواهد بود. برای مثال، همان‌طور که خواهیم دید، شرط..

توضیحات بیشتر »

کپسوله‌سازی در ++C و C — به زبان ساده

کپسوله‌سازی به مجموعه‌ای از ابزارها گفته می‌شود که می‌توانند دسترسی به داده‌ها یا متدها را محدود سازند و بدین ترتیب از دستکاری آن‌ها جلوگیری کنند. در این مقاله قصد داریم نمونه‌هایی از کپسوله‌سازی در ++C و C را مورد بررسی قرار دهیم کپسوله‌سازی در ++C داده‌ها و متدها به طور پیش‌فرض در class و به صورت private هستند. این بدان معنی است که آن‌ها تنها از سوی شیء/کلاس مربوطه قابل دسترسی و تغییر هستند. در ++C می‌توان سطح دسترسی را با استفاده از ارائه کلیدواژه‌های مناسب، بر روی مقادیر دیگری نیز تعیین کرد. در ++C چند قید برای تعیین سطح دسترسی داده‌ها وجود دارند: Public – از سوی کلاس، فرزندان کلاس و از هر جایی خارج از کلاس قابل دسترسی است. Protected – تنها از سوی کلاس و کلاس‌های فرزند آن قابل دسترسی است. Private تنها از سوی کلاس قابل دسترسی است. برای این که مثال‌ها خلاصه‌تر باشند، تنها دو سطح خصوصی و عمومی در ادامه ارائه شده‌اند. مثال ساده‌ای از کپسوله‌سازی درون کلاس class Contact، متغیرها و متدهایی که به وسیله public تعریف شده‌اند می‌توانند در main یعنی خارج از کلاس مورد دسترسی قرار گیرند. مت..

توضیحات بیشتر »

اپلیکیشن آنی اندروید چیست و چگونه کار می کند؟ — به زبان ساده

اپلیکیشن آنی اندروید یا Android Instant Apps روش جالب جدیدی برای استفاده از اپلیکیشن‌های نیتیو بدون نیاز به نصب آن‌ها محسوب می‌شود. در این حالت تنها بخش‌هایی از یک اپلیکیشن دانلود و اجرا می‌شوند و کاربر حس و ظاهر اپلیکیشن نیتیو را در طی چند ثانیه تجربه می‌کند. اپلیکیشن آنی اندروید چگونه کار می‌کند؟ قبل از هر چیز اعلام می‌کنیم که نباید «وب اپلیکیشن‌های پیشرونده» (Progressive Web Apps) را که از طریق یک آیکون، وب اپلیکیشنی را روی مرورگر باز می‌کنند با اپلیکیشن آنی اشتباه بگیرید. اپلیکیشن‌های آنی اندروید عملاً روی گوشی نصب می‌شوند؛ اما نیازی به جستجوی آن‌ها در فروشگاه گوگل پلی وجود ندارد. در این روش URL-های وب فروشگاه گوگل پلی را روی گوشی شما باز می‌کنند و تنها بخش‌هایی از اپلیکیشن را که با URL مورد نظر مرتبط هستند واکشی می‌کنند و بقیه اپلیکیشن دانلود نمی‌شود. بدین ترتیب کاربران می‌توانند به سرعت از تجربه نیتیو اپلیکیشن اندرویدی استفاده کنند. چارچوب کار چیست؟ شما باید پروژه اندروید خودتان را به چند ماژول تقسیم کنید. یکی از آن‌ها ماژول پایه با کد ضروری است که در همه ماژول‌های دیگر استفاد..

توضیحات بیشتر »

آموزش ساخت اپلیکیشن آنی (Instant App) — راهنمای مقدماتی

اپلیکیشن‌های آنی اندروید، روشی عالی برای اجرای بی‌درنگ اپلیکیشن‌های اندرویدی بدون نیاز به نصب کردن آن‌ها محسوب می‌شوند. اگر بخواهیم صادق باشیم، هر توسعه‌دهنده‌ای دوست دارد که اپلیکیشن وی تا جایی که امکان دارد از سوی کاربران بیشتری مورد استفاده قرار گیرد. ویژگی اپلیکیشن آنی اندروید موجب می‌شود که اپلیکیشن‌ها بتوانند از هر جایی که از URL پشتیبانی می‌کند، قابل دسترس باشند. این وضعیت امکانات جدیدی را در اختیار کاربران قرار می‌دهد. اگر بخواهیم اپلیکیشن‌های آنی را از منظر اقتصادی مورد بررسی قرار دهیم، به طور معمول هدف ارائه دهنده اپلیکیشن این نیست که ببیند یک اپلیکیشن چندین بار دانلود شده است؛ بلکه می‌خواهد تعداد دفعاتی که کاربران از کارکردهای عمده اپلیکیشن استفاده می‌کنند را بداند. بنابراین ویژگی اپلیکیشن‌های آنی اندروید واقعاً مؤثر است. برای نمونه تصور کنید اپلیکیشنی داریم که برای تماشای محتوای رسانه‌ای مانند ویدئو، موسیقی یا تصاویر مورد استفاده قرار می‌گیرد. در این اپلیکیشن کاربران می‌توانند کارهای زیر را انجام دهند: فایل‌های رسانه‌ای را تماشا کنند. فایل‌های خود را بارگذاری کنند. فایل‌..

توضیحات بیشتر »

جریان در کانال باز – از صفر تا صد

در مطالعه جریان در کانال باز همواره با مجرایی سر و کار داریم که سیال عبوری از آن، مایع است و سطح آزاد مایع، در معرض فشار اتمسفر قرار می‌گیرد. جریان در لوله، به دو دلیل گرانش یا اختلاف فشار برقرار می‌شود. ولی در کانال‌های باز، سیال در حالت طبیعی و فقط به خاطر وجود گرانش، جاری می‌شود. مثلاً جریان رودخانه به دلیل اختلاف ارتفاع جریان در بالادست و پایین‌دست رخ می‌دهد. دبی جریان در کانال باز با استفاده از تعادل دینامیکی بین گرانش و اصطکاک قابل محاسبه است. در کاربردهای واقعی، مایع عبوری از کانال، معمولاً آب و جریان آن نیز متلاطم است. زیرا ویسکوزیته جنبشی، با اندازه کوچک و در مقیاس بزرگ وجود دارد. جریان، سه‌بعدی و در گاهی اوقات، ناپایدار است و به دلیل اثرات هندسی، پیچیدگی‌هایی دارد. در این مقاله، قاعده‌های اساسی جریان در کانال باز و ارتباط آن با جریان یک‌بعدی پایدار در کانال‌هایی با سطح مقطع‌های متداول را مورد بررسی قرار خواهیم داد. انواع جریان در کانال باز به جریان مایع در کانال‌هایی که در معرض اتمسفر هستند، جریان در کانال باز گفته می‌شود و با کمک سطح تماس گاز-مایع که سطح آزاد نام دارد، مشخص..

توضیحات بیشتر »

اولین پروژه اوپن سورس پایتون خود را بسازید — راهنمای عملی

هر فرد توسعه‌دهنده نرم‌افزار و دانشمند داده باید تمرین ایجاد یک بسته نرم‌افزاری را تجربه کند، چون در این مسیر موارد زیادی را خواهد آموخت. ایجاد یک پروژه اوپن سورس پایتون ممکن است کار دشواری به نظر برسد؛ اما لازم نیست یک قهرمان باشید. همچنین حتی لازم نیست که ایده یک محصول عالی را در ذهن خود بپرورانید. شما صرفاً باید صبور باشید و زمان خود را صرف کنید. البته با مطالعه این راهنما این دو ضرورت نیز رفع می‌شوند. چیز زیبایی بسازید. در این مقاله به صورت گام به گام یک بسته ابتدایی پایتون می‌سازیم. در مقالات بعدی در این زمینه نیز اقدام به راه‌اندازی تست‌های خودکار و ساخت doc-های خودکار می‌کنیم. همچنین اپلیکیشن‌های مفید دیگری را برای بهبود توسعه بسته‌ها مورد استفاده قرار می‌دهیم. در این زمان می‌توانید آن چه را که آموخته‌اید برای رفع نیازهایتان مورد بهره‌برداری قرار دهید. این راهنما برای سیستم macOS و پایتون نسخه 3.7 نوشته شده است. همه مواردی که در این مقاله نوشته شده‌اند در زمان نگارش آن کار می‌کرده‌اند؛ اما همه چیز به سرعت در حال تغییر است و هیچ تضمینی نیست که اگر چند سال دیگر این راهنما را بخو..

توضیحات بیشتر »

خطای حالت ماندگار — به زبان ساده

در آموزش‌های پیشین مجله فرادرس، مباحث مربوط به نمایش سیستم‌های کنترل را بیان کردیم. تحلیل و طراحی سیستم‌های کنترل، مبتنی بر سه ویژگی مهم پاسخ گذرا، پایداری و خطای حالت ماندگار است. در این آموزش، درباره خطای حالت ماندگار بحث خواهیم کرد. تعریف خطای حالت ماندگار «خطای حالت ماندگار» (Steady-State Error)، اختلاف بین ورودی و خروجی سیستم در زمان طولانی ($$ t to infty $$) برای یک ورودی آزمون است. ورودی‌های آزمون متداول در جدول زیر آورده شده‌اند. خطای حالت ماندگار را با $$e _ {s s } $$ نشان می‌دهیم و با استفاده از قضیه مقدار نهایی، داریم: $$ large e _ { s s } = lim _ { t to infty } e ( t ) = lim _ { s to 0 } E ( s ) $$ که در آن $$ E (s ) $$ تبدیل لاپلاس سیگنال خطای $$ e ( t ) $$ است. خطای حالت ماندگار هر سیستمی را که اطلاعات آن موجود باشد، می‌توان با انجام محاسبات به دست آورد. اما متداول است که فرمول واحد برای سیستم استاندارد با فیدبک واحد استفاده شود. در ادامه، نحوه پیدا کردن خطای حالت ماندگار را برای سیستم با فیدبک واحد و سیستم‌های کنترل با فیدبک غیر واحد معرفی می‌کنیم. خطای حا..

توضیحات بیشتر »

ک م م یا کوچکترین مضرب مشترک چیست؟ — به زبان ساده

در آموزش‌های قبلی از مجموعه مطالب ریاضی مجله فرادرس، درباره تجزیه اعداد به عوامل اول بحث کردیم. در این آموزش، مفهوم «کوچکترین مضرب مشترک» (Least Common Multiple) یا ک م م یا LCM و نحوه محاسبه آن را بررسی می‌کنیم. مضرب چیست؟ اگر عددی را در یک عدد غیرصفر دیگر مانند 1، 2، 3، 4، 5 و… ضرب کنیم، مضرب آن به دست می‌آید. برای مثال، مضارب اعداد 4 و ۵ به‌صورت زیر هستند: مضرب مشترک چیست؟ مضرب مشترک دو یا چند عدد، مضاربی هستند که بین آن اعداد مشترک باشند. در قسمت قبل، مضارب اعداد 4 و ۵ را نوشتیم. مضارب مشترک این دو عدد، در زیر مشخص شده‌اند: همان‌طور که می‌بینیم، اعداد 20، 40، 60 و… مضارب مشترک این دو عدد هستند. کوچکترین مضرب مشترک چیست؟ ساده‌ترین راه برای محاسبه کوچکترین مضرب مشترک، نوشتن مضارب مشترک و انتخاب کوچکترین آن‌ها است. ک م م – همان‌گونه که از نامش پیداست – کوچکترین مضربی است که بین اعداد مورد نظر مشترک باشد. مثلاً برای اعداد 4 و ۵ که در بالا به آن اشاره شد، اگر بخواهیم کوچکترین مضرب مشترک را از بین مضارب مشترک 20، 40، 60 و… تعیین کنیم، عدد 20 را در نظر می‌گیریم که از همه مضارب مشترک..

توضیحات بیشتر »

رسم نمودار داده ها در پایتون — راهنمای تخصصی

اغلب هنگامی که بخواهیم نمودارهای آماری را در پایتون رسم کنیم، از کتابخانه matplotlib استفاده می‌کنیم. در این نوشتار از کتابخانه plotly از pandas استفاده خواهیم کرد که قادر به ترسیم نمودارهای جذاب‌تر و البته با امکانات بهتر و موثر از توابع matplotlib است. با استفاده از این کتابخانه می‌توانید حتی با یک خط کد، نمودار زیبا و گویایی از داده‌ها ترسیم کنید. اگر می‌خواهید با انواع نمودارها و نحوه نمایش داده‌ها آشنا شوید، بهتر است ابتدا مطلب نمایش و رسم نمودار برای داده‌ها — معرفی و کاربردها را مطالعه کرده باشید. البته برای ترسیم بعضی از نمودارهای مختلف آماری در زبان برنامه نویسی R به مطلب نمودار میله‌ای (Bar Chart) در R — راهنمای کاربردی و نمودار نقطه‌ای (Scatter Plot) در R — راهنمای کاربردی مراجعه کنید. همچنین برای آشنایی با نحوه ترسیم نمودار جعبه‌ای در پایتون خواندن مطلب نمودار جعبه ای (Boxplot) و رسم آن در پایتون – به زبان ساده نیز خالی از لطف نیست. ترسیم و نمایش داده در پایتون هر چند کتابخانه‌های مختلفی در پایتون برای ترسیم و رسم نمودار وجود دارد ولی شاید کتابخانه plotly یکی از بهترین اب..

توضیحات بیشتر »

آمار پارامتری و ناپارامتری — انتخاب روش های تحلیل

در تحلیل‌های آماری بخصوص مباحث مربوط به آزمون‌های فرض آماری، بر وجود توزیع برای داده‌ها تکیه داریم. در این حالت برای داده‌های کمی، «توزیع نرمال» (Normal Distribution) و برای داده‌های کیفی، توزیع «دوجمله‌ای» (Binomial Distribution) یا «چند جمله‌ای» (Multinomial) در نظر گرفته می‌شود. به این ترتیب هنگام استفاده از روش‌های آماری هرچه قیدهای بیشتری در مورد توزیع داده‌ها داشته باشیم به «روش‌های پارامتری» (Parametric Methods) نزدیک‌تر شده‌ایم. مشخصا این شیوه و روش‌ها در «آمار پارامتری» (Parametric Statistics) مورد بحث و بررسی قرار می‌گیرند. برعکس هر چه قیدهای کمتری در مورد توزیع داده‌ها وجود داشته باشد، روش‌های تحلیلی به سمت «روش‌های ناپارامتری» (Non-Parametric methods) می‌روند و به شاخه «آمار ناپارامتری» (Non-Parametric Statistics) نزدیک می‌شوند. در این نوشتار به بررسی تفاوت روش‌های پارامتری و ناپارامتری در آمار می‌پردازیم و نقاط ضعف و قوت هر یک را مرور خواهیم کرد. برای مطالعه بیشتر در زمینه تحلیل‌ها و آزمون‌های فرض آماری مطلب آزمون های فرض و استنباط آماری — مفاهیم و اصطلاحات مناسب به نظر ..

توضیحات بیشتر »