第1题

1、题目

生成一个5*5的矩阵,其元素是区间[1,10]中的随机整数。

2、代码

import numpy as np

a = np.random.randint(1,10,25).reshape(5,5)

print(a)

3、结果

[[5 3 7 6 4]

[3 7 4 3 7]

[1 7 4 4 3]

[1 8 5 6 8]

[8 4 4 2 9]]

第2题

1、题目

生成一个4*4的矩阵,其元素符合正态分布。

2、代码

import numpy as np

b = np.random.randn(16).reshape(4,4)

print(b)

3、结果

[[-0.33990789 -0.53183933 0.12420977 -0.43573047]

[-1.47714092 -0.22094742 -0.11919983 -0.19049501]

[-0.54613945 1.30368604 -0.483711 -0.36169592]

[-1.50361573 -0.06139576 -1.86228913 1.09515015]]

第3题

1、题目

将(1)中生成的矩阵中第2列元素全部赋值为-1;第3行元素全部赋值为1000;

2、代码

a[:,1]=-1

a[2,:]=1000 #或者a[2]=1000

print(a)

3、结果

[[ 5 -1 7 6 4]

[ 3 -1 4 3 7]

[1000 1000 1000 1000 1000]

[ 1 -1 5 6 8]

[ 8 -1 4 2 9]]

第4题

1、题目

生成一个4*4的矩阵A,其元素为区间[-10,10]中的随机整数。 再随机生成一个由4个元素构成的列向量b,其元素为区间[-5,5]中的随机整数。 对于线性方程组Ax=b,求矩阵A对应的行列式值,根据行列式值是否为0判断其是否有解,如果有解,求其解。

2、代码

import scipy.linalg as sp

A=np.random.randint(-10,10,16).reshape(4,4)

b=np.random.randint(-5,5,4).reshape(-1,1)

print('方程形如Ax=b,其中A=')

print(A)

print('其中b=',b)

print()

dA=np.linalg.det(A)

print("A对应的行列式值为:",dA)

if(abs(dA)>1e-6):

sv=sp.solve(A,b)

print("对应的线性方程组解为:",sv)

else:

print("解不存在。")

3、结果

方程形如Ax=b,其中A=

[[ 3 -1 7 -4]

[ 9 0 4 -3]

[ 2 -8 6 -4]

[ 7 -9 -4 0]]

其中b= [[-5]

[-1]

[ 4]

[ 1]]

A对应的行列式值为: 190.00000000000017

对应的线性方程组解为: [[ 3.6 ]

[-3.92631579]

[14.88421053]

[30.97894737]]

相关文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。