找到 47 篇文章 關於科學計算

如何使用 Python SciPy 求解三角矩陣方程?

Gaurav Kumar
更新於 2021年11月24日 14:37:03

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])

SciPy 的哪個線性函式用於求解三角矩陣方程?

Gaurav Kumar
更新於 2021年11月24日 12:05:15

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使用此引數,我們將能夠僅使用包含在... 閱讀更多

如何使用 Python SciPy 求解迴圈矩陣方程?

Gaurav Kumar
更新於 2021年11月24日 11:53:49

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 ... 閱讀更多

SciPy 的哪個線性函式用於求解迴圈矩陣方程?

Gaurav Kumar
更新於 2021年11月24日 11:50:36

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− ... 閱讀更多

如何使用 Python SciPy 求解 Hermitian 正帶狀矩陣方程?

Gaurav Kumar
更新於 2021年11月25日 06:36:52

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) ... 閱讀更多

SciPy 的哪個線性函式用於求解 Hermitian 正定帶狀矩陣方程?

Gaurav Kumar
更新於 2021年11月24日 11:21:35

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 * ... 閱讀更多

SciPy 的哪個線性函式用於求解帶狀矩陣方程?

Gaurav Kumar
更新於 2021年11月25日 06:50:00

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 ... 閱讀更多

使用 SciPy 庫比較“三次”和“線性”一維插值

Gaurav Kumar
更新於 2021年11月24日 11:08:27

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()現在,基於固定資料 ... 閱讀更多

如何使用 SciPy 庫實現“三次”一維插值?

Gaurav Kumar
更新於 2021年11月24日 11:05:04

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 ... 閱讀更多

什麼是插值以及如何在SciPy Python庫中實現它?

Gaurav Kumar
更新於 2021年11月24日 10:58:54

165 次瀏覽

插值是線上或曲線上的兩個給定點之間生成值的一種方法。在機器學習中,插值用於替換資料集中缺失的值。這種填充缺失值的方法稱為插補。插值的另一個重要用途是平滑資料集中的離散點。SciPy提供了一個名為scipy.interpolate的模組,其中包含許多函式,我們可以藉助這些函式實現插值。示例在下例中,我們將使用scipy.interpolate()包實現插值——首先,讓我們生成一些資料來在其上實現插值——import numpy as np ... 閱讀更多

廣告
© . All rights reserved.