質問1
1. トピック
要素が区間 [1,10] のランダムな整数である 5*5 行列を生成します。
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.483 711 -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. トピック
要素が区間 [-10,10] のランダムな整数である 4*4 行列 A を生成します。
次に、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]]