自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用矩阵实现二次回归拟合

【代码】用矩阵实现二次回归拟合。

2024-03-01 08:07:24 138 1

原创 非线性拟合(C++版)(转载)

最近做的项目有用到非线性拟合这个东西,然后查阅多方面资料,发现大部分人的做法都是通过矩阵的线性求解去完成这个任务。于是,通过多方面的查找,终于在GitHub找到了一个可实现非线性拟合的C++代码,并且不需要下载任何其他的库。拿Order = 3为例,此时非线性拟合的方程为一元二次方程,方程可理解为 y = a1 + a2*x +a3 *x^2,那么返回的Coeff[0] 就是a1的值,Coeff[1] 就是a2的值,以此类推。

2024-02-21 15:30:19 413

转载 ESP8266笔记----MQtt库PubSubClient.h

PubSubClient.h 是一个用于 Arduino 的 MQTT 客户端库。它允许你将 Arduino 连接到 MQTT 服务器,并通过 MQTT 协议进行通信。其中,topic 是你要发布消息的 MQTT 主题,message 是你要发布的消息内容。其中,clientId 是你为 MQTT 客户端指定的唯一标识符。其中,callback 函数会在收到消息时被调用。其中,topic 是你要订阅的 MQTT 主题。

2023-08-07 14:33:31 1330 1

原创 笔记--笔试真题

4.字符串倒置:(注意:是倒置,而不是直接倒置输出)原字符串为:char *str =“l am Chinese”1.有一个整形数组:int arr[] (数组的值由外部输入决定),一个整型变量:x(也由外部输入决定)。例如:调用DigitSum(1729),则返回1+7+2+9,它的和是19。4)无需考虑超出新数组长度后面的元素,所以,请返回新数组的长度。1)删除数组中与x的值相等的元素2)不得创建新的数组。原数组的有效部分变为:{1,2,5,7,5,9}例如:{1,2,3,5,7,3,5,9)x=3。

2023-04-06 07:54:54 912 3

原创 基于C的C++学习day6

智能指针是也是类模板,是在栈上创建对象。new()出来的对象指针在栈上。当智能指针对象的生命周期结束。就会在析构函数中释放掉管理对象的内存,防止内存泄漏。new出来的对象需要手动销毁,如果忘记销毁就会造成内存泄漏。可以用多重捕获,增加异常可以正常捕获的概率。catch可以捕获任意类型的异常。编译的时候没有错,语法是正确的,但是逻辑出现了问题。直接用基类except都可以捕获到错误,但看不出具体什么错误。为了增加错误捕获的概率,catch捕获的异常可以写多个.exception是所有异常的基类。

2023-02-23 19:35:57 62

原创 基于C的C++学习day5

list不能用 begin()+数字 的形式访问到元素,因为它是链式储存的,不是连续空间。内部是双向链表来实现的,可以高效的插入和删除。除了让编译器根据传入参数类型替换Ts外,也可以告知使用何种类型,实例化模板。用模板实现泛型编程,泛型编程中最成功的案例就c++中的标准模板库STL。方法是通用的,可以直接调用。顺序容器:不是按传入数据大小排序的 而是可以指定传入的位置。数据是成对出现,前面的叫键,后面叫值。关联容器: 传入的数据进行排序 没法指定传入的位置。常见的关联容器map。map是键和值对应存在的。

2023-02-23 19:25:14 63

原创 基于C的C++学习day4

需要调用基类的代码来完成派生类中基类代码内存的开辟。派生类的任意一个构造函数,都必须直接或者间接调用基类的任意一个构造函数。根据传入对象的不同,虽然调用同样接口,但 选择不同的代码实现。派生类私有继承之后 属性在派生中都变成私有.也就是下方的Son类中的属性都变成私有。义的, 就调用哪个对象类型中的方法。析构函数没有进行覆盖。上面派生类没有继承基类的带参的构造函数。public 本类中可以访问 在子类中可以访问 全局中也可以访问。同样的内容,父类先创建,然后派生类。不管哪种继承方式,基类中私有的成员属性。

