找到 47 篇文章 关于科学计算
377 次浏览
名为 scipy.linalg.solveh_triangular 的线性函数用于求解带状矩阵方程。在下面的示例中,我们将求解三角系统 ax = b,其中 −$$\mathrm{a} = \begin{bmatrix} 3 & 0 & 0 & 0\ 2 & 1 & 0 & 0\ 1 &0 &1 &0 \ 1& 1& 1& 1 \end{bmatrix};\; \mathrm{b} =\begin{bmatrix} 1\ 2\ 1\ 2 \end{bmatrix}$$示例from scipy.linalg import solve_triangular import numpy as np a = np.array([[3, 0, 0, 0], [2, 1, 0, 0], [1, 0, 1, 0], [1, 1, 1, 1]]) b = np.array([1, 2, 1, 2]) x = solve_triangular(a, b, lower=True) print (x)输出array([ 0.33333333, 1.33333333, 0.66666667, -0.33333333])
143 次浏览
名为 scipy.linalg.solve_triangular 的线性函数用于求解三角矩阵方程。此函数的形式如下:scipy.linalg.solve_triangular(a, b, trans=0, lower=False, unit_diagonal=False, overwrite_b=False, debug=None, check_finite=True)此线性函数将求解方程 ax = b,其中 a 是三角矩阵。参数以下是 scipy.linalg.solve_triangular() 函数的参数:a− (M, M) array_like此参数表示三角矩阵。b− (M, ) 或 (M, N) array_like此参数表示方程 ax = b 中的右侧矩阵。lower− bool, optional使用此参数,我们将能够仅使用包含在... 阅读更多
227 次浏览
名为 scipy.linalg.solveh_banded 的线性函数用于求解带状矩阵方程。在下面的示例中,我们将求解循环系统 Cx = b −示例from scipy.linalg import solve_circulant, solve, circulant, lstsq import numpy as np c = np.array([2, 2, 4]) b = np.array([1, 2, 3]) solve_circulant(c, b)输出 array([ 0.75, -0.25, 0.25])示例让我们来看一个奇异的例子,它会引发 LinAlgError −from scipy.linalg import solve_circulant, solve, circulant, lstsq import numpy as np c = np.array([1, 1, 0, 0]) b = np.array([1, 2, 3, 4]) solve_circulant(c, b)输出 -------------------------------------------------------------------------- LinAlgError Traceback (most recent call last) in ... 阅读更多
124 次浏览
名为 scipy.linalg.solve_circulant 的线性函数用于求解循环矩阵方程。此函数的形式如下:scipy.linalg.solve_circulant(c, b, singular='raise', tol=None, caxis=-1, baxis=0, outaxis=0)此线性函数将求解方程 Cx = b,其中 C 是与向量 c 相关的循环矩阵。循环矩阵方程通过在傅里叶空间中进行除法来求解,如下所示:x = ifft(fft(b) / fft(c))这里的 fft 是快速傅里叶变换,ifft 是反快速傅里叶变换。参数以下是 scipy.linalg.solve_circulant() 函数的参数:c− array_like此参数表示循环矩阵的系数。b− ... 阅读更多
165 次浏览
名为 scipy.linalg.solveh_banded 的线性函数用于求解带状矩阵方程。在下面的示例中,我们将求解带状系统 Hx = b,其中 −$$\mathrm{H} = \begin{bmatrix} 8 & 2-1j&0 &0 \ 2+1j & 5& 1j & -2-1j0\ 0 & -1j& 9& \ 0 & 0& -2+1j& 6 \end{bmatrix} \mathrm{b}=\begin{bmatrix} 1\ 1+1j\ 1-2j\ 0 \end{bmatrix}$$在下面的示例中,我们将把上对角线放在数组 hb 中 −示例from scipy.linalg import solveh_banded hb = np.array([[0, 2-1j, 1j, -2-1j], [8, 5, 9, 6 ]]) b = np.array([1, 1+1j, 1-2j, 0]) x = solveh_banded(hb, b) ... 阅读更多
92 次浏览
名为 scipy.linalg.solveh_banded 的线性函数用于求解 Hermitian 正定带状矩阵方程。此函数的形式如下:scipy.linalg.solveh_banded(ab, b, overwrite_ab=False, overwrite_b=False, lower=False, check_finite=True)此线性函数将求解方程 ax = b,其中 a 是 Hermitian 正定带状矩阵。带状矩阵 a 以如下所示的上下对角线有序形式存储在 ab 中:ab[u + i - j, j] == a[i, j](如果为上形式;i= j)ab 的上形式示例如下: * * a02 a13 a24 a35 * ... 阅读更多
372 次浏览
名为 scipy.linalg.solve_banded 的线性函数用于求解带状矩阵方程。此函数的形式如下:scipy.linalg.solve_banded(l_and_u, ab, b, overwrite_ab=False, overwrite_b=False, debug=None, check_finite=True)此线性函数将求解方程 ax = b,其中 a 是带状矩阵。带状矩阵 a 使用矩阵对角线有序形式存储在 ab 中,如下所示:ab[u + i - j, j] == a[i, j]ab 的示例如下:* a01 a12 a23 a34 a45 a00 a11 a22 a33 a44 a55 a10 a21 a32 a43 a54 * a20 a31 ... 阅读更多
266 次浏览
下面的 python 脚本将使用 SciPy 库比较相同数据上的“三次”和“线性”插值 −示例首先,让我们生成一些数据来在其上实现插值 −import numpy as np from scipy.interpolate import interp1d import matplotlib.pyplot as plt A = np.linspace(0, 10, num=11, endpoint=True) B = np.cos(-A**2/9.0) print (A, B)输出上面的脚本将在 0 和 4 之间生成以下点 − [ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.] [ 1. 0.99383351 0.90284967 0.54030231 -0.20550672 -0.93454613 -0.65364362 0.6683999 0.67640492 -0.91113026 0.11527995]现在,让我们绘制这些点,如下所示:plt.plot(A, B, '.') plt.show()现在,基于固定数据 ... 阅读更多
151 次浏览
要使用 SciPy 实现“三次”一维插值,我们需要在 scipy.interpolate.interp1d 类的“kind”参数中将插值类型指定为“cubic”。让我们看下面的例子来理解它 −示例首先,让我们生成一些数据来在其上实现插值 −import numpy as np from scipy.interpolate import interp1d import matplotlib.pyplot as plt A = np.linspace(0, 10, num=11, endpoint=True) B = np.cos(-A**2/9.0) print (A, B)输出上面的脚本将在 0 和 4 之间生成以下点 − [ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.] [ 1. 0.99383351 0.90284967 0.54030231 -0.20550672 -0.93454613 -0.65364362 0.6683999 0.67640492 -0.91113026 ... 阅读更多
165 次浏览
插值是在线或曲线上的两个给定点之间生成值的一种方法。在机器学习中,插值用于替换数据集中缺失的值。这种填充缺失值的方法称为插补。插值的另一个重要用途是平滑数据集中的离散点。SciPy提供了一个名为scipy.interpolate的模块,其中包含许多函数,我们可以借助这些函数实现插值。示例在下例中,我们将使用scipy.interpolate()包实现插值——首先,让我们生成一些数据来在其上实现插值——import numpy as np ... 阅读更多