一、计算两个数列的相对误差
import pandas as pd
import numpy as np
import time
import random
#########计算两个数列的相对误差
def cal_relativeError(originalData, resultData):
error = 0
lens = np.min([len(originalData), len(resultData)])
for k in range(lens):
error = error + np.abs([originalData[k] -resultData[k]])
error = error / np.sum(originalData)
return error
二、生成随机矩阵
def random_matrix_genetor(n=10):
'''
功能:生成随机矩阵
输入:矩阵维数
输出:矩阵
'''
data_matrix=[]
for i in range(n):
one_list=[]
for j in range(n):
one_list.append(random.randint(1, 100))
data_matrix.append(one_list)
return data_matrix
三、找到矩阵最小值
def find_martrix_min_value(data_matrix):
'''
功能:找到矩阵最小值
'''
new_data=[]
for i in range(len(data_matrix)):
new_data.append(min(data_matrix[i]))
return min(new_data)
四、找到矩阵最大值
def find_martrix_max_value(data_matrix):
'''
功能:找到矩阵最大值
'''
new_data=[]
for i in range(len(data_matrix)):
new_data.append(max(data_matrix[i]))
return max(new_data)
五、找到list中第一个不为0的数
def first_num (lst_data):
for i in range(len(lst_data)):
if lst_data[i] > 0:
return lst_data[i]
六、求一个数组中不为0的数的均值
def cal_avg(lst_data):
len_un_0 = len(lst_data) - lst_data.count(0)
sum_x = 0
for i in lst_data:
sum_x += i
avg_num = sum_x / len_un_0
return avg_num
七、给lst里面为0的值做补充
## lst: 待处理的数列
## num_x : 在满足条件的位置用num_x来做补充
def full_num (lst_data , num_x):
for i in range(len(lst_data)):
if lst_data[i] == 0:
lst_data[i] = num_x
return lst_data