![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学建模
_relax
这个作者很懒,什么都没留下…
展开
-
数学建模--图论(一)
图分为有向图和无向图,其中无向图可以视为有向图的特例,因为无向图可视作两个点之间存在两条方向相反的边。 在matlab中主要使用矩阵进行图的描述,其中最常用的还是邻接矩阵和关联矩阵,这两种表示方式是等价的,只是角度不同。 这两个矩阵的具体定义网上都有很多,这里就不具体列出来,只谈谈我的理解。 邻接矩阵是一个方阵(行数=列数),矩阵的行和列的含义都是顶点。对于无向图,如果顶点vi和vj有边相连,原创 2017-06-16 21:21:35 · 2802 阅读 · 0 评论 -
西式乘法
今天看到一个很有趣的计算两个数相乘的方法。 如图是计算22*12的方法,首先是表示出22和12,如图是通过线的条数来表示数字,同方向的表示一个相乘因子,上方表示高位,下方表示低位,然后用圈按垂直方向将相近的交叉点圈出,如图,得到的结果是264.原创 2017-08-28 22:16:45 · 333 阅读 · 0 评论 -
机器学习之分类学习(数据收集及清洗)
这个系列的文章参考自《python机器学习及其实践》。 分类学习属于有监督学习中最常用常用的学习方法,有监督学习是明确特征结果的,即每个数据都是有标签的。在实际生活中,我们会遇到很多分类问题,比如,对好人和坏人的分类;气象台的天气预告也是分类问题,通过出现的天气特征,预测是雨天还是晴天;生物学家进行物种分类。上面提到的分类问题都是已知了类别的,这就是有监督学习的特征之一。 分类学习也可以说机器学原创 2017-08-29 13:01:36 · 2230 阅读 · 0 评论 -
机器学习之分类学习(模型训练)
完成数据的预处理,接下进入分类学习中的重点–模型训练。在前面我们得到了一批数据,现在我们需要从中提取出一部分数据作为我们训练的数据,当然我们也可以把全部的数据作为我们训练的数据,但是如果我们把全部的数据都拿来作为训练就没有数据来测试我们模型的性能了,因为训练数据和测试数据不能重叠,不然就是作弊了,这样性能测试结果并不能真实的反应模型的性能了。同时在提取训练数据过程中,按照随机的原则,不然也是作弊的行原创 2017-08-29 13:28:04 · 5004 阅读 · 0 评论 -
机器学习之分类学习(性能分析)
在上面我们得到了一个逻辑回归模型,但我们需要这个模型的性能如何,也是知道这个模型学习的成果如何,要进行期末考试。 考试,顾名思义是给模型发答卷,答卷就是前面我们提取出来的测试数据,我们把测试据中的结果抽空作为标准答案,让模型答题,最后对照标准答案给分。# 使用训练好的模型lr对X_test进行预测,结果储存在变量lr_y_predict中。lr_y_predict = lr.predict(X_原创 2017-08-29 13:32:49 · 659 阅读 · 0 评论 -
数学建模--画图
图形可以使数据更直观且容易理解,在数学建模中画图是不可少的。平台 win7 matlab7.0先介绍最常用的画图函数plot: 创建数据X = 0:0.01:10Y = sin(X)画第一个图plot(X,Y)设置坐标轴set(gca,'XTick',-pi:pi/2:4*pi)并设置坐标轴标签set(gca,'XTickLabel',{'0','pi/2','pi','3pi/2','2p原创 2017-09-07 22:22:03 · 11229 阅读 · 0 评论 -
数学建模--Excel技巧
在数学建模中,经常用到Excel来保存数据,固然也需要将数据导入到Matlab中。 1.首先是读取Excel表格,要用到xlsread函数,xlsread的返回值有三种形式 NUMERIC = xlsread(FILE); [NUMERIC,TXT]=xlsread(FILE); [NUMERIC,TXT,RAW]=xlsread(FILE);NUMERIC原创 2017-08-31 12:26:46 · 6094 阅读 · 1 评论 -
数学建模--统计分析
1.正整数频率表 使用tabulate函数可以得到正整数的频率表T = ceil(5*rand(1,10))%随机产生一组数据table = tabulate(T)%得到T的频率表T = 3 2 4 2 3 4 5 5 3 1table = 1 1 10 2 2原创 2017-09-01 15:28:58 · 1968 阅读 · 0 评论 -
数学建模--微积分及符号函数常用操作
1.数值微分 数值微分是用离散的方法近似地计算函数y=f(x)在某点x=a处的导数值,前差公式: 后差公式: 中心差商: matlab中可以用diff函数实现前差公式的数值微分: 函数形式:diff(X)求解X的一阶微分,X是一个向量也可以是一个矩阵,结果:[X(2)-X(1) X(3)-X(2) … X(n)-X(n-1)]X = [1 1 2 3 5 8 13 21];Y原创 2017-09-07 15:57:27 · 2110 阅读 · 0 评论 -
Python在数学建模中的简单应用
1.方程求导12345678from __future__ import print_functionfrom __future__ import divisionimport numpy as npimport scipy as spimport scipy.misc def f(x): return 2*x*x + 3*x + 1print(sp.misc.derivative(f, 2))<原创 2017-09-03 16:31:37 · 5896 阅读 · 1 评论 -
数学建模--二次规划
若该线性规划的目标函数为自变量x的二次函数,约束条件全是线性的,则为二次规划。 在MATLAB中表达的二次规划的数学模型如下 min12x′Hx+f′xst.Ax≤bAeqx=beqlb≤x≥ubmin {1\over 2}x'Hx + f'x\\st.\\ Ax\leq b\\ Aeqx=beq\\ lb\leq x\geq ub\\ 其中,f和b是列向量,A是相应维数的矩阵,H实原创 2017-07-03 02:00:50 · 2455 阅读 · 0 评论 -
基于MATLAB的架空输电线的等值电路参数计算
以《电力系统分析》上的一道例题来讲解如何利用MATLAB进行架空输电线的等值电路参数计算。500kV输电线路长600km,采用三分裂导线3×LGJQ-400,分裂间距为400mm,三相水平排列,相间距离为11m,LGJQ-400导线的计算半径r=13.6mm。试计算输电线π型等值电路的参数:(1)不计线路参数的分布特性;(2)近似计及分布特性;(3)精确特性计及分布特性。%计算半径mm:r=原创 2017-10-14 17:31:31 · 5940 阅读 · 0 评论 -
最大似然估计
最大似然估计的前提是总体的模型已知,参数未知,通过从总体中抽取n个样本进行分析,利用n个样本中最大概率的一个样本分析结果来确定总体的参数。例如需要知道全国成年男性的平均身高,显然测量每个成年男性的身高计算平均数是不现实的,但是我们可以通过在全国成年男性中进行n次抽样,然后分析n次抽样的结果,然后用n次抽样中出现概率最大的平均身高来估计全国成年男性的平均身高。原创 2017-08-28 21:53:53 · 342 阅读 · 0 评论 -
数学建模--箱图
箱图是用来显示统计数据的离散情况, 图中中间的黑线是数据的中位数,而不是平均数。上四分位数和下四分位数是数据的75%和25%。 一般情况下,通过两组数据的箱图来分析两组数据的离散情况,箱子越矮的说明数据越集中。原创 2017-08-28 20:25:30 · 1251 阅读 · 0 评论 -
数学建模--插值
插值和拟合有点类似,插值是指已知某函数的在若干离散点上的函数值或者导数信息,通过求解该函数中待定也就是插值需要经过所有的数据点,在已知数据点上使减少数据间隔;而拟合是使拟合结果与已知的数据点的误差尽可能小。 插值有一维插值(interp1)、二维插值(interp2)。Y1=interp1(x,y,X,'method')%x,y已知的数据向量%X是插值点的自变量坐标向量%‘method’插值原创 2017-09-05 20:19:31 · 1235 阅读 · 0 评论 -
数学建模--迪克斯特拉( Dijkstra)算法
先贴上迪克斯特拉算法的原理,该算法又称为PT标号法,对于算法的定义和步骤比较难以理解,只需要粗略看一下就好。求最短路已有成熟的算法:迪克斯特拉( Dijkstra)算法,其基本思想是按距 u0 从 近到远为顺序,依次求得 u0 到 G 的各顶点的最短路和距离,直至 v0(或直至 G 的所有 顶点),算法结束。为避免重复并保留每一步的计算信息,采用了标号算法。下面是该 算法。 (i) 令 l(原创 2017-06-18 00:58:00 · 3578 阅读 · 1 评论 -
数学建模--Floyd算法
function [P u] = Floyd_path(W, k1, k2)%W表示权值矩阵%P表示最短路%u表示最短路的权和n = length(W);U = W;m = 1;while m <= n for i = 1: n for j = 1: n if U(i, j) > U(i, m) + U(m, j)原创 2017-06-18 18:29:54 · 929 阅读 · 0 评论 -
数学建模--矩阵的引用
在matlab中经常要用到进行矩阵的索引,其中有三种方法,分别是下标法、索引法、布尔法。下标法 A(i,j):其中i和j可以是一维向量、标量、“:”号或者“end”。 以逗号为分隔,逗号前面即i表示对行的索引描述,逗号后面即j表示对列的索引描述 例如A = magnic(3)A = 8 1 6 3 5 7 4 9原创 2017-06-30 15:25:53 · 1834 阅读 · 0 评论 -
数学建模--非线性规划
如果目标函数或约束条件中包含非线性函数,则称这种规划问题为非线性规划问题,简写为NP。二次规划是非线性规划中的特例,由于二次规划有通用的解法,所以单独讨论,而其他的非线性规划问题没有通用的解法。 在MATLAB中,非线性规划的数学模型可以写为下面的形式: minf(x)st.Ax≤bAeq⋅x=beqG(x)≤0Ceq(x)=0min f(x)\\st.\\Ax \leq b\\Aeq\原创 2017-07-03 19:46:07 · 2077 阅读 · 4 评论 -
数学建模--整数规划
规划中的变量(部分或全部)限制为整数时,成为整数规划(Integer Linear Programming)。若在线性规划模型中,变量限制为整数,则称为整数线性规划。目前所流行的求解整数规划的方法往往只是用于整数线性规划。 在一般的规划中,增加限定:决策变量是整数,记为整数规划问题。标准形式如下: minf=CTxst.Ax=bxjmin f=C^Tx\\st.\\Ax=b\\x_j\\ 其中原创 2017-07-03 22:56:27 · 993 阅读 · 0 评论 -
数学建模--线性规划
今天结束了为时两周的数学建模暑假培训,打算重新整理一下课堂上的知识,并通过博客做笔记,这是第一节课讲的内容–线性规划。 线性规划(Linear programming,简称LP)属于运筹学的重要分支,其目的在于合理利用有限资源进行最优决策。 建立线性规划数学模型的基本步骤是 1.确定目标变量和决策变量; 2.根据决策变量与目标变量之间的函数关系确定目标函数; 3.根据限制条件确定约束条件。原创 2017-07-02 22:50:17 · 5838 阅读 · 0 评论 -
批量修改文件名后缀的两个方法
批量修改文件名后缀的两个方法 方法一: 1.把所有的文件弄到一个文件夹下,然后新建一个.TXT文本文件 2.打开在里写入 ren .txt .htm (注意:ren和txt后面各有一个空格;txt是当前的文件后缀名,htm是修改后的文件后缀名) 3.保存后将文本文件后缀名改为.bat 比如:新建 “文本文档.txt”,改成“新建 文本文档.bat” 4.双击运行该文件即可 方法二原创 2017-07-13 20:06:33 · 2033 阅读 · 0 评论 -
数学建模--转移矩阵
首先来简单介绍一下矩阵的乘法,两个矩阵能进行矩阵乘法运算的前提是:第一个矩阵(左矩阵)的列数等于第二个矩阵(右矩阵)的行数。A = (aij)是一个m*s矩阵,B = (bij)是一个s*n矩阵,则矩阵A与矩阵B的乘积是一个m*n矩阵C = (cij),其中:cij = ai1*b1j + ai2*b2j + ··· +ais*bsj(i = 1,2,···,m;j = 1,2,···,n),记作原创 2017-06-15 13:48:21 · 7161 阅读 · 0 评论 -
数学建模--基于遗传算法求解数独
求解数独网上有很多算法,由于最近在学习遗传算法,所以尝试通过遗传算法来求解数独。 遗传算法求解数独步骤如下 1.初始化化种群 首先需要产生较优的初始种群,以减少进化代数,如果没有较优的初始种群会加大后面运算压力。为了得到较优的初始种群,设置一下规则(1)、每个方格的数字不重复; (2)、尽可能使填入的数字与所在行或列的数字不重复。 根据以上规则得到一定数量的初始九宫格,然后将每个方格缺的数原创 2017-07-16 22:43:56 · 2860 阅读 · 3 评论 -
数学建模--K-近邻算法
K-近邻算法(KNN)是最简单的的分类算法,采用测量不同特征值之间的距离方法进行分类,精度高,对异常数据不敏感,但是缺点也很明显,计算复杂度高 ,空间复杂度高。import numpy as npimport operatordef classify0(inX, dataSet, labels, k): dataSetSize = dataSet.shape[0]#读取dataSet的列原创 2017-08-15 21:12:02 · 872 阅读 · 0 评论 -
数学建模--数据拟合
数学建模中经常会给出数据,然后进行拟合,matlab有cftool数据拟合工具箱,但是我还是习惯于使用拟合函数。 1.多项式拟合 拟合函数:P = polyfit(X,Y,N)[P,S] = polyfit(X,Y,N)[P,S,MU] = polyfit(X,Y,N)%参数解释%X自变量数据序列%Y因变量数据序列%N序号拟合的多项式次数%P多项式的系数向量%f(x)=P(1)*X原创 2017-09-05 19:56:12 · 4915 阅读 · 0 评论 -
微信小程序跳一跳外挂matlab版本
本程序是基于MATLAB与ADB进行对安卓手机的控制,ADB是一个安卓调试软件,使用该软件的第一步是打开手机的USB调试模式,具体配置请自行百度,在压缩包里面已经自带了ADB。 本程序关键点检测目标平面以及人所在的像素点。 第一步先检测人底部的像素坐标,人的颜色基本不会改变,检测起来比较方便。 第二步是检测目标平面的上顶点,通过观察可以知道,人和上顶点各占一半平面,利用这一点可以缩小原创 2018-01-12 13:19:50 · 2954 阅读 · 0 评论