آموزش حل مدار الکتریکی خود را در پایتون توسعه دهید

Develop Your Electrical Circuit Solver in Python

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: نظریه پشت شبیه سازهای مدار امروزی را کشف کنید و آن را در پایتون پیاده سازی کنید.

آنچه یاد خواهید گرفت

  • تئوری گراف برای تجزیه و تحلیل مدار اعمال می شود
  • اعمال تحلیل گرهی اصلاح شده (MNA) در مدارهای الکتریکی در حوزه زمان و حوزه فرکانس
  • اصول پایتون
  • مبانی کنترل نسخه، Git و GitHub
  • یک حل کننده مدار در حوزه زمان و حوزه فرکانس ایجاد کنید
  • با NumPy، محبوب ترین کتابخانه علمی پایتون آشنا شوید
  • اصول اولیه کتابخانه پانداها برای دستکاری آسان داده ها و قالب بندی خروجی خوب
  • برنامه نویسی شی گرا با پایتون
  • اصل خودت را تکرار نکن (DRY) با ارث بری کلاس در پایتون
  • بازسازی کد برای بهبود ساختار برنامه شما

به یکی از معدود دوره های آنلاین خوش آمدید که به شما یاد می دهد چگونه یک حل کننده مدار الکتریکی ایجاد کنید!


آیا به تئوری مورد استفاده در اکثر شبیه سازهای مدار و نحوه پیاده سازی آن علاقه مند هستید؟

آیا شما یک دانشجوی مهندسی برق/حرفه ای هستید که مایل به توسعه مهارت های کدنویسی هستید؟

آیا می خواهید به شغل مهندسی نرم افزار تغییر دهید و با یک پروژه برنامه نویسی مرتبط با مهندسی برق شروع کنید؟

اگر پاسخ هر یک از این سوالات مثبت است، این دوره برای شما مناسب است.

اگر دانشجوی دانشگاه هستید، متوجه خواهید شد که این دوره مکمل برنامه درسی شماست.

تحلیل گره اصلاح شده (MNA)، روشی قدرتمند برای حل مدارهای الکتریکی را خواهید دید. لئونارد مارتین ویدپول، یکی از مربیان برجسته مهندسی برق، تاکید کرد که "عدم وجود این تکنیک تجزیه و تحلیل مدار در بسیاری از دوره های مهندسی آکادمیک با کاربرد گسترده آن در بسته های شبیه سازی مدار مدرن کاملاً مغایرت دارد". و اینجا جایی است که می توانید این تکنیک عالی را یاد بگیرید!

لطفاً توجه داشته باشید که این دوره توسعه یک رابط گرافیکی برای ترسیم مدارهای الکتریکی را پوشش نمی دهد. با این حال، این ممکن است پروژه بعدی شما پس از تکمیل این پروژه باشد!

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

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

برنامه خود را با یک چالش گرم کردن شروع خواهید کرد: یک حل کننده DC در حالت ثابت بسازید. پس از اتمام، به توسعه یک حل کننده دامنه فرکانس و سپس یک حل کننده دامنه زمان ادامه خواهید داد.

در طول ماجراجویی، شما یک مفهوم مهندسی نرم افزار ضروری را یاد خواهید گرفت: کنترل نسخه. این باعث می شود تا شما بتوانید پیشرفت پیشرفت خود را نظارت کنید و از دست دادن اطلاعات اجتناب کنید اگر همه چیز را در هر زمان سقوط کنید یا برنامه های خود را سقوط کنید! در این دوره، شما Git را با Github استفاده خواهید کرد (شما باید یک حساب GitHub ایجاد کنید - برای درک بهتر و اعمال مفاهیم کنترل نسخه).

بخش آخر این دوره تمرکز بر بهبود ساختار کد شما و تعریف یک فرمت خروجی مناسب برای کاربر نهایی شما است.

اگر در پایان این دوره، مایل به ادامه این پروژه و توسعه قابلیت های بیشتر هستید، فرصت های خلاقانه زیادی پیدا خواهید کرد که به شما کمک می کند تا مهارت های برنامه نویسی خود را گسترش دهید و علاوه بر این، به شما امکان می دهد که ظاهر شوید. با دستاوردهای بزرگ برای کارفرمایان! اگر به راهنمایی نیاز دارید، برخی از پیشنهادات بهبود در آخرین سخنرانی این دوره فهرست شده است.

این دوره برای چه کسانی است:

  • هر کسی که در رشته مهندسی برق تحصیل می کند یا در این زمینه کار می کند و مایل به یادگیری برنامه نویسی است.
  • هر کسی که قصد توسعه یک پروژه برنامه نویسی در دنیای واقعی مرتبط با مهندسی برق را دارد.
  • این پروژه ممکن است به عنوان پیشنهاد پروژه برای دانشجویان دانشگاه مناسب باشد.
  • دانشجویان/حرفه‌ایان مهندسی برق که مایلند فرصت‌های شغلی خود را با توسعه مهارت‌های چند رشته‌ای گسترش دهند.
  • هر کسی که کنجکاو در درک نظریه پشت حل کننده های پیاده سازی شده در شبیه سازهای مدار مدرن است.

سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

تئوری مدار Circuit Theory

  • مقدمه ای بر تحلیل گرهی اصلاح شده (MNA) Introduction to Modified Nodal Analysis (MNA)

  • مبانی MNA - مثال 1 - قسمت 1 MNA Basics - Example 1 - Part 1

  • مبانی MNA - مثال 1 - قسمت 2 MNA Basics - Example 1 - Part 2

  • مبانی MNA - مثال 2 - قسمت 1 MNA Basics - Example 2 - Part 1

  • مبانی MNA - مثال 2 - قسمت 2 MNA Basics - Example 2 - Part 2

  • کاربرد اصول MNA - قسمت 1 Application of the MNA Principles - Part 1

  • کاربرد اصول MNA - قسمت 2 Application of the MNA Principles - Part 2

  • کاربرد اصول MNA - راه حل تمرین Application of the MNA Principles - Exercise Solution

  • فرمول محاسباتی MNA MNA Computational Formulation

  • محاسبه ولتاژ و جریان انشعابات Calculation of Branch Voltages and Currents

  • ماتریس بروز Incidence Matrix

  • ماتریس پذیرش شعبه و معادله کامل برای جریان ها Branch Admittance Matrix and Complete Equation for Currents

  • مدلسازی LC در حوزه زمان - ناحیه ذوزنقه ای LC Modelling in Time Domain - Trapezoid Area

  • مدل سازی LC در دامنه زمان - قانون ذوزنقه ای LC Modelling in Time Domain - Trapezoidal Rule

  • مدل سازی LC در دامنه زمانی - نمایندگی مشترک و فرآیند تکراری LC Modelling in Time Domain - Common Representation and Iterative Process

  • مدلسازی LC در دامنه زمان - اثبات مدل سلف LC Modelling in Time Domain - Proof of the Inductor Model

  • مدل سازی LC در دامنه زمان - اثبات مدل خازن LC Modelling in Time Domain - Proof of the Capacitor Model

  • مدلسازی LC در حوزه زمان - تاثیر بر معادله ماتریس MNA LC Modelling in Time Domain - Impact on the MNA Matrix Equation

  • تمرین - اثبات فرمول تحلیل گرهی Exercise - Proof of the Nodal Analysis Formulation

  • ارائه اثبات معادله ماتریس تحلیل گرهی Presentation of the Proof of the Nodal Analysis Matrix Equation

  • تمرین - اثبات فرمولاسیون MNA Exercise - Proof of the MNA Formulation

  • ارائه اثبات فرمول MNA Presentation of the Proof of the MNA Formulation

اصول پایتون Python Fundamentals

  • نصب پایتون Python Installation

  • ویرایشگر کد و IDE Code Editor and IDE

  • شروع کار با PyCharm Getting Started with PyCharm

  • اعداد صحیح، شناور و رشته ها Integers, Floats and Strings

  • لیست ها Lists

  • اظهارات مشروط Conditional Statements

  • حلقه ها - قسمت 1 Loops - Part 1

  • حلقه ها - قسمت 2 Loops - Part 2

  • تمرین ها - لیست ها، حلقه ها و بیانیه های شرطی Exercises - Lists, Loops and Conditional Statements

  • راه حل های تمرین - لیست ها، حلقه ها و بیانیه های شرطی Exercises Solutions - Lists, Loops and Conditional Statements

  • فرهنگ لغت - قسمت 1 Dictionaries - Part 1

  • فرهنگ لغت - قسمت 2 Dictionaries - Part 2

  • تمرین - فرهنگ لغت Exercise - Dictionaries

  • توابع - قسمت 1 Functions - Part 1

  • توابع - قسمت 2 Functions - Part 2

  • توابع - قسمت 3 Functions - Part 3

  • تمرین - توابع Exercises - Functions

  • توابع - راه حل تمرین 1 Functions - Solution to Exercise 1

  • توابع - راه حل تمرین 2 Functions - Solution to Exercise 2

  • برنامه نویسی شی گرا - قسمت 1 Object-Oriented Programming - Part 1

  • برنامه نویسی شی گرا - قسمت 2 Object-Oriented Programming - Part 2

  • برنامه نویسی شی گرا - قسمت 3 Object-Oriented Programming - Part 3

  • تمرین - برنامه نویسی شی گرا Exercise - Object-Oriented Programming

  • برنامه نویسی شی گرا - راه حل تمرین Object-Oriented Programming - Solution to the Exercise

  • ورودی/خروجی فایل ها Files I/O

  • مقدمه ای بر NumPy Introduction to NumPy

  • آشنایی با پانداها Introduction to Pandas

  • مقدمه ای بر Matplotlib Introduction to Matplotlib

  • __name__ و __اصلی__ __name__ and __main__

  • محیط های مجازی Virtual Environments

