|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/numerical-methods-engineers
课程评论:没有评论
课程名称:工程师的数值方法 课程概述: 《工程师的数值方法》涵盖了工程师应掌握的最重要的数值方法。课程将推导根寻、矩阵代数、积分和插值、常微分方程以及偏微分方程的基本算法。学员将学习如何使用MATLAB解决数值问题,并将为所有注册学生提供在线MATLAB及MATLAB评分器的访问权限。 本课程假设学生已经熟悉矩阵代数、微分方程和向量微积分的基础知识,并且已经学习过一种编程语言,愿意学习MATLAB。 课程包含74个短讲座视频及MATLAB演示。在每个讲座或演示后,学生将面临解题或编写程序的任务。课程分为六周,每周结束时会有一次评估测验和一个较长的编程项目。 课程大纲: 1. **科学计算**:学习MATLAB的基础,包括数字表示、算术运算、脚本和函数的使用、向量和矩阵的表示,以及图表绘制等。编程项目:编写MATLAB代码计算逻辑图的分叉图。 2. **根寻找**:探索多种根寻找方法,如二分法、牛顿法和割线法,并推导这些方法的收敛阶。编程项目:使用牛顿法计算逻辑图的分叉图中的Feigenbaum delta。 3. **矩阵代数**:探讨数值线性代数及其应用,学习高斯消元法及其误差控制,以及LU分解和操作计数。编程项目:应用牛顿法求解Lorenz方程。 4. **积分与插值**:学习定积分的计算和插值方法,包括梯形法、辛普森法及高斯积分等。编程项目:计算贝塞尔函数的零点。 5. **常微分方程**:介绍常微分方程的数值积分,学习Euler法和Runge-Kutta方法。编程项目:对引力二体问题进行数值模拟。 6. **偏微分方程**:介绍偏微分方程的解法,分类边界值问题和初始值问题,使用有限差分法解决Laplace方程和一维扩散方程。编程项目:使用Crank-Nicolson方法解决二维扩散方程。 更多信息可访问讲义下载链接和宣传视频,助您更好了解课程。 讲义下载链接:http://www.math.ust.hk/~machas/numerical-methods-for-engineers.pdf 宣传视频观看链接:https://youtu.be/qFJGMBDfFMY
Name:Scientific Computing
Description:MATLAB is a high-level programming language extensively utilized by engineers for numerical computation and visualization. We will learn the basics of MATLAB: how real numbers are represented in double precision; how to perform arithmetic with MATLAB; how to use scripts and functions; how to represent vectors and matrices; how to draw line plots; and how to use logical variables, conditional statements, for loops and while loops. For your programming project, you will write a MATLAB code to compute the bifurcation diagram for the logistic map.
Name:Root Finding
Description:Root finding is a numerical technique used to determine the roots, or zeros, of a given function. We will explore several root-finding methods, including the Bisection method, Newton's method, and the Secant method. We will also derive the order of convergence for these methods. Additionally, we will demonstrate how to compute the Newton fractal using Newton's method in MATLAB, and discuss MATLAB functions that can be used to find roots. For your programming project, you will write a MATLAB code using Newton's method to compute the Feigenbaum delta from the bifurcation diagram for the logistic map.
Name:Matrix Algebra
Description:Numerical linear algebra is the term used for matrix algebra performed on a computer. When conducting Gaussian elimination with large matrices, round-off errors may compromise the computation. These errors can be mitigated using the method of partial pivoting, which involves row interchanges before each elimination step. The LU decomposition algorithm must then incorporate permutation matrices. We will also discuss operation counts and the big-Oh notation for predicting the increase in computational time with larger problem sizes. We will show how to count the number of required operations for Gaussian elimination, forward substitution, and backward substitution. We will explain the power method for computing the largest eigenvalue of a matrix. Finally, we will show how to use Gaussian elimination to solve a system of nonlinear differential equations using Newton's method. For your programming project, you will write a MATLAB code that applies Newton's method to the Lorenz equations.
Name:Quadrature and Interpolation
Description:The computation of definite integrals is known as quadrature. We will explore the fundamentals of quadrature, including elementary formulas for the Trapezoidal rule and Simpson’s rule; development of composite integration rules; an introduction to Gaussian quadrature; construction of an adaptive quadrature routine where the software determines the appropriate integration step size; and the usage of the MATLAB function integral.m. Additionally, we will learn about interpolation. A good interpolation routine can estimate function values at intermediate sample points. We will learn about linear interpolation, commonly employed for plotting data with numerous points; and cubic spline interpolation, used when data points are sparse. For your programming project, you will write a MATLAB code to compute the zeros of a Bessel function. This task requires the combination of both quadrature and root-finding routines.
Name:Ordinary Differential Equations
Description:We will learn about the numerical integration of ordinary differential equations (ODEs). We will introduce the Euler method, a single-step, first-order method, and the Runge-Kutta methods, which extend the Euler method to multiple steps and higher order, allowing for larger time steps. We will show how to construct a family of second-order Runge-Kutta methods, discuss the widely-used fourth-order Runge-Kutta method, and adopt these methods for solving systems of ODEs. We will show how to use the MATLAB function ode45.m, and how to solve a two-point boundary value ODE using the shooting method. For your programming project, you will conduct a numerical simulation of the gravitational two-body problem.
Name:Partial Differential Equations
Description:We will learn how to solve partial differential equations (PDEs). While this is a vast topic with various specialized solution methods, such as those found in computational fluid dynamics, we will provide a basic introduction to the subject. We will categorize PDE solutions into boundary value problems and initial value problems. We will then apply the finite difference method for solving PDEs. We will solve the Laplace equation, a boundary value problem, using two methods: a direct method via Gaussian elimination; and an iterative method, where the solution is approached asymptotically. We will next solve the one-dimensional diffusion equation, an initial value problem, using the Crank-Nicolson method. We will also employ the Von Neumann stability analysis to determine the stability of time-integration schemes. For your programming project, you will solve the two-dimensional diffusion equation using the Crank-Nicolson method.
Numerical Methods for Engineers covers the most important numerical methods that an engineer should know. We derive basic algorithms in root finding, matrix algebra, integration and interpolation, ordinary and partial differential equations. We learn how to use MATLAB to solve numerical problems. Access to MATLAB online and the MATLAB grader is given to all students who enroll. We assume students are already familiar with the basics of matrix algebra, differential equations, and vector calculus. Students should have already studied a programming language, and be willing to learn MATLAB. The course contains 74 short lecture videos and MATLAB demonstrations. After each lecture or demonstration, there are problems to solve or programs to write. The course is organized into six weeks, and at the end of each week there is an assessed quiz and a longer programming project. Download the lecture notes: http://www.math.ust.hk/~machas/numerical-methods-for-engineers.pdf Watch the promotional video: https://youtu.be/qFJGMBDfFMY