- 博客(16)
- 收藏
- 关注
原创 【数值分析实验】矩阵特征值及特征向量计算:幂法、反幂法、幂法加速(python)
矩阵特征值及特征向量计算调包import numpy as np幂法#幂法算法 def M(A,u0,epsilon = 1e-6,M=100): uk = u0 mk_1 = 1 k = 0 while True: k += 1 vk = A*uk mk = vk[np.argmax(np.abs(vk))] uk = vk / mk if np.abs(mk - mk_
2022-01-03 23:11:34 1616
原创 【数值分析实验】线性方程组的迭代解法:雅可比迭代、高斯赛德尔迭代、SOR迭代算法(c#)
线性方程组的迭代解法class Operation { double[][] a; //系数矩阵 double[] b; //常数向量 double[] x00,x0, x; //初始迭代向量和迭代向量 int n; //矩阵大小 public double epsilon = 1e-5; //最大精度 int M, m; //最大迭代向量次数和迭代次数
2022-01-03 23:07:36 1062
原创 【数值分析实验】线性代数方程组的直接解法:列主元高斯消去法、LU分解法、LU分解法求矩阵的逆(python)
线性代数方程组的直接解法调包消元函数和矩阵求解高斯消去法列主元高斯消去法LU分解法LU分解求矩阵的逆下三角矩阵求逆LU分解求逆演示调包import numpy as np消元函数和矩阵求解#消元def KillYuan(A,i): try: A[i] /= A[i][i] except: print("矩阵奇异") A[i] /= A[i][i] for j in range(i + 1,len(A)): A[j]
2022-01-03 23:00:01 1634
原创 【数值分析实验】常微分方程初值问题:显示欧拉法、隐式欧拉法、欧拉改进法、四阶龙格库塔(python)
常微分方程初值问题的数值解法调包import mathimport numpy as npimport matplotlib.pyplot as plt显示欧拉法fStr为函数str名#显式欧拉法def EulerExplicit(x0,y0,h,fStr): xn = x0 yn = y0 n = 0 ns = [n] xs = [xn] ys = ['%.8f'%yn] while n < 50: n +=
2022-01-03 22:53:22 2692
原创 【数值分析实验】数值积分:复化梯形、复化辛普森、龙贝格求积公式、自适应求积公式(python)
数值积分调包import mathimport numpy as npimport matplotlib.pyplot as pltfStr为被积函数函数名(str)梯形求积#梯形求积def Trapezium(a,b,fStr): return (b - a) / 2 * (globals()[fStr](a) + globals()[fStr](b))复化梯形#复化梯形def TrapeziumComplex(a,b,epsilon,fStr): def F(
2021-12-29 22:38:47 2961
原创 【数值分析实验】插值与拟合:拉格朗日插值、牛顿插值、分段插值;线性拟合、最小二乘拟合(python)
插值与拟合插值拉格朗日插值牛顿插值分段Hermite插值拟合最小二乘法拟合例题最小二乘拟合变式例题调包import mathimport numpy as npimport sympy as spimport matplotlib.pyplot as plt插值拉格朗日插值#拉格朗日插值def Lagrange(x,xs,ys): n = len(xs) ls = [1 for i in range(n)] for i in range(n): f
2021-12-29 22:14:28 1889
原创 【数值分析实验】非线性方程求根:二分法、牛顿迭代法、弦截法(python)
非线性方程求根二分法#二分法def Dichotomy(a,b,fStr,epsilon = 1e-6,eta = 1e-9): def f(x): return globals()[fStr](x) n = 0 fa = f(a) fb = f(b) if fa * fb >= 0: print("算法失败") return while abs(b - a) > epsilon:
2021-12-29 21:53:51 2107
原创 python实现银行家算法
代码GitHub链接:https://github.com/tigmfg/BankerAlgorithm_python具体步骤代码实现def BankerAlgorithm(): progressCount = 5 #进程数量 resourceCount = 3 #资源种类数量 Available = [3,3,2] #可用资源向量 Max = [[7,5,3], [3,2,2], [9,0,2],
2021-05-15 22:29:08 610
原创 C#实现哲学家进餐问题
代码GitHub链接:https://github.com/tigmfg/PDProblem_csharp实现哲学家进餐class PDproblem { /////当哲学家同时拿起左右两边的筷子时,才会开始进餐,防止进程死锁 public static readonly int maxPhilosopher = 5; // 最大的哲学家数量 public List<Semaphore> forks = new List<
2021-05-14 14:27:09 296
原创 C#实现读者写者问题
代码GitHub链接:https://github.com/tigmfg/RWProblem_csharp实现读者写者问题class ReaderWriterQue_Nomal { Semaphore book = new Semaphore(1, 1); int chapter = 0; public ReaderWriterQue_Nomal() { } public void write()
2021-05-12 21:23:08 244
原创 c#实现生产者消费者问题
代码GitHub链接:https://github.com/tigmfg/PCProblem_csharp生产者消费者类class PCproblem { Queue<int> goods = new Queue<int>(); int maxBuffer = 3; int goodNum = 0; Semaphore good = new Semaphore(1, 1); Semaphor
2021-05-12 21:11:49 984 1
原创 Datawhale组队学习 numpy下 Task05
大作业本次练习使用 鸢尾属植物数据集.\iris.data,在这个数据集中,包括了三类不同的鸢尾属植物:Iris Setosa,Iris Versicolour,Iris Virginica。每类收集了50个样本,因此这个数据集一共包含了150个样本。sepallength:萼片长度sepalwidth:萼片宽度petallength:花瓣长度petalwidth:花瓣宽度以上四个特征的单位都是厘米(cm)1. 导入鸢尾属植物数据集,保持文本不变。【知识点:输入和输出】outfile
2020-12-01 21:45:49 105
原创 Datawhale组队学习 numpy下 Task04 线性代数 打卡
线性代数Numpy 定义了 matrix 类型,使用该 matrix 类型创建的是矩阵对象,它们的加减乘除运算缺省采用矩阵方式计算,因此用法和Matlab十分类似。但是由于 NumPy 中同时存在 ndarray 和 matrix对象,因此用户很容易将两者弄混。这有违 Python 的“显式优于隐式”的原则,因此官方并不推荐在程序中使用 matrix 。在这里,我们仍然用 ndarray 来介绍。矩阵和向量积矩阵的定义、矩阵的加法、矩阵的数乘、矩阵的转置与二维数组完全一致,不再进行说明,但矩阵的
2020-11-29 21:59:12 139
原创 Datawhale组队学习 numpy下 Task03 统计相关 打卡
次序统计计算最大值最小值numpy.amin() 和 numpy.amax()numpy.amin() 用于计算数组中的元素沿指定轴的最小值。numpy.amin(a[, axis=None, out=None, keepdims=np._NoValue, initial=np._NoValue,where=np._NoValue])numpy.amax() 用于计算数组中的元素沿指定轴的最大值。numpy.amax(a[, axis=None, out=None, keepdims=n
2020-11-26 13:08:18 215 1
原创 Datawhale组队学习 numpy下 Task02 随机抽样 打卡
numpy.random 模块对 Python 内置的 random 进行了补充,增加了一些用于高效生成多种概率分布的样本值的函数,如正态分布、泊松分布等。numpy.random.seed(seed=None) Seed the generator.seed() 用于指定随机数生成时所用算法开始的整数值,如果使用相同的 seed() 值,则每次生成的随机数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。在对数据进行预处理时,经常加入新的操作或改
2020-11-25 18:52:12 200
原创 Datawhale组队学习 numpy下 Task01 输入和输出 打卡
numpy 二进制文件npy格式:以二进制的方式存储文件,在二进制文件第一行以文本形式保存了数据的元信息(ndim,dtype,shape等),可以用二进制工具查看内容。npz格式:以压缩打包的方式存储文件,可以用压缩软件解压。NumPy二进制文件(NPY,NPZ)方法描述numpy.save(file, arr, allow_pickle=True, fix_imports=True)将数组保存为NumPy.npy格式的二进制文件。numpy.load(file, mm
2020-11-23 21:51:03 157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人