数学建模
代码搬运工小菜狗
呵呵
展开
-
[数学建模]熵值法
计算指标权重的经典算法之一,用来判断某个指标的离散程度。离散程度越大,即信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。根据熵的特性,通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大.python代码import pandas as pdimport numpy as npfrom numpy import array# 读取数据doctor = pd.read_csv(r'D:\Wo原创 2021-08-26 23:39:34 · 1146 阅读 · 0 评论 -
[数学建模]主成分分析法PCA
最常用的线性降维方法,通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性。推导:就是以前用最小二乘法拟合数据时做的事情,最小二乘法求出来的直线(二维)的方向就是u1的方向.u2方向就是跟u1垂直的方向.太复杂了改天再看原理步骤如下1去除平均值2计算协方差矩阵3计算协方差矩阵的特征值和特征向量4将特征值排序5保留前N个最大的特征值对应的特征向量6将原始特征转换到上面得到的N个特征向原创 2021-08-26 23:35:16 · 289 阅读 · 0 评论 -
[数学建模]层次分析法AHP
评价类问题。问题:① 评价的目标?② 可选的方案?③ 评价的指标?分层目标层、准则层、方案层层次分析法可分为四个步骤建立:第一步:标度确定和构造判断矩阵;第二步:特征向量,特征根计算和权重计算;第三步:一致性检验分析;第四步:分析结论。代码:见链接:http://flvb5.cn/NZuv4①首先建立层析分析模型,构造准则层判断矩阵,算出权重。②构造相应的目标层判断矩阵,计算相应权重得出排名。③最后结合所有权重算出最终得分。注:1.只要不满足一致矩阵都需要进行一致性检验。原创 2021-08-26 23:25:16 · 118 阅读 · 0 评论 -
[数学建模]网络最大流(自用,可能说的不明白)
FF算法(Ford-Fulkerson)也称标号法司书写Matlab可以直接用工具箱,所以只给了lingo程序那么就只记记思路:我们如果手算,步骤是这样的:1.选定一条S到T的路,计算δi\delta_iδi(δi\delta_iδi是这条路中最小的边权)2.更新这条路上每条边的权值(调整成参流)比如:S→\rightarrow→A→\rightarrow→C→\rightarrow→T这条路,δ\deltaδ=2,更新完之后SA为1,AC为0,CT为03.一二步重复执行,直到选的任一原创 2021-08-23 16:01:36 · 422 阅读 · 0 评论 -
[数学建模]最小生成树
求最小生成树的两种算法:prim算法和kruskal算法1.prim算法思想:一个点集合P,一个边集合Q,不断地找以点集合中任意一点为端点的最小边,更新点集合和边集合.Matlab代码:见司书P47 例4.52,kruskal算法思想:先对所有的边按权值排序,每次从没被挑选的边里选权值最小的边(不用管是否与已选边相临),不过要注意:避圈!如果选择边e后形成了圈,则不选边e.Matlab代码:见司书P48 例4.63.二者的区别prim算法是找一个,遍历一遍;而kruskal是一开始排好序,之原创 2021-08-22 23:26:53 · 518 阅读 · 0 评论