python怎么编写矩阵_如何用python编写如下程序运行矩阵?

答案更新后,我写了一些代码来解析变量。在B = [5,-4,5,-6]

y = [

[0,1,0,1],

[0,0,0,0],

[0,0,0,1],

[0,0,0,0],

]

x = []

for i, row in enumerate(y):

temp = []

for j, col in enumerate(row):

if col != 0:

temp.append(str(col) + '*x' + str(i) + str(j))

else:

temp.append(col)

x.append(temp)

#for one in x:

# print one

equ = []

for i in xrange(4):

temp1 = []

temp2 = []

for j in xrange(4):

temp1.append(x[i][j])

temp2.append(x[j][i])

temp2.append(B[i])

equ.append(tuple(temp1 + temp2))

equtions = []

for one in equ:

s = '%s + %s + %s + %s - %s - %s - %s - %s = %s' % one

equtions.append(s)

for one in equtions:

print one

import re

from copy import deepcopy

equ_bak = deepcopy(equtions)

p_var = re.compile(r'x\d\d')

vars = set([])

for one in equ_bak:

m = p_var.findall(one)

vars |= set(m)

vars = sorted(list(vars))

p_ef = re.compile(r'([+-]* *\d*)\*(x\d\d)')

effs = []

for one in equ_bak:

m = p_ef.findall(one)

#print m

temp = [0] * len(vars)

for num, var in m:

try:

temp[vars.index(var)] = float(num.replace(' ', ''))

except:

pass

effs.append(tuple(temp))

#for one in effs:

# print one

import numpy as np

A = np.array(effs)

x = np.linalg.lstsq(A,B)

print vars

print x[0]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值