Skip to content

WaterJetLab/PGE310-IntroProgramming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JET 101 - 石油工程数值分析及数据可视化方法 2021秋季

老师: 王斌, Ph.D.
办公室: 研修1015
邮箱: binwang.0213@gmail.com

上课时间: 每周四 19:00 PM - 21:00 PM

上课地点: 四教303
腾讯会议: 695 333 5637

助教: 王瑞,孙廉贺,刘铭盛,吴毓乾
作业提交邮箱: 1503327352@qq.com
作业提交格式: Jupyter Notebook 文件(比如, assignment1_BinWang.ipynb)

课程简介: 介绍常用石油工程数学模型,了解和编程使用常用数值分析算法和技术求解这些模型,熟悉常用数据可视化方法对求解结果进行分析。

前置课程: 高等数学,数值分析,线性代数,大学物理

课程主页https://github.com/WaterJetLab/PGE310-IntroProgramming

https://gitee.com/water-jet-lab/PGE310-IntroProgramming

Python编程环境安装: 教程1教程2

课件和参考书:

由于大部分同学都有高等数学和数值分析的基础,除了绪论课,我们将会使用UT Austin的John T. Foster老师准备的简化版在线课件:

  1. Numerical Methods and Programming
  2. https://utexas.instructure.com/courses/1298934/assignments

其他参考书:

  1. J. Kiusalaas, Numerical methods in engineering with Python 3, Cambridge University Press, Cambridge; New York, 2013.
  2. M.A. Wood, Python and Matplotlib essentials for scientists and engineers, Morgan et Claypool; IOP Publ., San Rafael, Calif.; Bristol, 2015.

课程材料目录

本课程仓库包含以下内容:

目录名称 说明
EnvironmentSetup Python编程环境安装教程:Anaconda + VsCode
HomeWorks 作业
Notes 数值分析及编程参考书, John T. Foster原版Notebook课件
Projects 大作业
Slides 课件

在线Python 教程:

我们将会在两周的时间里快速的的复习Python编程的基础知识; 但是,我强烈建议你同步学习下面的中文在线Python课程来补充课堂上没有涉及到的基础知识,免费在线课程链接:

课程简介和内容:

当今数字化生活的高速发展,作为一名工程师我们很多时候都不得不借助计算机来高效的解决工作中的一些问题。研究生的一门必修数学课程就是《数值分析》,这门课程的初衷是帮助学生来了解常用的一些常用的数学算法和求解方法。大部分算法都已经集成在常用的软件包里,比如Matlab,Mathematica, 和 Scipy。通常我们都会直接使用这些成熟且可靠的软件包,去解决一些更复杂的数学或工程问题。但是作为一名研究生,了解这些常用数学算法的基础原理是非常重要的,这将帮助我们未来针对不同的问题去选择最合适的求解器。同时,通过编程实现这些算法,可以快速的提升编程能力。下面是这门课程的主要内容,我们将会根据时间的安排选择部分内容来进行学习:

  • 1.Python 编程基础
    • 1.1 数据类型
    • 1.2 函数
    • 1.3 条件判断
    • 1.4 循环
    • 1.5 矩阵运算(Numpy库使用)
    • 1.6 数据可视化(Matplotlib库使用)
    • 1.7 面对对象编程(类)
  • 2.数值微分和积分
    • 2.1 数值微分
    • 2.2 Trapezoidal, Simpson's积分
    • 2.3 高斯积分
  • 3.非线性方程解法
    • 3.1 二分法
    • 3.2 固定点迭代法
    • 3.3 牛顿法
  • 4.线性方程组
    • 4.1 高斯消元
    • 4.2 Gauss-Jordan 消元
    • 4.3 LU 分解
    • 4.4 矩阵求逆
    • 4.5 矩阵行列式
    • 4.6 迭代求解方法
  • 5.常微分方程解法(初值问题)
    • 5.1 欧拉显式法
    • 5.2 欧拉 隐式法
    • 5.3 Runge-Kutta方法
    • 5.5 Multistep方法

我相信理解和熟练数值方法的唯一途径是理解和写代码,所以课程的评分标准大部分是基于作业和项目。同学们可以相互借鉴和讨论,但是每一个学生都应该独立完成他的作业。课程评分标准如下:

课程评分(截止日期)

  • 10% 课堂小测验5次(当天课程结束)
  • 40% 课后作业5次(下周课程日结束)
  • 20% 期中大作业 (2021年1月7日)
  • 30% 期末大作业 (2022年2月20日)

课程进度表

日期 内容 自学内容 视频地址 课堂小测验 课后作业
2021/12/16 绪论, Python基础(上) 1.1-1.4 课程视频下载(密码 : p7xoyw) 暂无 HW2-6
2021/12/23 Python基础(下) 1.5-1.6 课程视频下载(密码 : wwiudb) 矩阵相乘 HW7,8,9
2021/12/30 面对对象编程,数据处理与可视化 1.7, 数据分析网课 课程视频下载(密码 : 6bszqz) 颗粒对象 HW10
2022/1/6 非线性方程解法,期中大作业 3.1, 3.3 忘了录制 二分法 HW11
2022/1/13 数值线性代数 4.1, 4.3 课程视频下载1(密码 : 9sq2hj) 高斯消元 HW14
课程视频下载2(密码 : yl485h)
2022/2/20 期末大作业Presentation

问题解决

  1. Failed to start the Kernel (VS Code) 方法:https://blog.csdn.net/qq_43613688/article/details/121474308

版权声明: 此课程材料基于美国UT Austin大学 John T. Foster, Ph.D教授的PGE 310课程,感谢John公布所有的教学素材

About

PGE310 Course by John Foster

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published