Questão 1
1. Tópico
Gere uma matriz 5*5 cujos elementos são inteiros aleatórios no intervalo [1,10].
2. Código
import numpy as np
a = np.random.randint(1,10,25).reshape(5,5)
print(a)
3. Resultados
[[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]]
Questão 2
1. Tópico
Gere uma matriz 4*4 cujos elementos obedecem a uma distribuição normal.
2. Código
import numpy as np
b = np.random.randn(16).reshape(4,4)
print(b)
3. Resultados
[[-0,33990789 -0,53183933 0,12420977 -0,43573047] [-1,47714092 -0,22094742 -0,11919983 -0,19049501] [-0,54613945 1,30368604 -0,483 711 -0,36169592] [-1,50361573 -0,06139576 -1,86228913 1,09515015]]
Questão 3
1. Tópico
Atribua todos os elementos da segunda coluna da matriz gerada em (1) a -1; atribua todos os elementos da terceira linha a 1000;
2. Código
a[:,1]=-1
a[2,:]=1000 #或者a[2]=1000
print(a)
3. Resultados
[[ 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]]
Questão 4
1. Tópico
Gere uma matriz A 4*4 cujos elementos são inteiros aleatórios no intervalo [-10,10].
Em seguida, gere aleatoriamente um vetor coluna b consistindo de 4 elementos, cujos elementos são inteiros aleatórios no intervalo [-5,5].
Para o sistema de equações lineares Ax=b, encontre o valor do determinante correspondente à matriz A, julgue se há uma solução de acordo com o valor do determinante ser 0 e, se houver uma solução, encontre sua solução.
2. Código
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. Resultados
A equação é da forma Ax=b, onde A= [[ 3 -1 7 -4] [ 9 0 4 -3] [ 2 -8 6 -4] [ 7 -9 -4 0]] onde b= [ [-5 ] [-1] [ 4] [ 1]] O valor do determinante correspondente a A é: 190,00000000000017 A solução da equação linear correspondente é: [[ 3,6 ] [-3,92631579] [14,88421053] [30,97894737]]