- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 多线程概念
多线程概念并行:同时运行并发:并行代码结构单核:某时刻只能执行某一个任务,是伪并发进程:运行起来的程序线程进程可以包含多个线程主线程在main开始,main结束进程结束其他线程,入口可以是函数,类,lambda表达式进程结束,所有线程必须结束进程vs线程进程之间数据不容易共享不同线程之间很容易共享线程挂掉会影响进程线程可以上锁,其他线程必须等待他结束才能使用这一块内存单进程单线程单进程多线程多进程多线程并发多进程并发:一台设备采集,另外一台设备处理多线程并发:t
2021-05-07 11:13:59
160
原创 Cmake编写
Cmake编写cmakelist :每个目录可以放一个cmakelist所有目录可以放一个cmakelistcmake区分指令cmake_minmun_required指定最小的cmake版本,如果版本最小project(test)设置当前项目的名称cmake_build_typedebug调式模式release发布信息relwithdebinfo 类似release,但是会发布调试信息minsizerel 特殊的releasecmake_cxx_flags编
2021-05-07 11:12:46
457
1
原创 namespce使用
1、命名空间的概述在c++中,名称(name)可以是符号常量、变量、函数、结构、枚举、类和对象等等。工程越大,名称互相冲突性的可能性越大。另外使用多个厂商的类库时,也可能导致名称冲突。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入关键字namespace(命名空间/名字空间/名称空间),可以更好地控制标识符的作用域。2、命名空间的定义//定义一个名字为A的命名空间(变量、函数)namespace A { int a = 100;
2021-04-21 16:18:12
266
原创 联合概率和条件概率区别
为什么从定义上看,觉得联合概率和条件概率是一个意思?P(A|B) 和 P(AB) 这俩真的不是一个东西吗??=碎碎念开始,正文请跳往第2分割线===虽然我产生了这种疑问,但我的直觉告诉我:大概是个傻逼。于是我秉承着认真学习打破沙锅问到底的原则重新做人!!打开了网页开始搜索:但这对我的理解并没有什么卵用。于是我来到了这个曾经教会我什么是期权的地方 —— 逼乎,来寻求一个我低智大脑可以理解的答案。事实证明,经过各位大佬的花式回答举例(我爱扑克牌大佬的举例!!)经过了一整个小时的左思右想我终于差不多想明
2021-04-21 16:17:12
2791
6
原创 似然(likelihood)和概率(probability)的区别与联系
似然(likelihood)和概率(probability)的区别与联系https://blog.youkuaiyun.com/songyu0120/article/details/85059149
2021-04-21 16:16:27
229
原创 极大似然估计法
如何通俗地理解概率论中的「极大似然估计法」?总结:以过去大量的相同事件来判断目前正在发生的类似事件,这就是极大似然我们假设硬币有两面,一面是“花”,一面是“字”。一般来说,我们都觉得硬币是公平的,也就是“花”和“字”出现的概率是差不多的。如果我扔了100次硬币,100次出现的都是“花”。在这样的事实下,我觉得似乎硬币的参数不正常。极有可能两面都是“花”!这种通过事实,反过来猜测硬币的情况,就是似然。通过事实,推断出最有可能的硬币情况,就是最大似然估计。1 概率vs似然让我们先来比较下概率
2021-04-21 16:15:46
1130
原创 概率论入门:边缘化
概率论入门:边缘化本文将通过解决一个相当简单的最大似然问题,介绍**边缘化(marginalisation)**的概念。本文涉及的一些基本概率概念可以参考本系列的第一篇文章。什么是边缘化边缘化是一种通过累加一个变量的可能值以判定另一个变量的边缘分布的方法。这听起来有点抽象,让我们看一个例子。假设我们想知道天气是如何影响英国人的幸福感的,也就是P(幸福感∣天气)P(幸福感|天气)P(幸福感∣天气)假定我们具有衡量某人的幸福感所需的定义和设备,同时记录了某个英格兰人和某个苏格兰人所处位置的天气。
2021-04-21 16:14:05
1333
原创 多线程的几种创建方式
简介自从c++11开始,使用std::thread类创建线程是非常方便的。类thread关联的对象构造后立即执行(当然会有操作系统调试延迟)作为构造函数参数的函数的返回值将被忽略如果函数通过抛出异常终止,则调用std::terminate但函数可通过std::promise或通过修改共享变量(可能需要同步,请参见std::mutex和std::atomic)将其返回值或异常传达给调用方注意以下几点:线程对象是不可复制的,只能移动线程对象要么被join,要么detach,否则可能会导致崩
2021-04-21 16:12:44
110
原创 C++ 一篇搞懂多态的实现原理
C++ 一篇搞懂多态的实现原理虚函数和多态01 虚函数在类的定义中,前面有 virtual 关键字的成员函数称为虚函数;virtual 关键字只用在类定义里的函数声明中,写函数体时不用。class Base { virtual int Fun() ; // 虚函数};int Base::Fun() // virtual 字段不用在函数体时定义{ }02 多态的表现形式一「派生类的指针」可以赋给「基类指针」;通过基类指针调用基类和派生类中的同名「虚函数」时:若该
2021-04-21 16:10:38
131
原创 C++初步学习
typora的使用黑马程序员讲义:视频基础核心提高数据类型整形整形字节大小取值范围int4字节(-231~231-1)short2字节(-215~215-1)long4字节(-231~231-1)long long8字节(-263~263-1)sizeof关键字sizeof读取变量的字节大小#include <iostream>using namepace std;int main(){
2021-04-21 16:09:25
437
转载 如何理解计算机视觉的仿射变换?
仿射变换先理解一下齐次坐标的表示方法。通常上,一向量A(x,y,z)是表示三维的图片,但是往往存在一个视觉误差理解。—两条平行的直线在无穷远处就会表现出相交的情况。那么为了避免这种情况。将3维的坐标使用4维的坐标表示。此刻A(x,y,z,w)。4D->3D==A(x/w,y/w,z/w)=A(x,y,z,w)。还有一种更为详细的解释齐次坐标系的理解:https://blog.youkuaiyun.com/u012999985/article/details/83024978这里简述一下:一个向量v以及
2021-03-09 22:13:00
570
原创 C++理解(5)--C++中类的静态成员函数
问题:随时可以获取当前对象的数目。#include <stdio.h>class Test{private: static int cCount;public: Test() { cCount++; } ~Test() { --cCount; } int getCount() { return cCount; }};int Test::cCount =
2021-03-01 19:25:29
158
原创 C++理解(4)--C++的二阶构造模式
C++的二阶构造模式首先明白构造函数是什么:类的构造函数用来对象的初始化构造函数与类同名并且没有返回值构造函数的在创建对象时候自动被调用先抛出问题:构造函数执行结果是什么?构造函数中加上return会发生什么?构造函数的执行结束是否意味着对象构造成功?先上代码:#include <stdio.h>class Test{ int mi; int mj;public: Test(int i, int j) { mi
2021-02-25 20:43:24
154
原创 C++理解(3)--C++中类的静态成员变量
C++理解(3)–C++中类的静态成员变量问题:统计在程序运行期间某个类的对象的数目保证程序的安全性(不能使用全局变量)随时可以获取当前对象的数目这里有个错误的示范:#include <stdio.h>class Test{private: int mCount;public: Test() : mCount(0) { mCount++; } ~Test() { --mCount;
2021-02-23 19:44:05
176
1
原创 牛顿最优法(多维变量)
牛顿最优法(多维变量)最优化问题其实就是求解一个目标函数 f(x)的极大极小值问题,即求解方 程 f '(x) = 0 的解。
2021-02-22 12:52:00
1086
1
原创 C++理解(2)--c++中 隐藏this指针与成员函数
问题:成员函数与成员变量隶属于具体的对象吗?先解释一下对象是什么?对象是成员函数与成员变量组成的。下面是代码:#include <stdio.h>class Test/类{ int mi;public: int mj;//成员变量 Test(int i);//成员函数 Test(const Test& t); int getMi(); void print();};Test::Test(int i){ m
2021-02-22 12:42:07
244
原创 C++理解(1)--c++中的对象的构造顺序与析构顺序
C++理解(1)–c++中的对象的构造顺序与析构顺序问题:当程序中存在多个对象时,如何确定这些对象的析构顺序?一.单个函数创建时构造函数的调用顺序1.调用父类的构造过程2.调用成员变量的构造函数(调用顺序与声明顺序相同)3.调用类自身的构造函数析构函数与对应构造函数的调用顺序相反!多个对象析构时析构顺序与构造顺序想反**注解:**mian函数之前是可以执行代码的。因为mian函数之前,执行器主要做:配置堆栈初始化静态与全局变量初始化全局变量赋值运行全局构造器将mian函数的两个
2021-02-21 19:10:57
695
原创 梯度下降法
什么是梯度下降法?梯度下降法是用来计算函数最小值的。它的思路很简单,想象在山顶放了一个球,一松手它就会顺着山坡最陡峭的地方滚落到谷底。 梯度下降的多元函数的先介绍一下原理思路:1. 梯度、向量内积、偏导数什么是梯度?为什么梯度方向就是函数上升最快的方向?又为什么有梯度下降的说法?他们有什么联系?讲梯度的定义之前,先说明一下梯度它不是一个实数,他是一个向量,即有方向有大小。这个向量有什么特点呢?梯度:设一个多元函数为f(x,y),在某点(x0,y0)的梯度为这点的偏导数:∇f
2021-02-19 17:34:40
192
原创 k60 的DHT11时序写法注意
第一次发帖,不怎么会,承认了。就仅仅是记录一下心得下面是时序图初始化时序图 2.读取数据时序图以上的图是从别人的博客复制的。下面看一下我的void DHT11WriteStart(void)//开始标志{ DHT11_GPIO_OUT(); //输出 gpio_set (DTH11_PORT, 1); gpio_se...
2018-07-17 21:12:56
1781
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人