2023-02-21 19:46:29 50

原创 基于C的C++学习day3

写一个类的时候,默认会有构造函数,拷贝函数,析构,赋值函数。赋值运算符重载函数属于类内,是成员函数,所以它的重载只能通过显示的成员函数重载,不支持友元运算符重载。●运算符重载是针对新类型数据的实际需要对原有运算符的功能进行扩充,因此重载之后的功能应该与原有的功能类似,避免没有目的地使用运算符重载。属性有指针类型的时候,需要赋值运算符重载。其他运算符:[]、()、->、,、new、delete、new[]、delete[]赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、=

2023-02-20 19:49:16 67

原创 基于c的c++学习day2

破坏对象之间的独立性,就需要每个对象创建一个属于自己的空间。如果不写系统会有默认的构造,如果给出就没有默认的构造函数。对象之间相互独立 对象之间的属性也是独立的。如果静态成员函数声明与定义分离的时候,只需要在声明出使用static关键字。类的成员在类内做声明,类外定义时,类外定义需要加上作用域限定符。析构函数在对象销毁 做善后工作,回收new方式创建的资源。两个对象的成员变量保存同一个地址,指向同一片地址。函数返回值时 类的引用的时候,需要返回*this。程序运行的时候创建,程序结束的时候销毁。

2023-02-17 20:29:21 138

原创 基于c的c++学习day1

C语言面向过程:自己洗衣服自己做饭自己扫地事情分条目和步骤,一步步来做。符合计算机的思维方式。执行效率高,开发效率低C++面向对象:找个对象让Ta来做调用不同的对象来处理事物,对象之间相互调用。符合人的思维方式执行效率稍低,开发效率高C语言核心是怎么来做C++核心是让谁来做。

2023-02-16 20:03:44 79

原创 Linux下I/O模式---IO多路复用(poll)2

函数poll也能实现io多路复用。承接上次select后面。

2023-02-09 21:27:27 65

原创 Linux下I/O模式---IO多路复用(select)1

4.当这些文件描述符中有一个准备好I/O操作(排好队)了,函数就返回(停止阻塞)特点:让每一个输入输出流及时得到响应,使cpu不在一个输入输出流处阻塞。个人理解:让输入输出流“排好队”等着cpu处理,而不是让cpu等他们。6.CPU做出对应的逻辑处理(办事,办事有时候还需要“本人”配合)1.先构造一张有关文件描述符的表(集合,数组)(类似银行大厅)3.调用相应的函数(select、poll、epoll)阻塞。5.判断是哪一个或哪些文件描述符产生了I/O操作(要办的事)实现IO多路复用的方式。

2023-02-02 20:51:32 107

原创 二叉树--如何根据前序和中序排列出整个二叉树

现在看C的右孩子IFJ ,前序F在前F是根,根据中序I在F左J在F右,这个分支也结束了。首先,前序的第一个A一定是根节点,再根据中序判断出根节点无左分支(如果根节点左边有分支大的话也能根据中序中在根节点左边的字母在前序中划分出根的左分支和右分支)把HECIFJ看作一个整体,根据前序C是其根,中序HE是C的左孩子,前序E是根,中序H在E的左边,那么可以得出H是E的左孩子,这个分支就完了。看前序D在前,所以D为根,看中序D没有左分支,再看前序那么G就是D的右分支,中序K在G左,那么K为G的左分支。

2022-12-30 09:07:40 356 1

原创 Arduino课堂笔记----关于非自锁按键控制小灯亮灭

@#define KEY 5 #define LED 4 int keyFlag = 0; void setup() { Serial.begin(9600); pinMode(KEY,INPUT); pinMode(LED,OUTPUT); } void loop() { if(digitalRead(KEY) == 1){ delay(10); if(digitalRead(KEY) == 1){ keyFlag = 1 - keyFlag ; Serial.println(keyFlag); whil

2021-04-21 10:26:29 666

空空如也

空空如也

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

TA关注的人

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