自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 收藏
  • 关注

原创 vs2019中使用scanf_s

今天把我整崩溃了,记录下,也留给有用的人。。char inStr[1001];scanf_s("%s", inStr, sizeof(inStr));//char* s = inStr;char* s = inStr;cout << s << endl;scanf_s要输入三个参数,最后一个表示要输入的char的大小。...

2020-08-25 21:35:22 2018 1

原创 C++ getline()函数详解

由于自己在分割字符串和读取行中内容时总是碰到,这里把一起整理一下。getline()函数用于读入一整行数据,一种定义在头文件<istream>中,是istream的成员函数,一种定义在头文件<string>中,是普通文件。1)<istream>中的两种重载形式istream& getline(char* s, streamsize n);...

2020-04-23 20:50:31 635

原创 C++ 表达式必须含有常量值变量

#表达式必须含有常量值变量DEV-C++使用的编译器是GCC,它允许使用变量作为数组的长度定义数组。VC的编译器不是GCC,它不允许你这样做。方法1:使用动态内存分配,new和delete操作符int num;cin >> num;int* a = new int[num];…delete[] a;方法2:使用vector容器int num;cin >&gt...

2020-01-14 14:34:49 8601 1

原创 C++中remove和remove_if

一、remove()函数remove(begin(), end(), const T& value) //移除区间[begin, end)中与value相等的元素;remove只是通过迭代器的指针向前移动来删除,将没有被删除的元素放在链表的前面,并返回一个指向新的超尾值的迭代器。由于remove()函数不是成员,因此不能调整链表的长度。remove()函数并不是真正的删除,要想真正...

2019-12-04 21:19:28 512

原创 vector<string>

string:#include 基本接口:声明字符串: string s; //生成一个空字符串s string s(str) //拷贝构造函数 生成str的复制品 string s(str,stridx) //将字符串str内“始于...

2019-12-02 16:34:45 174

原创 不能实例化抽象类

什么样的类是抽象类呢?C++没有C Sharp中的关键字abstract,但是当一个类中有一个或多个纯虚函数的时候,这个类就自动成为了抽象类,即不可以实例化。纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。在实际开发中,很多时候你都需要继承别人的类,或是同事写的类,或是一些开源库中的类...

2019-11-21 21:34:43 483

原创 C++ typedef

typedef的用途: 为已有的数据类型重新命名。<1. 基本类型>int a=10;//为整型重新命名typedef int ZS;ZS b=10;1234<2. 结构体的使用>a. 为结构体重新命名://ST---->等价于struct Studenttypedef struct Student{int id;char sex;}...

2019-08-26 17:08:30 98

原创 C++友元函数

原文链接:https://blog.csdn.net/fanyun_01/article/details/79122916在C++中,我们使用类对数据进行了隐藏和封装,类的数据成员一般都定义为私有成员,成员函数一般都定义为公有的,以此提供类与外界的通讯接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外...

2019-08-22 15:26:30 101

转载 C++中size_t和size_type

为了使自己的程序有很好的移植性,c++程序员应该尽量使用size_t和size_type而不是int, unsignedsize_t是全局定义的类型;size_type是STL类中定义的类型属性,用以保存任意string和vector类对象的长度string::size_type 制类型一般就是unsigned int, 但是不同机器环境长度可能不同 win32 和win64上长度差别;si...

2019-08-05 23:31:13 136

原创 linux cat命令

cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;cat主要有三大功能:1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件。$cat file1 file2 > filecat具体命令格式为 : cat [-...

2019-08-01 20:29:46 80

原创 C++ 递增运算符:前置++和后置++的区别

首先说下结论:迭代器和其他模板对象应该使用前缀形式 (++i) 的自增,,自减运算符,因为前置自增 (++i) 通常要比后置自增 (i++) 效率更高前置++和后置++,有4点不同:返回类型不同、形参不同、代码不同、效率不同int main(){Age a;(a++)++; //编译错误 ++(a++); //编译错误 a++ = 1; //编译错误 ...

2019-08-01 10:55:13 598

原创 Linux常用命令 - cp

Linux cp命令主要用于复制文件或目录-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。-f:覆盖已经存在的目标文件而不给出提示。-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。-p:除复制文件的内容外...

2019-07-31 17:21:00 81

转载 C++ 运算符的优先级和结合性

原文:https://blog.csdn.net/lfb_2048/article/details/62040608

2019-07-30 19:28:22 136

转载 基础内容

pycharm是什么,为什么让我指定interpreter记事本最开始写C语言代码的时候,人们使用vi,记事本等软件写代码,写完了之后用GCC编译,然后运行编译结果,就是二进制文件。python也可以这样做,用记事本写完代码,保存成如test.py的文件后,通过命令python test.py可以运行这一文件。最初的C语言代码都是通过这种方式写的。但是人们很快发现了一个问题,就是这么弄太麻烦了...

2019-06-23 09:34:26 515

原创 for循环中的i++和++i

for(int index = 0;index < 1024;++index)p[index] = 0;相当于for(int index = 0;index < 1024;){p[index] = 0;++index;}这里的++index和index++的作用是一样的。另外int *p = new[1024];...

2019-05-31 12:30:02 753 1

转载 严重性代码说明项目文件行错误C4996'strcpy'

严重性代码说明项目文件 行错误 C4996 ‘strcpy’: This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Test f:\cwor...

2019-05-31 10:43:49 208

转载 ode45的用法

1 简介ode45,常微分方程的数值求解。MATLAB提供了求常微分方程数值解的函数。当难以求得微分方程的解析解时,可以求其数值解(解析解就是给出解的具体函数形式,从解的表达式中就可以算出任何对应值;数值解就是用数值方法求出近似解,给出一系列对应的自变量和解)。Matlab中求微分方程数值解的函数有七个:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23...

2019-05-23 20:53:58 5965

转载 matlab中常用符号

在使用MATLAB的过程中,经常需要对输出图形中的变量进行标注,其中经常遇到的难题就是如何标注各种上标、下标、斜体、黑体、箭头、上圆圈、正负号等特殊符号,以及如何标注特殊的数学符号。这里第一机电网给大家总结一下,希望对大家有用。一、MATLAB中上下标、斜体、箭头等符号的使用方法下标用 _(下划线)上标用^ (尖号)斜体 it黑体 bf<< llgg正负 pm左箭头 ...

2019-05-15 11:12:42 26793

转载 strcpy和strncpy的用法

char * strncpy(char *s1,char *s2,size_t n);  将字符串s2中最多n个字符复制到字符数组s1中,返回指向s1的指针。  注意:如果源串长度大于n,则strncpy不复制最后的’\0’结束符,所以是不安全的,复制完后需要手动添加字符串的结束符才行。  Strcpy和Strncpy的区别- -  第一种情况:  char * p=“how are y...

2019-05-14 10:02:27 571

转载 python-饼状图(pie)

在plt.legend()函数中加入若干参数:plt.legend(bbox_to_anchor=(num1, num2), loc=num3, borderaxespad=num4)bbox_to_anchor(num1,num2)表示legend的位置和图像的位置关系,num1表示水平位置,num2表示垂直位置。num1=0表示legend位于图像的左侧垂直线(这里的其它参数设置:num2=...

2019-05-12 15:28:03 1239

转载 matlab-norm函数

norm函数是用来计算范数的一个函数。假设A是一个矩阵,那么norm(A)或者norm(A,2)计算的就是A的2范数;同理norm(A,1)计算的就是1范数了.2范数:计算步骤是先计算AA‘(这里A’代表转置,也就是原矩阵(原矩阵的转置)),然后计算他们乘积的特征值,取最大的那个特征值开根号即可1范数:就是最大一列的和,注意,求和之前,先对每一个数进行去除负号的处理,即"-2.8"=2如果...

2019-05-08 13:19:02 1693

转载 C++中cout.setf()函数

setiosflags(ios::fixed) 设置浮点数以固定的小数位数显示.setiosflags(ios::scientific) 设置浮点数以科学计数法(即指数形式)显示.setiosflags(ios::left) 输出数据左对齐.setiosflags(ios::right) 输出数据右对齐.setiosflags(ios::shipws) 忽略前导的空格.setiosfla...

2019-04-24 12:03:29 876

转载 数据结构—B树

引言我们都知道二叉查找树的查找的时间复杂度是O(log N),其查找效率已经足够高了,那为什么还有B树和B+树的出现呢?难道它两的时间复杂度比二叉查找树还小吗?  答案当然不是,B树和B+树的出现是因为另外一个问题,那就是磁盘IO;众所周知,IO操作的效率很低,那么,当在大量数据存储中,查询时我们不能一下子将所有数据加载到内存中,只能逐一加载磁盘页,每个磁盘页对应树的节点。造成大量磁盘IO操作...

2019-04-21 22:05:02 186

原创 C++ stack容器

c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO)使用该容器时需要包含#include头文件;定义stack对象的示例代码如下:stacks1;stacks2;stack的基本操作有:1.入栈:如s.push(x);2.出栈:如 s.pop().注意:出栈操作只是删除栈顶的元素,并不返回该元素;3.访问栈顶:如s.top();4.判断栈空:如s....

2019-04-21 15:47:45 141

原创 优先级

1.() > [] > *;2. - > ^;

2019-04-21 15:01:10 354

原创 左值和右值

i++ 与 ++i 的主要区别有两个1、 i++ 返回原来的值,++i 返回加1后的值2、 i++ 不能作为左值,而++i 可以首先解释下什么是左值,左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。一般来说,左值是可以放到赋值符号左边的变量。但能否被赋值不是区分左值与右值的依据。比如,C++的const左值是不可赋值的;而作为临时对象的右值可能允许被赋值。...

2019-04-21 10:30:33 6645

转载 数据结构-九宫格(回溯法)

数独,是源自18世纪瑞士的一种数学游戏。是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫(3*3)内的数字均含1-9,不重复。数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,...

2019-04-20 22:58:57 2239

转载 数据结构—八皇后问题(回溯法)

回溯法,又被称为“试探法”。解决问题时,每进行一步,都是抱着试试看的态度,如果发现当前选择并不是最好的,或者这么走下去肯定达不到目标,立刻做回退操作重新选择。这种走不通就回退再走的方法就是回溯法。回溯VS递归很多人认为回溯和递归是一样的,其实不然。在回溯法中可以看到有递归的身影,但是两者是有区别的。回溯法从问题本身出发,寻找可能实现的所有情况。和穷举法的思想相近,不同在于穷举法是将所有的情况...

2019-04-19 22:02:36 462 1

转载 指针与数组

数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。p=a; //将该二维数...

2019-04-14 23:22:46 84

转载 数组指针和指针数组

定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。将二维数组定义为指针时可以这样表示int a[3][4];int (*p) [4]; //该语句定义一个数组指针,指向含4个元素的一维数组p = a; //将该二维数组的...

2019-04-14 23:19:22 72

转载 Matlab simulink Mux 多路复用

MUX模块将输入信号组合成一个单一的矢量输出。输入可以是一个标量或矢量信号。所有的输入 必须是 相同的数据类型和数值类型。矢量输出信号的元素,从上到下,或左右,从它们的顺序,输入端口信号。各种块方向的端口顺序的描述,请参阅如何How to Rotate a Block 。为了避免加入杂乱模型,当您复制从Simulink库模型, Simulink中隐藏了 Mux块的名称。 有关创建和分解载体的信息,...

2019-04-13 22:03:44 7259

原创 数据结构—排序

1.插入排序主要代码:for (int i = 1; i < n; i++){int tmp = arr[i];j = i;for (; j >= 0 && tmp < arr[j-1]; j–){arr[j] = arr[j-1];}arr[j] = tmp;}时间复杂度:O(n)~O(n^2)之间。稳定性:稳定2.冒泡排序主要代码...

2019-04-09 21:24:44 138

转载 Python中的*使用

Python中的*使用在为函数传递参数和函数定义时使用参数的时候,时常会看到有和 和*,下面分别讲解其作用。调用函数时使用*和 **假设有函数def test(a, b, c)test(args): 的作用其实就是把序列 args 中的每个元素,当作位置参数传进去。比如上面这个代码,如果 args 等于 (1,2,3) ,那么这个代码就等价于 test(1, 2, 3) 。test(k...

2019-03-28 17:11:16 97

转载 numpy库np.percentile详解

在python中计算一个多维数组的任意百分比分位数,此处的百分位是从小到大排列,只需用np.percentile即可……a = range(1,101)#求取a数列第90%分位的数值np.percentile(a, 90)Out[5]: 90.10000000000001a = range(101,1,-1)#百分位是从小到大排列np.percentile(a, 90)Out[7]...

2019-03-27 23:10:02 1045

转载 matlab常用

请耐心看完,下面的东东对你肯定有帮助_一、安装及调试  I Matlab版本推荐1、配置较差6.5,较好7或其以上2、使用version命令可以查看matlab版本3、版本对应:2006a–7.2,2007a–7.4,2008a–7.6  II Matlab参考书推荐(参见板上的ftp)1、张志涌,北航,精通Matlab6.52、王正林、刘明,精通Matlab7III 安装相关...

2019-03-26 17:57:02 1723

转载 C++ memset()函数

memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.这个函数在socket中多用于清空数组.如:原型是memset(buffer, 0, sizeof(buffer))Memset 用来对一段内存空...

2019-03-26 14:11:57 613

原创 模糊控制

利用模糊数学的基本思想和理论的控制方法。在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要关键。系统动态的信息越详细,则越能达到精确控制的目的。然而,对于复杂的系统,由于变量太多,往往难以正确的描述系统的动态,于是工程师便利用各种方法来简化系统动态,以达成控制的目的,但却不尽理想。换言之,传统的控制理论对于明确系统有强而有力的控制能力,但对于过于复杂或难以精确描述的系统,则显得...

2019-03-25 17:34:36 2665 1

原创 自己再C++中犯的一些错误

1.cin>>a>>b;连续要输入两个数时,后面不能加endl;

2019-03-24 21:27:12 78

转载 MATLAB神经网络工具箱

原文:https://blog.csdn.net/qq_24182661/article/details/81254164

2019-03-22 17:24:52 336

转载 PID控制

简单来说,PID控制器各校正环节的作用如下:  (1)比例环节:成比例地反映控制系统的偏差信号error(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。  (2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之则越强。  (3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有...

2019-03-22 15:33:35 1783

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除