欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python不使用庫(kù)進(jìn)行矩陣運(yùn)算詳解

 更新時(shí)間:2023年08月23日 09:37:58   作者:小小草帽  
這篇文章主要介紹了Python不使用庫(kù)進(jìn)行矩陣運(yùn)算詳解,矩陣乘法中,需要判斷兩個(gè)矩陣是否可以進(jìn)行相乘,即前一個(gè)矩陣的列是否等于后一個(gè)矩陣的行,,需要的朋友可以參考下

Python矩陣運(yùn)算 

矩陣乘法

矩陣乘法中,需要判斷兩個(gè)矩陣是否可以進(jìn)行相乘,即前一個(gè)矩陣的列是否等于后一個(gè)矩陣的行。具體代碼如下:

class Solution:
    def multiplyofmatrix(self, A, f):
        """
        Compute matrix A * matrix f.
        For example:
        Input:
        A: [[1, 2], [3, 4]]    Row of A: 2 Col of A: 2
        f: [[1, 2], [3, 4]]    Row of f: 2 Col of f: 2
        Output:
        ans: [[7, 10], [15, 22]]
        s.t. A.col == f.col
        """
        Arow, Acol = len(A), len(A[0])
        frow, fcol = len(f), len(f[0])
        if Acol != frow:
            return 'False!'
        ans = [[0] * fcol for _ in range(Arow)]
        for i in range(fcol):
            for j in range(Arow):
                for k in range(frow):
                    ans[j][i] += A[j][k]*f[k][i]
        return ans
if __name__=='__main__':
    a = Solution().multiplyofmatrix([[1, 2], [3, 4]], [[1, 2], [3, 4]])
    print(a)

轉(zhuǎn)置矩陣

    def transposeofmatrix(A):
        """
        Matrix transpose.
        For example:
        Input:
        A = [[1, 2],
             [3, 4]]
        Output:
        A_transpose = [[1, 3],
                       [2, 4]]
        """
        return [list(raw) for raw in zip(*A)]

矩陣余矩陣

    def submatrix(A, i, j):
        # 矩陣A第i行第j列元素的余矩陣
        m, n = len(A), len(A[0])
        C = [[A[x][y] for y in range(n) if y != j] for x in range(m) if x != i]  # 列表推導(dǎo)式
        return C

矩陣行列式

需要用到矩陣余矩陣函數(shù),代碼如下:

    def detofmatrix(A):
        m = len(A)  # 矩陣的行數(shù)
        n = len(A[0])  # 矩陣的列數(shù)
        if (m == 1 and n == 1):
            return A[0][0]
        else:
            value = 0
            for j in range(n):
                value += ((-1) ** (j + 2)) * A[0][j] * detofmatrix(submatrix(A, 0, j))
            return value

矩陣的逆

需要用到矩陣行列式函數(shù)和余矩陣函數(shù),代碼如下:

    def inverseofmatrix(A):
        m = len(A)  # 矩陣的行數(shù)
        n = len(A[0])  # 矩陣的列數(shù)
        C = [[0] * n for _ in range(m)]
        d = self.detofmatrix(A)
        for i in range(m):
            for j in range(n):
                C[i][j] = ((-1) ** (i + j + 2)) * detofmatrix(submatrix(A, j, i))
                C[i][j] = C[i][j] / d
        return C

求方程組根

求∣ A x − b ∣ = 0即為求 x = A-1 ∗b(A可逆的情況下),調(diào)用求逆函數(shù)和矩陣相乘函數(shù)即可。

求一元n次方程正實(shí)數(shù)根

例如:  x+ ax+bx = c,其中a, b, c, 均為正整數(shù),求正實(shí)數(shù)根。

