leetteel
西安交通大学硕士
展开
-
偏微分方程的求解
import numpy as npimport matplotlib.pyplot as plth = 0.001 #空间步长N = 1000 #空间步数dt = 0.0001 #时间步长M = 10000原创 2021-03-26 11:16:35 · 1235 阅读 · 0 评论 -
Python数值积分与数值微分(1)————龙贝格积分法
#龙贝格积分法函数import numpy as npfrom matplotlib import pyplot as pltfrom mpl_toolkits.axes_grid1.inset_locator import inset_axesdef romberg(fun, a, b): sum = 0 t1 = ((b - a)*(fun(a)+fun(b)))/2 for i in range(1, 2): sum = sum + fun(a+(原创 2020-11-15 09:04:20 · 812 阅读 · 1 评论 -
Python函数最优逼近(1)————最小二乘拟合函数
import numpy as npfrom matplotlib import pyplot as pltdef fgauss(A, b): n = A.shape[0] zengguan = np.hstack((A, b.T)) ra = np.linalg.matrix_rank(A) rz = np.linalg.matrix_rank(zengguan) temp1 = rz - ra if temp1 > 0: pr原创 2020-11-13 23:23:45 · 1012 阅读 · 0 评论 -
Python插值法(6)————几种插值方法的比较
这里对三次样条插值函数,拉格朗日插值多项式,牛顿插值多项式这三种插值方法进行比较代码import numpy as npfrom sympy import *from matplotlib import pyplot as pltdef lagrange(x, y): p, la = symbols('p la') n = len(x) s = 0 for k in range(n): la = y[k] for j in ra原创 2020-11-11 23:34:25 · 3167 阅读 · 1 评论 -
Python插值法(5)————三次样条插值函数
代码import numpy as npfrom sympy import *from matplotlib import pyplot as pltdef spline(x, y, t): n = len(x) h = [x[i]-x[i-1] for i in range(1, n)] A = np.eye(n-2) A = A*2 u1 = [h[i]/(h[i]+h[i+1]) for i in range(n-2)] la1 = [1-u原创 2020-11-11 23:09:11 · 2255 阅读 · 1 评论 -
Python插值法(4)————hermite插值多项式(牛顿型)
代码在这里插入代码片结果如下图所示原创 2020-11-11 19:03:46 · 2800 阅读 · 0 评论 -
Python插值法(3)————hermite插值多项式(拉格朗日型)
代码import numpy as npfrom sympy import *from matplotlib import pyplot as pltdef hermite(x, y, dy): p, la = symbols('p la') f = 0 n = len(x) for i in range(n): la = 1 lp = 0 for j in range(n): if j !原创 2020-11-10 23:25:34 · 2155 阅读 · 0 评论 -
Python插值法(2)————牛顿插值多项式
代码import numpy as npfrom sympy import *from matplotlib import pyplot as pltdef newton(x, y): n = len(x) c = np.zeros((n, n)) print(c) for i in range(n): c[i, 0] = y[i] for i in range(1, n): for j in range(i, n):原创 2020-11-10 21:58:49 · 1668 阅读 · 0 评论 -
Python插值法(1)————拉格朗日插值多项式
#代码原创 2020-11-10 19:57:54 · 1862 阅读 · 0 评论 -
sympy符号计算库
引言SymPy是用于符号数学的 Python 库。详细教程见目录引言加载sympy库定义符号,替换代码结果代码结果展开代码结果加载sympy库from sympy import *定义符号,替换代码x = symbols('x ')str_expr = 'x**2 + 2*x + 1'expr = sympify(str_expr)y = expr*expr+1print(expand(y))print(y.subs(x, 1))结果代码x = symbols('x ')原创 2020-11-10 19:24:31 · 213 阅读 · 0 评论 -
Python解线性方程组的迭代法(4)————共轭梯度法
待写原创 2020-10-31 23:28:51 · 1176 阅读 · 1 评论 -
Python解线性方程组的迭代法(3)————逐次超松弛(SOR)迭代法
待写原创 2020-10-31 21:59:22 · 2172 阅读 · 0 评论 -
Python解线性方程组的迭代法(2)————高斯-赛德尔(Gauss-Seidel)迭代法
待写原创 2020-10-26 21:24:29 · 1208 阅读 · 0 评论 -
Python解线性方程组的迭代法(1)————雅克比(Jacobi)迭代法
待写原创 2020-10-26 21:04:22 · 2543 阅读 · 0 评论 -
Python解线性方程组的直接法(8)————基于豪斯霍尔德变换的QR分解
基于豪斯霍尔德变换的QR分解# Householderimport numpy as npdef householder(a): temp = 1 m = a.shape[0] n = a.shape[1] for i in range(0, n-1): x = a[i:n, i] print("x向量为:") print(x) e = np.mat(np.zeros((n-i, 1), dtype原创 2020-10-13 10:25:51 · 1306 阅读 · 0 评论 -
Python解线性方程组的直接法(7)————基于吉文斯变换的QR分解
基于吉文斯变换的QR分解# 基于吉文斯变换的QR分解import numpy as npdef givens(A): m = A.shape[0] n = A.shape[1] P = np.mat(np.eye(n)) p1 = P for i in range(0, n-1): for j in range(i+1, n): if A[i, j] == 0: continue原创 2020-10-12 22:40:34 · 1518 阅读 · 8 评论 -
Python解线性方程组的直接法(6)————求解三对角方程组的追赶法
基于豪斯霍尔德变换的QR分解原创 2020-10-12 11:31:24 · 2663 阅读 · 0 评论 -
Python解线性方程组的直接法(5)————平方根法求解线性方程组
基于吉文斯变换的QR分解原创 2020-10-12 10:34:53 · 2425 阅读 · 0 评论 -
Python解线性方程组的直接法(4)————矩阵的LU分解
矩阵的LU分解原创 2020-10-11 13:02:19 · 1895 阅读 · 1 评论 -
Python解线性方程组的直接法(3)————列主元素高斯-若当消去法
列主元素高斯-若当消去法import numpy as npdef fgauss(A, b): n = A.shape[0] zengguan = np.hstack((A, b.T)) ra = np.linalg.matrix_rank(A) rz = np.linalg.matrix_rank(zengguan) temp1 = rz - ra if temp1 > 0: print("无一般意义下的解,系数矩阵与增广矩阵的原创 2020-10-10 12:39:05 · 680 阅读 · 1 评论 -
Python解线性方程组的直接法(2)————高斯列元主元素消去法
高斯列元主元素消去法import numpy as npdef fgauss(A, b): n = A.shape[0] zengguan = np.hstack((A, b.T)) ra = np.linalg.matrix_rank(A) rz = np.linalg.matrix_rank(zengguan) temp1 = rz - ra if temp1 > 0: print("无一般意义下的解,系数矩阵与增广矩阵的秩不原创 2020-10-10 10:23:21 · 1580 阅读 · 2 评论 -
Python解线性方程组的直接法(1)————高斯消元法
高斯消元法import numpy as npdef fgauss(A, b): n = A.shape[0] zengguan = np.hstack((A, b.T)) ra = np.linalg.matrix_rank(A) rz = np.linalg.matrix_rank(zengguan) temp1 = rz - ra if temp1 > 0: print("无一般意义下的解,系数矩阵与增广矩阵的秩不同")原创 2020-10-09 23:08:20 · 1725 阅读 · 2 评论