polyfit polyfit函数简介 polyfit函数是matlab中用于进行曲线拟合的一个函数。其数学基础是最小二乘法曲线拟合原理。曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。 用法 p = polyfit(x,y,n) p = polyfit(x,y,n) 返回阶数为 n 的多项式 p(x) 的系数,该阶数是 y 中数据的最佳拟合(在最小二乘方式中)。p 中的系数按降幂排列,p 的长度为 n+1 p(x)=p1xn+p2xn−1+...+pnx+pn+1" role="presentation" style="position: relative;">p(x)=p1xn+p2xn−1+...+pnx+pn+1p(x)=p1xn+p2xn−1+...+pnx+pn+1p(x) = p_{1}x^{n} + p_{2}x^{n-1} + ... + p_{n}x + 继续阅读 >>


殷健翔 18/08/06 16:07:23
  关于他们的思想,这里就不再罗嗦了,直接 show you my code ,看题讨论 。 题目1: 5×5迷宫 + 保存路径 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路, 只能横着走或竖着走,不能斜着走, 要求编程序找出从左上角到右下角的最短路线。 Input 一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。 Output 左上角到右下角的最短路径,格式如样例所示。 Sample Input 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 Sample Output (0, 0) (1, 0) (2, 0) (2, 1) (2, 2) (2, 3) (2, 继续阅读 >>


刘生玺 18/08/06 12:21:20
前言&背景 平时在做一些开发时难免要调一些shell脚本或者外部程序,golang提供了exec包很方便的帮我们解决了这个问题。但是当外部程序或者shell脚本夯死就使得我们自身的程序很不稳定。与此同时,当我们已经感知到程序脚本运行出现问题时,我们可能需要立刻对程序进行杀死的操作,但是当我们很自然的想到cmd.Process.Kill()时,我们又遇上了另外一个问题,因为这个操作并没有将子进程kill掉,所以我们的需求就出来了,那就是: Kill进程及其子进程 首先给出解决方案,那就是kill掉进程组 给出一个有测试和原理分析的相关链接,我这里也来说下具体用法。 cmd := exec.Command("/bin/sh", "-c", "...........") // Go会将PGID设置成与PID相同的值 cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} syscall.Kill(-cmd.Process.Pid 继续阅读 >>


朱新全 18/08/05 12:04:20
ACM题集以及各种总结大全!        虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正。        一.ACM入门        关于ACM    百度百科连接        杭州电子科技大学(hdu)ACM题目    连接        关于acm的帮助     连接        北京大学(poj)题目      连接  & 继续阅读 >>


陈苏扬 18/08/05 01:47:59
背景 在使用golang的struct tag进行json和db映射的时候,发现有这么一行和其它不一样,本以为是冒号或者分号中英文不对的问题,但是细细寻找一遍之后无果,这一行就一直报这个错误,很尴尬,明明和其它行的用法一样,但就是有这种警告,而且程序运行时也确实映射不到,最后找到了错误,是空格的tab的区别。。。。 没错,这里只能用空格,不能用tab。。。就是如此坑。。。。但是goland IDE早已帮你想到了解决办法,smart tab 哈哈,设置方法见最后一张图。 Bad syntax for struct tag value less… (⌘F1) Inspection info: Verifies that struct tags conform to Go conventions. According to these conventions, tag strings are a concatenation of optionally space-separated 继续阅读 >>


朱新全 18/08/04 14:16:27
选择gettimeofday()函数的原因:精度比timer()函数高很多,time函数只精确到秒,而gettimeofday精确到微妙,足以满足各种所需,虽然有精度比它更高的,但是它的系统调用开销相对更小 函数原型 #include<sys/time.h> int gettimeofday(struct timeval* tv, struct timezone* tz); 成功返回0, 失败返回-1, 出错返回errno 参数意义 tv是指向下面这个结构体的一个指针 struct timeval { time_t tv_sec; suseconds_t tv_usec; } time_t 和suseconds_t 都是lont int 类型, tv_sec 表示Epoch 秒数, 而tv_usec 是额外的微妙精度 tz 是一个历史产物, 早期的UNIX实现用来获取系统的时区信息, 目前已经被废弃了, 应始终将其置为NULL. 继续阅读 >>


吕子健 18/08/03 17:16:10
dup函数和dup2函数 dup,dup2都是属于创建文件描述符的函数,所以返回值也是一个文件描述符。有时候我们希望把标准输入重定向到一个文件的时候,或者把标准输出重定向到一个网络连接的时候,就可以通过这两个函数实现。简而言之,这两个函数就是复制文件描述符的。dup(oldfd)执行以后会返回一个新的并且是当前系统可用的最小整数值作为新的文件描述符,此时这个新的文件描述符将指向oldfd指向的同一个文件,共享所有的锁定、读写和各项权限和标志位。dup(oldfd,newfd)的意思就是,将文件描述符newfd指向oldfd(或者说oldfd被复制之后新的文件描述符被设定为newfd),dup2多出来的就是第二个参数可以指定新文件描述符的数值,因此dup2的返回值一定是不小于newfd的整数数值的。 函数原型(使用man函数手册可见) 函数意义及其参数意义 结合标准输出文件、标准输入文件、标准错误输出文件理解 标准输入文件的文件描述符: 0 标准输出文件的文件描述符:1 标准错误输出的文件 继续阅读 >>


胡佳露 18/08/02 20:50:24
函数原型: gethostbyname函数是通过主机名称获取主机的完整信息。name参数是目标主机的主机 名称。 gethostbyaddr函数是通过IP地址获取主机的完整信息。addr是网络字节序的IP地址,len参数是IP地址的长度,type参数是IP地址的类型(合法类型包括AF_INET,AF_INET6) 两个函数的返回都是hostent结构体类型指针。hostent结构体定义如下:   代码实现: gethostbyname() #include<stdio.h> #include<netdb.h> #include<unistd.h> #include<stdlib.h> #include<string.h> #include<arpa/inet.h> int main(int argc, char * argv[]) { char **p1; char **p2; struc 继续阅读 >>


胡佳露 18/08/02 12:37:25
在《Linux高性能服务器编程》一书中为了帮助大家将书中的知识融汇到实际项目中,作者特意编写了一个较为完整的负载均衡服务器程序springsnail。里面用到了进程池、有限状态机这些知识点。自己是在网上找到的这个程序的源码,起初接触的时候,总共1400多行代码里面没有一行注释,网上也没有一篇博客去对这个项目进行解析,因此写这篇博客供大家一起分享学习。springsnail源码(带注释) 咱们从main函数开始,我们要介绍几个c语言中的两个宏 __FILE__:用以指示本行语句所在源文件的文件名 __LINE__:用以指示本行语句在源文件中的位置信息 这两个参数在后面咱们程序的调试中有着非常正要的作用。并且整个程序的日志系统也是依靠这两个宏和可变参的log()函数完成的。 接着大家需要了解getopt函数这个函数可以通过提取命令行参数对命令行参数进行解析。 接着后面是解析xml文件的一长串代码 vector< host > balance_srv; 继续阅读 >>


李佳灏 18/08/02 12:33:17
   前言,记得某一次开会的时候,学长学姐就说过让我们去看fork源码,结果一直没有时间去看(其实是懒),这不,正好碰上这次开进程的讲座,就在讲座之前看了一波源码,也算是了了一波自己阅读源码的心愿 。   首先我们得基本了解一下,task_struct 与 thread_info结构是怎么一回事。 1. linux中的PCB的实体(task_struct) 其实标题已经说的很清楚了。它就是我们常说的进程控制块。 PCB通常记载进程之相关信息,包括: 进程状态:可以是new、ready、running、waiting或 blocked等。 程序计数器:接着要运行的指令地址。 CPU寄存器:如累加器、变址寄存器、堆栈指针以及一般用途寄存器、状况代码等, 主要用途在于中断时暂时存储数据,以便稍后继续利用;其数量及类别因计算机体系结构有所差异。 CPU排班法:优先级、排班队列等指针以及其他参数。 存储器管理:如标签页表等。 会计信息:如CPU与实际时间之使用数量、 继续阅读 >>


刘生玺 18/08/01 17:21:40