算法創作|簡單行列式問題解決方法

本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。

前言

用Python做線代


問題描述

大二學習了行列式的部分知識,所以就想能不能用Python計算簡單的行列式計算。

輸入:新建文件夾,建立一個新的Excel,寫入圖1數據,並重命名這頁sheet爲計算,並將Excel,和Python文件都要保存在這個文件夾裏面,如果不這樣的話就要在寫Python的時候把路徑寫完整。

                     (圖1)

輸出:


解決方案

用到了Python裏面的openpyxl,用到了表格,就想到了行列式,其實光用到Python也可以得到結果但是用到openpyxl會讓程序顯得更貼近生活。用到了行列式的對角線求法。

代碼清單 1 DFS求解1100求和問題Python代碼

import openpyxl#引入openpyxl

filename = r'./33的矩陣.xlsx'

wb = openpyxl.load_workbook(filename)#打開Excel

ws = wb ['計算']#打開計算這頁

x11=float(ws.cell(1,1).value)

x12=float(ws.cell(1,2).value)

x13=float(ws.cell(1,3).value)

x21=float(ws.cell(2,1).value)

x22=float(ws.cell(2,2).value)

x23=float(ws.cell(2,3).value)

x31=float(ws.cell(3,1).value)

x32=float(ws.cell(3,2).value)

x33=float(ws.cell(3,3).value)

x14=x11

x15=x12

x24=x21

x25=x22

x34=x31

x35=x32

result =(x11 * x22 * x33) + (x12 * x23 * x31) + (x13 * x21 * x32) - (x13  * x22 * x31) - (x11 * x23 * x32) - (x12 * x21 * x33)#用對角線法則計算

ws.cell(5,2).value = result#在(52)這個單元格寫入結果

wb.save(filename+'1.xlsx')#保存

print('執行完畢')


結語

操作還是會顯得笨重,不夠便捷,這次主要還是爲了用上openpyxl,主要還是爲了後續數據的儲存操作打下基礎。




實習編輯:衡輝

作者:成浩宇 潘鈺昆 敖泳

稿件來源:深度學習與文旅應用實驗室(DLETA)


本文分享自微信公衆號 - 算法與編程之美(algo_coding)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章