找到 46 篇文章 关于 Scipy
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 的 x,其中 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 的线性函数用于解决埃尔米特正定带状矩阵方程。该函数的形式如下:-scipy.linalg.solveh_banded(ab, b, overwrite_ab=False, overwrite_b=False, lower=False, check_finite=True)此线性函数将求解方程 ax = b 的 x,其中 a 是埃尔米特正定带状矩阵。带状矩阵 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 的 x,其中 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 ... 阅读更多
250 次浏览
SciPy 库的 scipy.interpolate.interp1d(x, y, kind, axis, copy, bounds_error, fill_value, assumesorted) 类,顾名思义,用于插值一维函数。这里,x 和 y 是用于逼近某个函数(例如 f)的值数组;y=f(x)。此类的输出是一个函数,其调用方法使用插值来查找新点的值。下面给出其参数的详细解释-参数x - (N, ) array_like它是一个一维实数值数组。y - (…, N, …) array_like它是一个 N 维实数值数组。条件是长度... 阅读更多
浏览量 237
SciPy 库具有 scipy.linalg.inv() 函数,用于查找方阵的逆矩阵。让我们了解如何使用此函数来计算矩阵的逆矩阵 -示例2x2 矩阵的逆#导入 scipy 包 import scipy.linalg #导入 numpy 包 import numpy as np #声明 numpy 数组(方阵) A = np.array([[3, 3.5], [3.2, 3.6]]) #将值传递给 scipy.linalg.inv() 函数 M = scipy.linalg.inv(A) #打印结果 print('{} 的逆矩阵为 {}'.format(A, M))输出[[3. 3.5] [3.2 3.6]] 的逆矩阵为 [[-9. 8.75] [ 8. -7.5 ]]示例3x3 ... 阅读更多