mex

MATLAB安装libsvm工具箱的方法

非 Y 不嫁゛ 提交于 2020-10-02 13:43:54
支持向量机(support vector machine,SVM)是机器学习中一种流行的学习算法,在分类与回归分析中发挥着重要作用。基于SVM算法开发的工具箱有很多种,下面我们要安装的是十分受欢迎的libsvm工具箱。 libsvm简介 LIBSVM 是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易于使用和快速有效的 SVM 模式识别与回归的软件包,它不仅提供了编译好的可在 Windows 系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用; 该软件还有一个特点,就是对 SVM 所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数就可以解决很多问题;并且提供了交互检验(Cross-SVM回归等问题,包括基于一对一算法的多类模式识别问题。 libsvm与MATLAB自带的svm工具箱的区别 在MATLAB中,同样自带了一个svm工具箱,不过相比于libsvm,在功能性和易用性方面有一些差距。具体差别表现在: MATLAB自带的svm实现函数仅支持分类问题,不支持回归问题;而libsvm不仅支持分类问题,亦支持回归问题 MATLAB自带的svm实现函数仅支持二分类问题,多分类问题需按照 多分类的相应算法 编程实现;而libsvm采用 一对一方法 支持多分类 MATLAB自带的svm工具箱无法改变高斯核函数中的参数

【比赛游记】FJOI2020打六题挂四题记

南笙酒味 提交于 2020-08-16 03:42:05
上接 FJOI2019瞎打记 和 NOI2019打铁记 。 day 0 早上睡到很迟,下午看考场,很劲爆,不用 FrC 提交了。打了一个 NTT(FJOI 怎么可能考)和一个 SA 然后走了。 晚上打模板,复习资料什么的。 我写下这句话的时间是 00:48。 ++FJOI2020.rp 当 NOI2019 落幕时,在广州二中的颁奖典礼门外,我拭净眼角的泪水后 哐当一声,有一个声音告诉我:「 你再也不能笑着说『还有下一次』了 」。 day 1 早上进校门的时候,测的体温是 37°,很可怕。 进考场,看题,T1 费用流原题,在哪本书里好像有印象。写完后大概是过了四十分钟这样。 T2 看了一会儿发现要个圆方树,很吓人。赶快回忆了一波 Tarjan 怎么写,然后建出来圆方树。 然后就不会了,他要求的是点,但是如果考虑边呢?好像可以启发式合并,那就很好,可以 \(\mathcal O (n \log n)\) ,但是怎么把边转化成点呢。 推了一下发现很弱智,就是周围边加上自己再除以 \(2\) 。大概九点四十写完了,调了调好像把样例过了,手造几组好像没错。 然后后面就在大力搞 T3,看到题立刻手玩 \(n = 4\) 时到底是哪两个比较憨批没法得到,发现是 \([3, 1, 4, 2]\) 和 \([3, 2, 4, 1]\) 。 然后 \(n = 5\) 的玩不动了,赶快写个枚举全排列

HDU6756 Finding a MEX

前提是你 提交于 2020-08-16 00:23:59
原题链接 看到 \(\operatorname{mex}\) ,一个显然的想法就是根号分治。我们设 \(d_u\) 为点 \(u\) 的度数,再设一个合适正整数 \(L\) ,代表根号分治的临界值。将所有的点分为两个集合 \(S_1,S_2\) ,使得 \(\forall u\in S_1,d_u\le L;\forall u\in S_2,d_u>L\) 。有一个显然的性质是 \(|S_2|\le \big\lfloor \dfrac{2\times n}{L}\big\rfloor\) 。 先考虑查询。对于所有 \(S_1\) 中的点,因其邻居的个数最多是 \(L\) ,所以珂以暴力枚举邻居算 \(\operatorname{mex}\) 。这个算法是珂以做到 \(O(L)\) 的(答案输出的 \(\operatorname{mex}\) 的最大值只能是 \(n\) ,所以你珂以把所有大于 \(n\) 的数设置成 \(n\) )。对于所有 \(S_2\) 中的点,你就必须要对每个 \(S_2\) 中的点用一个 奇技淫巧的 数据结构来维护了。这个数据结构必须要支持全局查询 \(\operatorname{mex}\) 。 先不谈这个数据结构要实现哪些东西,我们来看看修改。修改是单点修改。一个点的修改只会影响到它周边邻居的答案。设点 \(u\) 的邻居的集合为 \(C_u\)

数据结构水题选讲

落爺英雄遲暮 提交于 2020-08-15 07:46:45
[Ynoi2011]ODT \(O(nlog^2n)\) 的做法非常显然 直接把树重链剖分一下,每个点维护轻儿子的平衡树就行 但是这题 \(1e6\) 的数据范围使得 \(O(nlog^2n)\) 没那么容易卡过去(当然很多人卡过去了 考虑给一个点很多重儿子 那么若一个点有 \(k\) 个重儿子,修改复杂度就变成 \(O(log_knlog_2n)\) ,而查询复杂度变成 \(O(klog_2n)\) 了 为了均摊我们需要 \(log_kn=k\rightarrow k^k=n\) ,发现当 \(k=7\) 时应该是最优的 这样我们得到了一个复杂度 \(O(7nlogn)\) 的算法,已经足够通过这道题了 好像还有一个 \(log\) 的做法但是我不会也找不到讲解先咕了 [Ynoi2019]魔法少女网站 Ynoi+序列=分块 考虑把操作分块 把所有询问按照x从小到大排序,对于当前的x,把小于等于他的位置设为1,大于的位置设为0,每次x变大就把新符合的变成1 用类似链表的东西维护一下 由于需要查询区间我们考虑分块维护(因为我们需要 \(O(1)\) 插入,现在唯一的问题就是修改操作中会把1变成0 考虑一个套路就是插入之后按序撤销,初始让所有被修改的位置一直是0就行了 复杂度 \(O(n\sqrt{n})\) [Ynoi2017]由乃的玉米田 前两个操作可以显然的用莫队+bitset做

I. Game on Plane(SG函数 博弈论)

扶醉桌前 提交于 2020-08-12 15:25:06
题目链接 题目描述 给你n个节点的凸包(未连线),每次选择两个点连一条线,不能与之前出现的线有相交。当出现一个凸包的时候游戏结束 谁最后无法移动了就输了,现在问 是先手必胜还是后手必胜。 类似题: HDU4664 Triangulation HDU描述的是当出现一个三角形时 游戏结束。其实是一个意思,HDU的范围大一点 涉及循环节。 做法:SG函数。如果你是第一次听说SG函数。看链接: 知乎 而对于这题的分析呢。 每一个点集都可以被一条直线分割成一个包含两部分的子局面,根据SG函数从前往后推 那么对于当前局面SG(x),它的后继局面为 任选两个点连接后,得到的局面是被该线分割成两部分,如果下一个人在这条线的两个端点任意一个出发再连一条线,则下下个人就可以连成三角形使得游戏结束,因此下一个人必不会再从这两个端点连线。因此后继局面为sg(i)与sg(x-i-2) [0<=i<=x-2] 即得到sg函数为: SG(X)=mex{sg(i)^sg(x-i-2)} [0<=i<=x-2] 对于GYM的这道题 直接推SG数组即可。 对于HDU 的打表找循环节 由于数据的n很大,打表出前1000项观察可以得到循环节。。。打表 代码参考来自: 博客 /* 因为一条直线把当前局面分割成两个子局面, i-2是连接完直线后剩下的点,所以两个子局面的异或就是sg[j]^sg[i-2-j] */

博弈论一锅炖

别等时光非礼了梦想. 提交于 2020-08-11 19:33:10
博弈论 序: 理论铺垫: 几种常见类型详解: 一、巴什博弈: 二、威佐夫博奕: 三、Fibonacci博弈: 四、尼姆博弈: 五、公平组合博弈(Impartial Combinatori Games): 博弈的王道——『Sprague-Grundy函数和Sprague-Grundy定理』 【实例】取石子问题: 序: 博弈是信息学和数学试题中常会出现的一种类型,算法灵活多变是其最大特点,而其中有一类试题更是完全无法用常见的博弈树来进行解答。 寻找必败态即为针对此类试题给出一种解题思路。 此类问题一般有如下特点: 1、博弈模型为两人轮流决策的非合作博弈。即两人轮流进行决策,并且两人都使用最优策略来获取胜利。 2、博弈是有限的。即无论两人怎样决策,都会在有限步后决出胜负。 3、公平博弈。即两人进行决策所遵循的规则相同。 理论铺垫: 1、定义P-position和N-position: 其中P代表Previous,N代表Next。直观的说,上一次move的人有必胜策略的局面是P-position,也就是“先手必败”,现在轮到move的人有必胜策略的局面是N-position,也就是“先手可保证必胜”。 ( 1 )无法进行任何移动的局面(也就是terminal position)是P - position; ( 2 )可以移动到P - position的局面是N - position; (

.NET高级调试系列-Windbg调试入门篇

不羁的心 提交于 2020-08-11 12:47:09
Windbg是.NET高级调试领域中不可或缺的一个工具和利器,也是日常我们分析解决问题的必备。准备近期写2篇精华文章,集中给大家分享一下如果通过Windbg进行.NET高级调试。 今天我们来一篇入门的文章。首先,Windbg是什么? Windows Debugger,简称WinDbg,.NET 最强分析调试利器。它可以用来: 调试内核模式和用户模式代码 分析Crash dump 分析代码执行时 CPU 寄存器信息 我们可以通过WinDbg调试以下具体问题: 线程阻塞 内存泄露 分析查询运行时线程堆栈和变量 分析进程Crash原因 分析消耗CPU原因 查看并调试CLR异常 … 那么,首先我们先进行Windbg下载安装、配置。 一、下载安装WinDbg,配置调试环境 1. 推荐下载链接 https://raw.githubusercontent.com/EasyDarwin/Tools/master/Windbg_x86_x64/dbg_amd64.msi 或者从Windows Store下载 WingDbg Preview版本 下载后一步一步安装即可 2. 配置调试符号 大家会问一个问题:为什么要配置调试符号? 若要使用 WinDbg 提供的所有高级功能,必须加载适当的符号:比如说我们可以调试、查看.NET CLR程序堆栈,此时要加载对应的调试符号。

PLC通讯智能网关,不用编程,实现西门子与罗克韦尔(AB)、三菱等PLC之间数据通讯

老子叫甜甜 提交于 2020-08-11 11:28:59
智能网关IGT-DSER支持多点对多点的设置之间通讯,支持以太网,串口设备混合数据交换;无需编程开发,只须配置数据的起始地址和数量即可,支持热插拔,断电重启后自恢复运行,在实际的工程项目中应用方便。 欧姆龙与西门子PLC之间通讯 下面是罗克韦尔(AB)的Compact系列的PLC与西门子S7-1500之间的通讯的配置,实现AB的标签数组与西门子DB数据块之间通讯。 首先在AB的PLC内建立输入和输出数组,用于接收和写入S7-1500的PLC数据,名称分别是IN_INT16、OUT_OUT16,输入80个字即160个字节,输出40个字即80个字节,类型都为INT,如下图,注意新建立的数组须要下载后重启PLC才会生效。 然后在西门子PLC内建立数据块_4和数据块_5两个DB,号码分别是DB101、DB102,DB101写入到AB的PLC,DB102接收AB的PLC数据,都需要取消优化访问,字节数据与AB的PLC对应,如下图,同样新建立的DB须要下载后重启PLC才会生效。 然后开始配置网关,通过网关的参数设置软件( 下载地址 )搜索到网关模块后,读取默认参数,在'功能'->‘类型与设备选择’页面的4种类型选择最下面一项,点'确认当前选择'按钮,切换为类型4,系统为IGT-CLI-MEX,即多设备数据交互模式,如下图,然后下载重启: 重启后设置网关模块的网口参数,AB

将SDPT3配置到matlab

戏子无情 提交于 2020-08-10 10:14:55
将SDPT3配置到matlab 用yalmip和matlab建模求解优化问题时,对于半定规划问题用LMILAB直接求解不了,查了查发现在YAMLIP中使用lmilab是禁止(虽然没有报错)。一是因为lmilab速度慢,影响YALMIP的效率问题。更重要的是,lmilab不显示任何错误和不可行性报告给YAMMIP。 因此,不论是否可行,YAMLIP只能友好的显示‘successfully solved’。所以转而考虑使用SDPT3来求解半定规划问题。在网上找了一通,好像对于SDPT3的配置教程没人写过,实际配置还是很麻烦就决定写下来记录一下。 1.首先是SDPT3的下载,网上搜其配置找到的安装包全是需要积分或者充值很麻烦,其实直接从官网自己下就OK了。 http://www.math.cmu.edu/~reha/sdpt3.html 2.下载完成后,按照文件里README提示,需要在matlab中执行 Installmex 文件,运行后发现如果matlab中未配置过支持的mex文件的编译器或者SDK是运行不了的。 3.下载安装支持MEX文件的编译器。 在主页附加功能——>获取附加功能弹出附加功能资源管理器 在搜索框输入mingw即可找到需要的MinGW编译器,如果是R2017b及以后版本直接下载就好。 我下载了MinGW,发现并不适配R2016b,按照提示找到适配版本即可。