Инженерлерге арналған сандық әдістер
Offered By: The Hong Kong University of Science and Technology via Coursera
Course Description
Overview
Бұл курс инженер білуі керек ең маңызды сандық әдістерді қамтиды. Түбір табудың негізгі алгоритмдерін, матрица алгебрансын, интегралдау мен интерполяцияны, кәдімгі және дербес дифференциалдық теңдеулерді шығарамыз. Біз сандық есептерді шешу үшін MATLAB-ты қолдануды үйренеміз. MATLAB жүйесіне онлайн және MATLAB грейдеріне қол жеткізу тіркелген барлық студенттерге беріледі.
Оқушылар матрицалық алгебра, дифференциалдық теңдеулер және векторлық есептеу негіздерімен бұрыннан таныс деп есептейміз. Студенттер бағдарламалау тілін үйреніп, MATLAB тілін үйренуге дайын болуы керек.
Курста 74 қысқаша лекциялық бейнелер мен MATLAB демонстрациялары бар. Әрбір дәріс немесе демонстрация шешілетін мәселелермен немесе жазылатын бағдарламалармен жалғасады. Курс алты аптаға созылады және әр аптаның соңында бақылау және бағдарламалау жобасы бар.
Download the lecture notes:
http://www.math.ust.hk/~machas/numerical-methods-for-engineers.pdf
Watch the promotional video:
https://youtu.be/qFJGMBDfFMY
Оқушылар матрицалық алгебра, дифференциалдық теңдеулер және векторлық есептеу негіздерімен бұрыннан таныс деп есептейміз. Студенттер бағдарламалау тілін үйреніп, MATLAB тілін үйренуге дайын болуы керек.
Курста 74 қысқаша лекциялық бейнелер мен MATLAB демонстрациялары бар. Әрбір дәріс немесе демонстрация шешілетін мәселелермен немесе жазылатын бағдарламалармен жалғасады. Курс алты аптаға созылады және әр аптаның соңында бақылау және бағдарламалау жобасы бар.
Download the lecture notes:
http://www.math.ust.hk/~machas/numerical-methods-for-engineers.pdf
Watch the promotional video:
https://youtu.be/qFJGMBDfFMY
Syllabus
- Ғылыми есептеулер
- Осы аптада біз MATLAB арқылы бағдарламалауды үйренеміз. Біз нақты сандар дәл нақтылықпен қалай бейнеленетінін және MATLAB көмегімен негізгі арифметиканы қалай жасау керектігін үйренеміз. Біз скрипттер мен функцияларды пайдалануды, векторлар мен матрицаларды көрсетуді, сызықтық сызбаларды салуды, логикалық айнымалыларды, шартты операторларды, for циклдерін және while циклдерін пайдалануды үйренеміз. Сіздің бағдарламалау жобаңызбен логистикалық картаның бифуркация диаграммасын есептеу үшін MATLAB кодын жазуға болады.
- Түбірді табу
- Түбір табу – функцияның нөлдерін табудың сандық әдісі. Бисекция әдісін, Ньютон әдісін және секант әдісін үйренеміз. Бұл әдістердің жинақтылық ретін шығарамыз. Ньютон фракталын есептеуді MATLAB көмегімен көрсетеміз және біз түбірлерді таба алатын MATLAB функцияларын талқылаймыз. Сіздің бағдарламалау жобаңыз логистикалық карта үшін бифуркациялық диаграммадан Фейгенбаум дельтасын есептеу үшін Ньютон әдісін қолданып MATLAB кодын жазу болады.
- Матрицалық алгебра
- Компьютерде орындалатын матрицалық алгебраны көбінесе сандық сызықты алгебра деп атайды. Гаус әдісін орындаған кезде, дөңгелектеу қателерді есептеуді бұзуы мүмкін және жолдарды ауыстыру әрбір жою қадамының алдында орындалатын ішінара пивоттау әдісімен өңделуі керек. Содан кейін LU жіктеу алгоритмі ауыстыру матрицаларын қамтиды. Біз операцияны санауды енгіземіз және үлкенірек мәселе өлшемімен есептеу уақытының ұлғаюын болжау үшін Үлкен-Oh белгісін үйретеміз. Біз Гаусс жою әдісіндегі және тура және кері ауыстыру операцияларын санауды көрсетеміз. Матрицаның ең үлкен меншікті мәні мен оған сәйкес меншікті векторын есептеудің дәрежелік әдісі түсіндіріледі. Соңында, Ньютон әдісін қолданып, сызықты емес дифференциалдық теңдеулер жүйесін шешу үшін Гаус жою тәсілін қалай қолдану керектігін көрсетеміз. Сіздің бағдарламалау жобаңыз Лоренц теңдеулеріне Ньютон әдісін қолданатын MATLAB кодын жазу болады.
- Квадратура және интерполяция
- Осы аптаның бірінші бөлігінде, біз анықталған интегралдарды есептеуді үйренеміз ---ол сондай-ақ квадратура деп те аталады. Біз трапеция ережесі мен Симпсон ережесінің қарапайым формулаларын қамтитын квадратураның негіздерін және осы формулаларды күрделі интегралдау ережелерін әзірлеу үшін қалай пайдалануға болатынын үйренуден бастаймыз. Содан кейін біз Гаусс квадратурасы туралы және бағдарламалық құралдың өзі сәйкес интеграция қадамының өлшемін анықтайтын бейімделген квадратура тәртібін қалай құру керектігін үйренетін боламыз. Бұл бөлімді MATLAB integral.m функциясын пайдалануды үйрену арқылы аяқтаймыз. Осы аптаның екінші бөлігінде, интерполяция туралы үйренетін боламыз. Функция мәндерінің үлгісін ескере отырып, жақсы интерполяция тәртібі аралық үлгі нүктелеріндегі функция мәндерін бағалай алады. Сызықтық интерполяция, әсіресе көптеген нүктелерден тұратын мәліметтерді сызу кезінде кеңінен қолданылады. Мұнда біз кубтық сплайн интерполяциясының неғұрлым күрделі әдісін әзірлейміз, бұл әдіс егер үлгі нүктелері азырақ болса, қолданылады. Сіздің бағдарламалау жобаңыз Бессель функциясының нөлдерін есептеу үшін MATLAB кодын жазу болады. Бұл квадратураны және түбірді табу процедураларын біріктіруді талап етеді.
- Қарапайым дифференциалдық теңдеулер
- Осы аптада біз одалардың сандық интеграциясы туралы білеміз. Ең негізгі әдіс Эйлер әдісі деп аталады және ол бір сатылы, бірінші ретті әдіс. Рунге-Кутта әдістері Эйлер әдісін бірнеше қадамдарға және жоғарырақ ретке жалпылайды, артықшылығы үлкен уақыт қадамдарын жасауға болады. Біз екінші ретті Рунге-Кутта әдістерінің үйірін құру жолын көрсетеміз және сіздерді кең таралған төртінші ретті Рунге-Кутта әдісімен таныстырамыз. Бұл әдістерді ода жүйелерін шешу үшін оңай бейімдеуге болады. Біз сізге MATLAB функциясы ode45.m-ны қалай пайдалану керектігін көрсетеміз, және екі нүктелі шекаралық оданы ату әдісімен қалай шешу жолын көреміз. Сіздің бағдарламалау жобаңыз екі дененің гравитациялық есебін сандық модельдеу болады.
- Дербес дифференциалдық теңдеулер
- Осы аптада біз дербес дифференциалдық теңдеулерді шешуді үйренеміз. Бұл өте ауқымды тақырып және есептеу сұйықтығының динамикасы сияқты зерттеу салаларында көптеген арнайы шешу әдістері бар. Мұнда біз тек осы тақырыпқа кіріспе бөлігін ғана береміз. дербес дифференциалдық теңдеулердің сандық шешімдерін шекаралық есептер және бастапқы мән есептеріне бөлеміз және шешудің ақырлы айырма әдісін қолданамыз. Біз алдымен Лаплас теңдеуін, шекаралық есептің шешу жолын көрсетеміз. Екі әдіс суреттелген: тікелей әдіс, мұнда шешім Гаус жою әдісі арқылы табылады; және итеративті әдіс, мұнда шешім асимптоталық жолмен келеді. Екіншіден, бір өлшемді диффузия теңдеуін, бастапқы мән есебін шешу жолын көрсетеміз. Кранк-Никольсон шешу әдісі келтіріліп шығады. Сондай-ақ біз уақытты біріктіру схемаларымыздың тұрақтылығын анықтау үшін фон Нейманның тұрақтылық талдауын қалай пайдалану керектігін көрсетеміз. Ақырғы бағдарламалау жобамыз екі өлшемді диффузия теңдеуін Кранк-Никольсон әдісімен шешу.
Taught by
Jeffrey R. Chasnov
Tags
Related Courses
Advanced Deep Learning Techniques for Computer VisionMathWorks via Coursera Mastering Programming with MATLAB
Vanderbilt University via Coursera Analyse numérique pour ingénieurs
École Polytechnique Fédérale de Lausanne via Coursera Automating Image Processing
MathWorks via Coursera Quantitative Methods for Biology
Harvard University via edX