自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 递归函数(C语言)

递归函数:自己调用自己的函数式递归函数。定义递归函数时,为了避免不断的重复循环不停止,应当引入判定条件。以一个二叉树遍历例子来讲解:二叉树的图为:二叉树遍历的代码为:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h&gt...

2020-04-28 17:59:16 1980

原创 C语言break和continue的用法和区别

break 只能用于跳出循环体和跳出switch。break 语句不能用于循环语句和 switch 语句之外的任何其他语句中。continue不能用于switch语句中,除非switch在循环体中。此时 continue 表示的也是结束循环体的本次循环,跟 switch 也没有关系。不管是 for 循环,还是 while 循环,或者是 do…while 循环,都可以用 break 跳出来,但...

2020-04-02 14:12:23 1460

原创 STL:函数对象适配器

//函数适配器bind1st bind2nd//现在我有这个需求 在遍历容器的时候,我希望将容器中的值全部加上100之后显示出来,怎么做?//我们直接给函数对象绑定参数 编译阶段就会报错//for_each(v.begin(), v.end(), bind2nd(myprint(),100));//如果我们想使用绑定适配器,需要我们自己的函数对象继承binary_function 或者 unary_function//根据我们函数对象是一元函数对象 还是二元函数对象class MyPrint .

2020-08-12 21:43:56 168

原创 string和str * 相互转换

