Python 財務データ マイニングのレビュー質問 第 2 章

質問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]]

おすすめ

転載: blog.csdn.net/xllzuibangla/article/details/125071826