到此這篇關(guān)于Python不使用庫(kù)進(jìn)行矩陣運(yùn)算詳解的文章就介紹到這了,更多相關(guān)Python矩陣運(yùn)算內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python爬蟲快速響應(yīng)服務(wù)器的做法

    python爬蟲快速響應(yīng)服務(wù)器的做法

    在本篇文章里小編給大家整理的是一篇關(guān)于python爬蟲快速響應(yīng)服務(wù)器的做法,需要的朋友們可以參考下。
    2020-11-11
  • python和shell獲取文本內(nèi)容的方法

    python和shell獲取文本內(nèi)容的方法

    今天小編就為大家分享一篇python和shell獲取文本內(nèi)容的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-06-06
  • 用Python解決計(jì)數(shù)原理問題的方法

    用Python解決計(jì)數(shù)原理問題的方法

    計(jì)數(shù)原理是數(shù)學(xué)中的重要研究對(duì)象之一,分類加法計(jì)數(shù)原理、分步乘法計(jì)數(shù)原理是解決計(jì)數(shù)問題的最基本、最重要的方法,也稱為基本計(jì)數(shù)原理,它們?yōu)榻鉀Q很多實(shí)際問題提供了思想和工具。本文教大家怎么用Python解決在數(shù)學(xué)中遇到的計(jì)數(shù)原理問題。
    2016-08-08
  • Python+pyecharts繪制交互式可視化圖表

    Python+pyecharts繪制交互式可視化圖表

    本文我們來(lái)了解一個(gè)新的可視化模塊pyecharts,并且利用該模塊繪制讓數(shù)據(jù)變成優(yōu)美的交互式可視化圖表,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-04-04
  • Python實(shí)現(xiàn)AVIF圖片與其他圖片格式間的批量轉(zhuǎn)換

    Python實(shí)現(xiàn)AVIF圖片與其他圖片格式間的批量轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了如何使用 Pillow 庫(kù)實(shí)現(xiàn)AVIF與其他格式的相互轉(zhuǎn)換,即將AVIF轉(zhuǎn)換為常見的格式,比如 JPG 或 PNG,需要的小伙伴可以參考下
    2025-04-04
  • 一文總結(jié)學(xué)習(xí)Python的14張思維導(dǎo)圖

    一文總結(jié)學(xué)習(xí)Python的14張思維導(dǎo)圖

    一文總結(jié)學(xué)習(xí)Python的14張思維導(dǎo)圖,本文涵蓋了Python編程的核心知識(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Python的requests網(wǎng)絡(luò)編程包使用教程

    Python的requests網(wǎng)絡(luò)編程包使用教程

    requests包為Python擴(kuò)展了各種基于HTTP的網(wǎng)絡(luò)數(shù)據(jù)操作功能,包括各種請(qǐng)求與session和cookie等的追加,very強(qiáng)大,下面我們就來(lái)看一下Python的requests網(wǎng)絡(luò)編程包使用教程
    2016-07-07
  • pandas combine_first函數(shù)處理兩個(gè)數(shù)據(jù)集重疊和缺失

    pandas combine_first函數(shù)處理兩個(gè)數(shù)據(jù)集重疊和缺失

    combine_first是pandas中的一個(gè)函數(shù),它可以將兩個(gè)DataFrame對(duì)象按照索引進(jìn)行合并,用一個(gè)對(duì)象中的非空值填充另一個(gè)對(duì)象中的空值,這個(gè)函數(shù)非常適合處理兩個(gè)數(shù)據(jù)集有部分重疊和缺失的情況,可以實(shí)現(xiàn)數(shù)據(jù)的補(bǔ)全和更新,本文介紹combine_first函數(shù)的語(yǔ)法及一些案例應(yīng)用
    2024-01-01
  • python使用Tkinter實(shí)現(xiàn)在線音樂播放器

    python使用Tkinter實(shí)現(xiàn)在線音樂播放器

    這篇文章主要為大家詳細(xì)介紹了python使用Tkinter實(shí)現(xiàn)在線音樂播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • python小程序?qū)崿F(xiàn)刷票功能詳解

    python小程序?qū)崿F(xiàn)刷票功能詳解

    這篇文章主要介紹了python小程序?qū)崿F(xiàn)刷票功能詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論