最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python基于高斯消元法計算線性方程組示例

 更新時間:2018年01月17日 11:03:59   作者:Furious7  
這篇文章主要介紹了Python基于高斯消元法計算線性方程組,結(jié)合實例形式分析了Python高斯消元法針對方程組求解的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python基于高斯消元法計算線性方程組。分享給大家供大家參考,具體如下:

#!/usr/bin/env python
# coding=utf-8
# 以上的信息隨自己的需要改動吧
def print_matrix( info, m ): # 輸出矩陣
  i = 0; j = 0; l = len(m)
  print info
  for i in range( 0, len( m ) ):
    for j in range( 0, len( m[i] ) ):
      if( j == l ):
        print ' |',
      print '%6.4f' % m[i][j],
    print
  print
def swap( a, b ):
  t = a; a = b; b = t
def solve( ma, b, n ):
  global m; m = ma # 這里主要是方便最后矩陣的顯示
  global s;
  i = 0; j = 0; row_pos = 0; col_pos = 0; ik = 0; jk = 0
  mik = 0.0; temp = 0.0
  n = len( m )
  # row_pos 變量標(biāo)記行循環(huán), col_pos 變量標(biāo)記列循環(huán)
  print_matrix( "一開始 de 矩陣", m )
  while( ( row_pos < n ) and( col_pos < n ) ):
    print "位置:row_pos = %d, col_pos = %d" % (row_pos, col_pos)
    # 選主元
    mik = - 1
    for i in range( row_pos, n ):
      if( abs( m[i][col_pos] ) > mik ):
        mik = abs( m[i][col_pos] )
        ik = i
    if( mik == 0.0 ):
      col_pos = col_pos + 1
      continue
    print_matrix( "選主元", m )
    # 交換兩行
    if( ik != row_pos ):
      for j in range( col_pos, n ):
        swap( m[row_pos][j], m[ik][j] )
        swap( m[row_pos][n], m[ik][n] );   # 區(qū)域之外?
    print_matrix( "交換兩行", m )
    try:
      # 消元
      m[row_pos][n] /= m[row_pos][col_pos]
    except ZeroDivisionError:
      # 除零異常 一般在無解或無窮多解的情況下出現(xiàn)……
      return 0;
    j = n - 1
    while( j >= col_pos ):
      m[row_pos][j] /= m[row_pos][col_pos]
      j = j - 1
    for i in range( 0, n ):
      if( i == row_pos ):
        continue
      m[i][n] -= m[row_pos][n] * m[i][col_pos]
      j = n - 1
      while( j >= col_pos ):
        m[i][j] -= m[row_pos][j] * m[i][col_pos]
        j = j - 1
    print_matrix( "消元", m )
    row_pos = row_pos + 1; col_pos = col_pos + 1
  for i in range( row_pos, n ):
    if( abs( m[i][n] ) == 0.0 ):
      return 0
  return 1
if __name__ == '__main__':
  matrix = [[2.0,  0.0, - 2.0,  0.0],
       [0.0,  2.0, - 1.0,  0.0],
       [0.0,  1.0,  0.0, 10.0]]
  i = 0; j = 0; n = 0
  # 輸出方程組
  print_matrix( "一開始的矩陣", matrix )
  # 求解方程組, 并輸出方程組的可解信息
  ret = solve( matrix, 0, 0 )
  if( ret!= 0 ):
    print "方程組有解\n"
  else:
    print "方 程組無唯一解或無解\n"
  # 輸出方程組及其解
  print_matrix( "方程組及其解", matrix )
  for i in range( 0, len( m ) ):
    print "x[%d] = %6.4f" % (i, m[i][len( m )])

運行結(jié)果:

一開始的矩陣
2.0000 0.0000 -2.0000 | 0.0000
0.0000 2.0000 -1.0000 | 0.0000
0.0000 1.0000 0.0000 | 10.0000

一開始 de 矩陣
2.0000 0.0000 -2.0000 | 0.0000
0.0000 2.0000 -1.0000 | 0.0000
0.0000 1.0000 0.0000 | 10.0000

位置:row_pos = 0, col_pos = 0
選主元
2.0000 0.0000 -2.0000 | 0.0000
0.0000 2.0000 -1.0000 | 0.0000
0.0000 1.0000 0.0000 | 10.0000

交換兩行
2.0000 0.0000 -2.0000 | 0.0000
0.0000 2.0000 -1.0000 | 0.0000
0.0000 1.0000 0.0000 | 10.0000

消元
1.0000 0.0000 -1.0000 | 0.0000
0.0000 2.0000 -1.0000 | 0.0000
0.0000 1.0000 0.0000 | 10.0000

位置:row_pos = 1, col_pos = 1
選主元
1.0000 0.0000 -1.0000 | 0.0000
0.0000 2.0000 -1.0000 | 0.0000
0.0000 1.0000 0.0000 | 10.0000

