- 博客(96)
- 收藏
- 关注
原创 多元散射校正预处理方法原理公式及python实现代码
是一种用于光谱数据预处理的技术,主要用于消除由于散射效应和颗粒大小差异引起的光谱基线漂移和幅度变化。是将测量的光谱校正到一个基准光谱上,从而减少这些不相关的变化。基准光谱通常是所有测量光谱的平均光谱。选择平均光谱作为参考光谱可以很好地代表整个数据集的特征。① 计算所有光谱数据的均值作为基准光谱:② 对每个测量光谱进行线性回归:对于每个测量光谱X,用最小二乘法拟合一个线性模型:③ 计算校正后的光谱:使用得到的a和ba. 计算均值:计算每个测量光谱X的均值和基准光谱的均值。
2024-06-11 12:17:28
584
原创 WPF 实现点击按钮跳转页面功能
例如,在一个具有多个区域的应用程序中,每个区域可以单独管理自己的视图,使得应用程序的不同模块之间可以相互独立地开发、测试和维护。Views文件夹中一共有四个.xaml文件,除了主窗口的MainView.xaml外,其他三个分别是ViewA.xaml、ViewB.xaml 和 ViewC.xaml,分别对应于点击主窗口中按钮后的转换窗口,其中只有一行文本内容。在 Prism 中,模块是一种组织和管理功能的机制,通常使用模块将应用程序分解为可重用和独立的部分,从而简化开发和维护。
2023-09-30 19:54:59
4533
1
原创 WPF 03
当update按钮点击之后只有使用动态资源的btn2边框颜色改变,而使用静态资源的btn1不发生改变。需要在App.xaml中添加该资源字典。
2023-09-30 19:54:04
1593
原创 WPF 01
每见到一个标签,就意味着xaml为我们声明一个标签对应的对象。属性标签是由类名+点+属性名构成的。缺点:没办法赋非常复杂的值。画出来的是一个三角形。
2023-09-30 19:52:39
1181
原创 c# 委托 事件 lambda表达式
/同上//同上,与上面相比下面直接调用方法更常用。dele1();");//查看委托是否是类//一定是事件拥有者的内部逻辑触发了该事件set;set;//声明委托类型 为声明的order事件用的//当一个委托专门用来声明事件时,名称一般为事件名+EventHandler//声明一个委托类型的字段 引用事件处理器的addremoveset;//事件要通过委托来做一个约束,这个委托。
2023-09-30 12:54:08
283
原创 C# 类型、变量与对象
静态变量(静态字段)、实例变量(成员变量、字段)、数组元素、值参数、引用参数、输出形参、局部变量狭义的变量就是局部变量内存的最小单位是比特(byte),8个比特为1个字节内存为每个字节准备一个编号。内存地址就是一个字节在计算机科学当中的编号。byte类型数据的内存大小:8byte,即1个字节,范围:0-255(无符号数)sbyte,所占内存大小与byte相同,但是有符号数。范围:-128-127当存入正数时首位为0,其余转二进制;若存入负数,则先将其正数转二进制,然后按位取反再加1ushort, 占16by
2023-09-30 12:52:52
507
原创 C++中的Template
建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。typename -- 表明其后面的符号是一种数据类型,可以用class代替。typename -- 表明其后面的符号是一种数据类型,可以用class代替。作用:建立一个通用类,类中的成员 数据类型可以不具体制定,用一个。T -- 通用的数据类型,名称可替换,通常为大写字母。自动类型推导,必须推导出一致的数据类型T,才可以使用。T -- 通用的数据类型,名称可替换,通常为大写字母。模板必须要确定出T的数据类型,才可以使用。
2023-09-24 00:51:59
135
原创 STL-函数对象、谓词、常用算法
重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数本质:函数对象(仿函数)是一个类,不是一个函数特点:谓词谓词概念返回bool类型的仿函数称为谓词如果operator()接受一个参数,那么叫做一元谓词如果operator()接受两个参数,那么叫做二元谓词二元谓词之前已经提过,排序的方式修改STL内建了一些函数对象分类:算术仿函数关系仿函数逻辑仿函数用法:这些仿函数所产生的对象,用法和一般函数完全相同使用内建函数对象,需要引入头文件#incl
2023-09-24 00:43:14
107
原创 STL-常用容器
/同operator+=(const string& str)//把字符串s的前n个字符链接到当前字符串结尾。//把字符串s的前n个字符赋给当前的字符串。//把字符串s赋给当前的字符串。//把字符串s赋给当前字符串。
2023-09-24 00:37:24
106
原创 C++的文件操作
注意:读数据方式3中getline(ifs, buf)需要引用头文件#include<string>例如:用二进制方式写文件 ios:: binary | ios:: out。参数解释:字符指针buffer指向内存中一段存储空间,len是读写的字节数。读文件可以利用ifstream,或者fstream类。二进制方式读文件主要利用流对象调用成员函数read。注意:文件打开方式可以配合使用,利用 | 操作符。ofs.open("文件路径", 打开方式);ifs.open("文件路径", 打开文件);
2023-09-24 00:09:09
280
原创 C++ 友元、重载、继承、多态
只能利用全局函数重载左移运算符,因为如果利用成员函数重载,左移运算符 p.operator<<(cout) 简化版本为p<<cout,无法实现cout在左侧。多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码。在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容。继承中,先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反。语法:class 类:继承方式 父类1,继承方式 父类2。如果通过子类对象 访问到父类中同名成员,需要加作用域。
2023-09-23 23:56:26
189
原创 机器学习之弹性网络(Elastic Net)
ElasticNet是一个训练时同时用ℓ1和ℓ2范数进行正则化的线性回归模型,lasso是使用ℓ1范数进行正则化的线性回归模型。
2023-08-03 12:47:11
1114
原创 querySubObject(“Cells(int,int)“, j,i)->property(“Value“)读不到数据问题
worksheet->querySubObject("Cells(int,int)", j,i)->dynamicCall("Value").toString();
2023-07-29 23:45:40
601
原创 剑指 Offer 34. 二叉树中和为某一值的路径
当路径为根节点到叶节点形成的路径且各节点值的和等于目标值 sum 时,将此路径加入结果列表。给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22。路径记录: 当 root 为叶节点且路径和等于目标值 ,则将此路径 path 加入 res。输出:[[5,4,11,2],[5,8,4,5]]
2023-05-11 13:43:34
406
1
原创 剑指 Offer 33. 二叉搜索树的后序遍历序列
根据上面两个定义可知,根节点是数组postorder的最后一个节点,如果此数组代表的是二叉搜索树,则postorder的剩下值中必会左半部分为会小于根节点的值,右半部分大于根节点的值。此步骤使用递归来实现。遍历后序遍历的 [l,r] 区间元素,寻找第一个大于根节点的节点,索引记为 m。此时,可划分出左子树区间 [l, m−1] 、右子树区间 [m,r−1] 、根节点索引 r。根节点的左子树中的值均小于根节点的值,右子树的值均大于根节点的值。输入: [1,6,3,2,5]输入: [1,3,2,6,5]
2023-05-10 13:34:16
523
原创 剑指 Offer 28. 对称的二叉树
判断两节点 L.leftL.left 和 R.rightR.right 是否对称,即 isSame(L.left, R.right);判断两节点 L.rightL.right 和 R.leftR.left 是否对称,即 isSame(L.right, R.left);返回值: 两对节点都对称时,才是对称树,因此用与逻辑符 && 连接。输入:root = [1,2,2,null,3,null,3]例如,二叉树 [1,2,2,3,4,4,3] 是对称的。输入:root = [1,2,2,3,4,4,3]
2023-05-08 16:39:31
585
原创 剑指 Offer 26. 树的子结构
若树 B 是树 A 的子结构,则子结构的根节点可能为树 A 的任意一个节点。树 B 是 树 A 右子树的子结构,对应 isSubStructure(A.right, B)。树 B 是 树 A 左子树的子结构,对应 isSubStructure(A.left, B);判断树 A 中以 An为根节点的子树是否包含树 B.(对应函数 isSub(A, B))判断 A 和 B 的左子节点是否相等,即 isSub(A.left, B.left);以节点 A 为根节点的子树包含树 B,对应 isSub(A, B);
2023-05-08 14:16:53
389
原创 剑指 Offer 07. 重建二叉树
接下来根据找到的中序遍历的左子树的个数,找到在前序遍历中的左子树。其中前序遍历中的左子树是左子树的前序遍历;而中序遍历中的左子树是左子树的中序遍历。根据前序遍历和中序遍历的特点,前序遍历的第一个节点就是根,在中序遍历中找到根的位置,左边是根的左子树,右边是根的右子树。,依次遍历中序结构,将值和位置对应到哈希表中。递归结束条件:子树个数为0。输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。获取中序遍历根节点位置的方法是创建一个。
2023-05-07 12:19:39
80
原创 label与one-hot独热编码向量之间的相互转换
按列时,第一列最大值是5,索引值为1;第二列最大值是7,索引值为1;第三列最大值是8,索引值为2;第三列最大值是7,索引值为0.按行时,第一行最大值是7,索引值为3;第二行最大值是7,索引值为1;第三行最大值是8,索引值为2.keras中to_categorical函数:将类别向量转换为二进制(只有0和1)的矩阵类型表示。也就是将类别向量转换为独热编码。
2023-04-11 14:23:42
502
原创 剑指 Offer 35. 复杂链表的复制
当创建好新链表后,对两个链表同时循环,由于两个链表的任意节点位置是相同的,故当循环到初始链表某节点的任意节点时,此时新链表循环到的地方也是某节点的任意节点。插入节点后找每个节点的任意节点,每个新插入的节点的任意节点都为前一个节点的任意节点的下一个。最后再将拼接后的链表拆成两个链表。输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]官方思路:不新建链表,而是在原链表中插入节点,如下图。
2023-03-30 14:52:52
111
原创 进程和线程详解
一次执行一个程序效率慢,比如有一个会读取硬盘文件数据的程序被执行了,那么当运行到读取文件的指令时,就会去从硬盘读取数据,但是硬盘的读写速度是非常慢的,这时如果 CPU 等着硬盘返回数据的话, CPU 的利用率非常低。故引入的思想,CPU 会从一个进程快速切换至另一个进程,其间每个进程各运行几十或几百个毫秒。这会产生并行的错觉,其实这是并发。并发是一个处理器交替执行多个任务。并行是两个处理器分别执行两个任务。
2023-03-30 10:37:44
283
原创 剑指 Offer 06. 从尾到头打印链表
循环条件:每次获取除当前节点外后面所有节点倒序后的数组,然后再在数组中加入当前节点。输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。先将链表中数据依次压栈,然后再依次从栈中取出数据到数组中。终止条件:head==None时返回空列表。
2023-03-28 17:27:07
89
原创 剑指 Offer 30. 包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。创建两个栈,分别为数据栈 A 和辅助栈 B,栈 A 用于存储所有元素,栈 B 中存储栈 A 中所有。--> 返回 -3.minStack.min();--> 返回 -2.,即 min() 函数只需返回栈 B 的栈顶元素即可。(包含重复元素) 的元素,则。
2023-03-28 11:01:13
302
原创 1615. 最大网络秩
两座不同城市构成的 城市对 的 网络秩 定义为:与这两座城市 直接 相连的道路总数。[i][j] ,使用一个规模为n × n的数组进行统计,存在记为true,不存在记为false;网络秩是与这两座城市直接相连的道路总数,因此首先要分别得到城市i和城市j相连的道路数,记为。整个基础设施网络的 最大网络秩 是所有不同城市对中的 最大网络秩。统计任意两个城市之间是否存在相连道路,枚举所有城市对,计算网络秩。[i][j], 枚举所有城市对,找到最大网络秩。统计每个城市的直接相连道路数,使用一个数组。
2023-03-15 22:32:45
350
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人