حل کننده مدار DC DC Circuit Solver

  • معرفی Introduction

  • ساختار برنامه Program Structure

  • راه حل - قسمت 1 - ذخیره داده های ورودی Solution - Part 1 - Storing the Input Data

  • راه حل - قسمت 2 - پیش پردازش ورودی Solution - Part 2 - Input Pre-processing

  • راه حل - قسمت 3 - ماتریس پذیرش گره Solution - Part 3 - Node Admittance Matrix

  • راه حل - قسمت 4 - ماتریس بروز و ماتریس MNA Solution - Part 4 - Incidence Matrix and MNA Matrix

  • راه حل - قسمت 5 - وکتور RHS و راه حل سیستم Solution - Part 5 - RHS Vector and System Solution

  • راه حل - قسمت 6 - ولتاژها و جریان های شاخه ای Solution - Part 6 - Branch Voltages and Currents

  • مستندات و برچسب های دلخواه برچسب گذاری Documentation and Arbitrary Nodes Labelling

مقدمه ای بر کنترل نسخه Introduction to Version Control

  • تعریف و مفاهیم کنترل نسخه Version Control Definition and Concepts

  • احراز هویت توکن برای عملیات Git Token Authentication for Git Operations

  • تمرین Git از خط فرمان Practicing Git From the Command Line

  • کنترل نسخه با PyCharm Version Control with PyCharm

حل کننده دامنه فرکانس Frequency Domain Solver

  • معرفی Introduction

  • نکات و نکات Tips and Hints

  • راه حل - قسمت 1 - پیش پردازش ورودی Solution - Part 1 - Input Pre-processing

  • راه حل - قسمت 2 - راه حل سیستم و اعتبار سنجی نتایج Solution - Part 2 - System Solution and Results Validation

حل کننده دامنه زمان Time Domain Solver

  • معرفی Introduction

  • نکات و نکات Tips and Hints

  • راه حل - قسمت 1 - قبل از حلقه اصلی Solution - Part 1 - Before the Main Loop

  • راه حل - قسمت 2 - پیاده سازی حلقه اصلی Solution - Part 2 - Main Loop Implementation

  • اعتبار سنجی نتایج Results Validation

کد Refactoring و فرمت خروجی Code Refactoring and Output Formatting

  • معرفی Introduction

  • مقدمه ای بر وراثت طبقاتی Introduction to Class Inheritance

  • در قالب فایل های ورودی تغییر می کند Changes to the Input Files Format

  • پیاده سازی کلاس پایه Base Class Implementation

  • دکوراتورها و روش های استاتیک Decorators and Static Methods

  • قالب بندی خروجی - مقدمه Output Formatting - Introduction

  • قالب بندی خروجی - پیاده سازی Output Formatting - Implementation

  • تعریف رابط کاربری نهایی پایتون - مقدمه Defining the Python End-User Interface - Introduction

  • تعریف رابط کاربری نهایی پایتون - پیاده سازی Defining the Python End-User Interface - Implementation

  • اجازه دادن به برچسب گذاری گره های عددی آلفا - مقدمه Allowing Alpha-Numerical Nodes Labelling - Introduction

  • اجازه دادن به برچسب گذاری گره های عددی آلفا - پیاده سازی Allowing Alpha-Numerical Nodes Labelling - Implementation

  • اجرای یک اسکریپت پایتون با آرگومان های خط فرمان اضافی Running a Python Script With Additional Command Line Arguments

  • پیشنهاد بهبود Improvements Suggestion

نمایش نظرات

نظری ارسال نشده است.

آموزش حل مدار الکتریکی خود را در پایتون توسعه دهید

این دوره غیر فعال شده است.

جزییات دوره
8h 22m
88
Udemy (یودمی) udemy-small
10 مرداد 1400 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
3,280
4.5 از 5
ندارد
ندارد
ندارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Ossama El Sanharawi Ossama El Sanharawi

مهندس اسامه السنهاراوی دارای مدرک کارشناسی ارشد از CentraleSupélec، فرانسه است. او بیش از 5 سال در جنرال الکتریک (GE) در تجارت HVDC کار کرد و در پروژه هایی به ارزش چند صد میلیون دلار (HVDC: High-Voltage Direct-Current) مشارکت داشت. این پروژه‌ها شامل اتصال نیروگاه‌های تجدیدپذیر بزرگ به شبکه و اتصال انتهای راه دور برای رفع نیازهای برق محلی و منطقه‌ای است. مشارکت‌های او منجر به راه‌اندازی DolWin3، اولین پروژه HVDC فراساحلی در تاریخ جنرال الکتریک شد که قادر به تامین نیروی باد پاک برای بیش از یک میلیون خانه در آلمان بود. زمینه های تجربی او شامل مناقصه، طراحی سیستم های الکتریکی، توسعه نرم افزار و مدل سازی ریاضی شبکه های برق است.

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

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