/*string和c-style字符串转换*/void func(string s){ cout << s << endl;}void func2(const char * s){ cout << s << endl;}void test07(){ string s = "abc"; //string -> const char * const char * p = s.c_str(); func(p);...

2020-08-11 22:11:54 654

原创 cin的标志位

/案例2 让用户输入 1 到 10 的数字 ,如果输入有误 重新输入 void test08(){ int num; cout << "请输入一个1到10的数字:" << endl; while (true) { cin >> num; if (num > 0 && num <= 10) { cout << "输入的数字为" << num << endl; break.

2020-08-11 20:24:45 332

原创 随机数设置

#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){ time_t tm = time(NULL);//得到系统时间 srand((unsigned int)tm);//随机种子只需要设置一次即可 int r = rand()%10 + 1; printf("r = %d\n", r); return 0;}生成1-10的随机数...

2020-08-10 18:49:50 231

原创 const用法

int a = 100; int b = 200;//指向常量的指针 //修饰*,指针指向内存区域不能修改,指针指向可以变 const int *p1 = &a; //等价于int const *p1 = &a; //*p1 = 111; //err p1 = &b; //ok//指针常量 //修饰p1,指针指向不能变,指针指向的内存可以修改 int * const p2 = &a; //p2 = &b; //err *p2 = 222; .

2020-08-01 21:43:08 101

原创 MFC的基本步骤与程序

步骤: // 1、设计窗口类 // 2、注册窗口类 // 3、创建窗口类 // 4、显示和更新窗口 // 5、通过循环取消息 // 6、处理消息(窗口过程)程序:#include <windows.h> //底层实现窗口头文件// 6、处理消息(窗口过程)// CALLBACK 代表 __stdcall 参数传递顺序 从右往左 依次入栈 ,并且在函数返回前自动清空 堆栈内容LRESULT CALLBACK ...

2020-08-01 13:37:25 866

原创 接口

接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。引用数据类型:数组,类,接口。接口的使用,它不能创建对象,但是可以被实现( implements ,类似于被继承)。一个实

2020-07-30 14:01:18 78

原创 继承、this、super、抽象

通过 extends 关键字,可以声明一个子类继承另外一个父类,定义格式如下:class 父类 {...}class 子类 extends 父类 {...}super和this的含义super :代表父类的存储空间标识(可以理解为父亲的引用)。this :代表当前对象的引用(谁调用就代表谁)。抽象方法使用abstract 关键字修饰方法,该方法就成了抽象方法,抽象方法只包含一个方法名,而没有方法体。修饰符 abstract 返回值类型 方法名 (参数列表);..

2020-07-30 10:51:26 89

原创 static类 (静态)

public class MyClass { int num; // 成员变量 static int numStatic; // 静态变量 // 成员方法 public void method() { System.out.println("这是一个成员方法。"); // 成员方法可以访问成员变量 System.out.println(num); // 成员方法可以访问静态变量 Sys...

2020-07-29 20:20:51 871

原创 字符串的常用方法

==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法:public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true;否则返回false。注意事项:1. 任何对象都能用Object进行接收。2. equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。3. 如果比较双方一个常量一个变量,推荐把常量字符串写在前面。推荐:"abc".equals(str) 不推荐..

2020-07-29 19:35:44 165

原创 ArrayList类的使用,基本类型变为包装类

ArrayList当中的常用方法有:public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。但是对于其他集合(今后学习)来说,add添加动作不一定成功。public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。public E remove(int index):从集合当中删除元素,参数是索引编号

2020-07-29 14:46:34 208

原创 动态初始化数组中的默认值,JAVA内存换分

/*使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值。规则如下:如果是整数类型,那么默认为0;如果是浮点类型,那么默认为0.0;如果是字符类型,那么默认为'\u0000';如果是布尔类型,那么默认为false;如果是引用类型,那么默认为null。注意事项:静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成为了大括号当中的具体数值。*/...

2020-07-27 16:32:10 755 1

原创 jshell

什么时候会用到JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具。启动JShell工具,在DOS命令行直接输入JShell命令。JShell工具,只适合片段代码的测试,开发更多内容,建议编写在方法中。退出是/exit...

2020-07-23 20:37:13 95

原创 ++,--

A. 如果是【前++】,那么变量【立刻马上+1】,然后拿着结果进行使用。 【先加后用】B. 如果是【后++】,那么首先使用变量本来的数值,【然后再让变量+1】。 【先用后加】

2020-07-23 17:37:07 183

原创 JAVA注意事项

“”双引号中可不写东西''单引号中必须有一个字符,可以写空格,但是不能不写null不能直接打印基本数据类型 整数型 byte short int long 浮点型 float double 字符型 char 布尔型 boolean引用数据类型 字符串、数组、类、接口、Lambda 注意事项:1. 字符串不是基本类型,而是引用类型。2. 浮点型可能只是一个近似值,并非精确的值。3. 数据范围与字节数不一定相关,例如...

2020-07-23 17:34:29 111

原创 JAVA第一课

JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库 。JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。我们想要运行一个已有的Ja...

2020-07-23 15:12:38 82

转载 经验模态分解(EMD)

EMD最显著的特点,就是其克服了基函数无自适应性的问题。啥意思呢?回忆小波分析部分的内容,我们会知道小波分析是需要选定某一个小波基的,小波基的选择对整个小波分析的结果影响很大,一旦确定了小波基,在整个分析过程中将无法更换,即使该小波基在全局可能是最佳的,但在某些局部可能并不是,所以小波分析的基函数缺乏适应性。...

2020-07-01 17:21:06 17164 6

原创 平稳信号、非平稳信号

时间序列的平稳性,一般指宽平稳,即时间序列的均值和方差为与时间无关的常数,其协方差与时间间隔有关而也与时间无关。简单地说,就是一个平稳的时间序列指的是:遥想未来所能获得的样本时间序列,我们能断定其均值、方差、协方差必定与眼下已获得的样本时间序列等同。 反之,如果样本时间序列的本质特征只存在于所发生的当期,并不会延续到未来,亦即样本时间序列的均值、方差、协方差非常数,则这样一个时间序列不足以昭示未来,我们便称这样的样本时间序列是非平稳的。 形象地理解,平稳...

2020-07-01 16:08:22 7059

原创 QT第二课 工具栏、状态栏、铆接部件、核心部件

#include "mainwindow.h"#include <QMenuBar>#include <QToolBar>#include <QLabel>#include <QStatusBar>#include <QDockWidget>#include <QTextEdit>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ .

2020-06-03 16:47:01 348

原创 QT第一课

#include "mywidget.h" //包含头文件#include <QApplication> //包含QApplication头文件//程序入口 argc命令行变量的数量 argv命令行变量数组int main(int argc, char *argv[]){ QApplication a(argc, argv); //a 应用程序对象,对于Qt项目必须有应用程序对象,而且有且仅有一个 MyWidget w; //创建一个MyWidget对象 w..

2020-06-01 18:18:58 189

原创 排序方式

冒泡排序int arr[10] = { 7,4,2,3,5,8,9,6,1,10 }; int len = sizeof(arr) / sizeof(arr[0]) - 1; //冒泡排序 从小到大 //外层循环每次执行都能确定一个最大值 for (int i = 0; i < len; i++) { //内层循环内次执行能确定两个数值中的最大值 for (int j = 0; j < len - i; j++) { if (arr[j] > arr[

2020-05-14 16:56:08 99

原创 函数模块

template<lass T> // 告诉编译器 下面如果出现T不要报错,T是一个通用的类型#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;//交换int类型两个数字void mySwapInt( int & a, int & b){ int tmp = a; a = b; b = tmp;}//交换double数据void mySwapD..

2020-05-14 16:25:34 169

原创 C++单例模式案例

//创建主席类//需求 单例模式 为了创建类中的对象,并且保证只有一个对象实例class ChairMan{ //1构造函数 进行私有化private: ChairMan() { //cout << "创建国家主席" << endl; } //拷贝构造 私有化 ChairMan(const ChairMan&c) {}public:...

2020-05-07 20:31:38 85

原创 C++封装,构造、析构

C++语言的封装 将属性和行为作为一个整体,来表示生活中具体的事物 有访问权限 class 和struct唯一区别 默认权限不同 class默认是private struct 默认是public public 是类内类外都可以访问到 protected 类内可以,类外不可以(子类可以) private 类内可以,类外不可以 ...

2020-05-06 09:57:17 163

原创 正交

正交指相互独立,不可替代,并且组合起来可实现其它功能。正交英文是 orthogonal,本意是垂直,几何概念。线性代数中,两向量正交指它们内积为 0。而函数正交,是指两个函数相乘的积分为 0。...

2020-05-03 20:47:58 1946

原创 小波变换

小波变换的小波是什么?小波实在是太多了,一个是种类多,还有就是同一种小波还可以尺度变换,但是小波在整个事件范围的幅度平均值是0,具有有限的持续时间和突变的频率,可以是不规则的,也可以是不对称的,很明显正弦波不是小波。如下图: 傅里叶的缺点:不能刻画时间域上信号的局部特性。...

2020-05-03 20:41:34 704 2

原创 C++学习第一课

#define _CRT_SECURE_NO_WARNINGS#include <iostream> //标准输入输出流 in输入 out 输出//using namespace std;//使用命名空间 std 打开一个叫std房间//函数入口地址int main(){ // cout 标准的输出 // << 左移运算符 // endl 结束换行...

2020-04-29 10:52:17 129

原创 C与C++编程的区别

指针在C语言中可以强转;在C++中不可以强转。笔记不断补充中。。。

2020-04-29 10:25:19 1850

原创 功率谱估计法

经典谱估计法周期图法:周期图法是用杂波信号的傅里叶级数的模值平方在除以序列长度作为功率的度量。自相关谱估计法(BT法):BT法的思路是将随机过程的功率谱密度看做是其自相关函数的傅里叶变换,这也就是著名的维纳-辛钦定理。补充:后期在周期法和BT法中都用快速傅里叶变换(FFT)替代原来的离散傅里叶变换(DFT)。经典谱分析法存在分辨率差及方差性能不佳等问题。...

2020-04-29 10:23:40 1383

原创 维纳-辛钦定理

维纳-辛钦定理:一个信号的功率谱密度就是该信号自相关函数的傅里叶变换。作用:可先对影像的功率谱进行估计,经逆傅里叶变换就可以得到影像的相关函数,提供了一种估计相关函数的方法。由于信号的自相关函数计算量大,所以信号的自相关函数通常不直接计算,而是用信号的自功率谱密度的逆FFT变换来计算。...

2020-04-29 09:40:28 8545

转载 终于明白协方差和相关性的意义

协方差(covariance):该公式可以有如下理解:如果有X,Y两个变量,每个时刻的“X值与其均值之差”乘以“Y值与其均值之差”得到一个乘积,再对这每时刻的乘积求和并求出均值(其实是求“期望”,但就不引申太多新概念了,简单认为就是求均值了)。注:1.协方差可以反应两个变量的协同关系, 变化趋势是否一致。同向还是方向变化。2.X变大,同时Y也变大,说明两个变量是同向变化的,这时协方差就是...

2020-04-29 09:35:36 11073 5

转载 动态库与静态库

引:最近做了算法产品化相关的一些工作,其中涉及到算法库封装的相关工作,封装为动态库。总结动态库和静态库区别和对应使用原则。区别:静态库和动态库最本质的区别就是:该库是否被编译进目标(程序)内部。分别介绍:静态(函数)库一般扩展名为(.a或.lib),这类的函数库通常扩展名为libxxx.a或xxx.lib 。这类库在编译的时候会直接整合到目标程序中,所以利用静态函数库编译成的文件会...

2020-04-29 09:35:06 234

原创 概率密度函数

总结:概率密度和物理上的密度本质上是一样的。物体的某些位置密度大,证明在这些位置“比较重”。同理,在某一段上概率密度大,证明样本落在这一段的比重大。想想正态分布钟形曲线,中间概率密度大,证明取中间对的值最多。...

2020-04-17 10:33:54 199

原创 C语言函数指针

//决定的函数的类型应该是:函数的返回值 函数的参数列表void func(){ printf("hello world!");}//func函数名其实是代表函数的入口地址//如何去定义一个指向函数的指针int myfunc(int a,char b){ printf("int myfunc(int a,char b) !\n"); return 0;}void ...

2020-04-16 14:16:08 82

原创 在C++中能够调用C写的函数

在.h头文件中加入#ifdef __cplusplus extern "C"{#endif //C语言代码段#ifdef __cplusplus }#endif

2020-04-15 16:05:41 87

原创 !=和=!(错误)的区别

!=在C语言中,逻辑运算“不等于”的运算符;=!没有这个组合,是错误的;

2020-04-15 14:54:23 2195

空空如也

空空如也

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

TA关注的人

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