交換兩行
1.0000 0.0000 -1.0000 | 0.0000
0.0000 2.0000 -1.0000 | 0.0000
0.0000 1.0000 0.0000 | 10.0000

消元
1.0000 0.0000 -1.0000 | 0.0000
0.0000 1.0000 -0.5000 | 0.0000
0.0000 0.0000 0.5000 | 10.0000

位置:row_pos = 2, col_pos = 2
選主元
1.0000 0.0000 -1.0000 | 0.0000
0.0000 1.0000 -0.5000 | 0.0000
0.0000 0.0000 0.5000 | 10.0000

交換兩行
1.0000 0.0000 -1.0000 | 0.0000
0.0000 1.0000 -0.5000 | 0.0000
0.0000 0.0000 0.5000 | 10.0000

消元
1.0000 0.0000 0.0000 | 20.0000
0.0000 1.0000 0.0000 | 10.0000
0.0000 0.0000 1.0000 | 20.0000

方程組有解

方程組及其解
1.0000 0.0000 0.0000 | 20.0000
0.0000 1.0000 0.0000 | 10.0000
0.0000 0.0000 1.0000 | 20.0000

x[0] = 20.0000
x[1] = 10.0000
x[2] = 20.0000

PS:這里再為大家推薦幾款計算工具供大家參考使用:

在線一元函數(shù)(方程)求解計算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科學(xué)計算器在線使用_高級計算器在線計算:
http://tools.jb51.net/jisuanqi/jsqkexue

在線計算器_標(biāo)準(zhǔn)計算器:
http://tools.jb51.net/jisuanqi/jsq

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python 獲取windows桌面路徑的5種方法小結(jié)

    Python 獲取windows桌面路徑的5種方法小結(jié)

    今天小編就為大家分享一篇Python 獲取windows桌面路徑的5種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python自動從arxiv下載paper的示例代碼

    python自動從arxiv下載paper的示例代碼

    這篇文章主要介紹了python自動從arxiv下載paper的示例代碼,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-12-12
  • pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作

    pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作

    這篇文章主要介紹了pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python中數(shù)字是否為可變類型

    python中數(shù)字是否為可變類型

    在本篇文章里小編給大家整理了關(guān)于python中數(shù)字是否為可變類型的相關(guān)文章內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • 詳解字符串在Python內(nèi)部是如何省內(nèi)存的

    詳解字符串在Python內(nèi)部是如何省內(nèi)存的

    這篇文章主要介紹了詳解字符串在Python內(nèi)部是如何省內(nèi)存的,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 寫一個Python腳本下載嗶哩嗶哩舞蹈區(qū)的所有視頻

    寫一個Python腳本下載嗶哩嗶哩舞蹈區(qū)的所有視頻

    B 站大家都熟悉,尤其是它的舞蹈區(qū).有 100W+ 的舞蹈視頻.在沒有 wifi 的情況下,就欣賞不了這些視頻了.作為一個 python 程序員,小編就寫一個 Python 腳本在晚上下載舞蹈區(qū)的所有視頻,需要的朋友可以參考下
    2021-05-05
  • Pyorch之numpy與torch之間相互轉(zhuǎn)換方式

    Pyorch之numpy與torch之間相互轉(zhuǎn)換方式

    今天小編就為大家分享一篇Pyorch之numpy與torch之間相互轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python消除序列的重復(fù)值并保持順序不變的實例

    python消除序列的重復(fù)值并保持順序不變的實例

    今天小編就為大家分享一篇python消除序列的重復(fù)值并保持順序不變的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 使用Python讀取和寫入JSON文件的代碼示例

    使用Python讀取和寫入JSON文件的代碼示例

    在Python開發(fā)中,處理JSON數(shù)據(jù)是非常常見的任務(wù),JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,易于人閱讀和編寫,同時也易于機器解析和生成,本文給大家介紹了如何使用 Python 讀取和寫入 JSON 文件,需要的朋友可以參考下
    2024-12-12
  • 3種Python 實現(xiàn)酷炫進度條的實用方法

    3種Python 實現(xiàn)酷炫進度條的實用方法

    這篇文章主要介紹了3種Python 實現(xiàn)酷炫進度條的實用方法,文章圍繞Python的相關(guān)資料展開對實現(xiàn)進度條的介紹,需要的小伙伴可以參考一下
    2022-04-04

最新評論

塔城市| 建湖县| 方正县| 东乡| 蒙自县| 靖边县| 右玉县| 东乌珠穆沁旗| 河池市| 湄潭县| 洱源县| 皋兰县| 永靖县| 绥阳县| 漳州市| 体育| 寻甸| 祥云县| 宁阳县| 玉田县| 温泉县| 和田县| 渝北区| 广河县| 富锦市| 和田县| 绥棱县| 贵南县| 蛟河市| 白玉县| 吴江市| 凤凰县| 晋宁县| 怀安县| 浦江县| 汝州市| 丰都县| 沙田区| 石家庄市| 万源市| 清流县|