用vc60win32app写的可进行四则混合运算的计算器,使用状态方式保证输入符合规则,使用逆波兰表达式进行求值,可进行负数、小数运算。
供学习参考。
2024/8/1 19:58:05 1.72MB vc60 四则混合运算 计算器
1
现在我们回到LDA的原理上,我们在第一节说讲到了LDA希望投影后希望同一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大,但是这只是一个感官的度量。
现在我们首先从比较简单的二类LDA入手,严谨的分析LDA的原理。
    假设我们的数据集D={(x1,y1),(x2,y2),...,((xm,ym))}D={(x1,y1),(x2,y2),...,((xm,ym))},其中任意样本xixi为n维向量,yi∈{0,1}yi∈{0,1}。
我们定义Nj(j=0,1)Nj(j=0,1)为第j类样本的个数,Xj(j=0,1)Xj(j=0,1)为第j类样本的集合,而μj(j=0,1)μj(j=0,1)为第j类样本的均值向量,定义Σj(j=0,1)Σj(j=0,1)为第j类样本的协方差矩阵(严格说是缺少分母部分的协方差矩阵)。
    μjμj的表达式为:μj=1Nj∑x∈Xjx(j=0,1)μj=1Nj∑x∈Xjx(j=0,1)    ΣjΣj的表达式为:Σj=∑x∈Xj(x−μj)(x−μj)T(j=0,1)Σj=∑x∈Xj(x−μj)(x−μj)T(j=0,1)    由于是两类数据,因此我们只需要将数据投影到一条直线上即可。
假设我们的投影直线是向量ww,则对任意一个样本本xixi,它在直线ww的投影为wTxiwTxi,对于我们的两个类别的中心点μ0,μ1μ0,μ1,在在直线ww的投影为wTμ0wTμ0和wTμ1wTμ1。
由于LDA需要让不同类别的数据的类别中心之间的距离尽可能的大,也就是我们要最大化||wTμ0−wTμ1||22||wTμ0−wTμ1||22,同时我们希望同一种类别数据的投影点尽可能的接近,也就是要同类样本投影点的协方差wTΣ0wwTΣ0w和wTΣ1wwTΣ1w尽可能的小,即最小化wTΣ0w+wTΣ1wwTΣ0w+wTΣ1w。
综上所述,我们的优化目标为:argmaxwJ(w)=||wTμ0−wTμ1||22wTΣ0w+wTΣ1w=wT(μ0−μ1)(μ0−μ1)TwwT(Σ0+Σ1)wargmax⏟wJ(w)=||wTμ0−wTμ1||22wTΣ0w+wTΣ1w=wT(μ0−μ1)(μ0−μ1)TwwT(Σ0+Σ1)w    我们一般定义类内散度矩阵SwSw为:Sw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)TSw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)T    同时定义类间散度矩阵SbSb为:Sb=(μ0−μ1)(μ0−μ1)TSb=(μ0−μ1)(μ0−μ1)T    这样我们的优化目标重写为:argmaxwJ(w)=wTSbwwTSwwargmax⏟wJ(w)=wTSbwwTSww    仔细一看上式,这不就是我们的广义瑞利商嘛!这就简单了,利用我们第二节讲到的广义瑞利商的性质,我们知道我们的J(w)J(w)最大值为矩阵S−12wSbS−12wSw−12SbSw−12的最大特征值,而对应的ww为S−12wSbS−12wSw−12SbSw−12的最大特征值对应的特征向量!而S−1wSbSw−1Sb的特征值和S−12wSbS−12wSw−12SbSw−12的特征值相同,S−1wSbSw−1Sb的特征向量w′w′和S−12wSbS−12wSw−12SbSw−12的特征向量ww满足w′=S−12www′=Sw−12w的关系!    注意到对于二类的时候,SbwSbw的方向恒为μ0−μ1μ0−μ1,不妨令Sbw=λ(μ0−μ1)Sbw=λ(μ0−μ1),将其带入:(S−1wSb)w=λw(Sw−1Sb)w=λw,可以得到w=S−1w(μ0−μ1)w=Sw−1(μ0−μ1),也就是说我们只要求出原始二类样本的均值和方差就可以确定最佳的投影方向ww了。
2024/7/30 21:57:26 3KB MATLAB 人脸识别 LDA knn
1
关于php正则表达是的基本操作,正则函数全面讲解,精炼快速掌握!
2024/7/24 15:49:14 111KB php 正则表达式
1
从键盘输入中缀表达式,建立操作数与运算符堆栈,计算并输出表达式的求值结果。
基本要求:实现+,-,*,/四个二元运算符以及();
操作数范围为0至9。
提高要求:实现+,-两个一元运算符(即正、负号);
操作数可为任意整型值(程序可不考虑计算溢出)。
若两个整数相除,结果只保留整数商(余数丢弃);
每位同学可选择实现基本要求或者提高要求;
程序可不处理表达式语法错误。
1
本题库具有如下章节的选择填空题,题量多多,收获多多,是出试卷的好资料!二、数据类型、运算符与表达式(一)三、简单的C程序设计(一)四、逻辑运算与判断选取控制(一)五、循环控制(一)五、循环控制(二)七、函数(一)七、函数(二)七、函数(三)八、编译预处理九、指针(二)九、指针(一)十、结构体与共同体(一)十、结构体与共同体(二)十一、位运算十二、文件
2024/7/21 18:55:54 123KB C语言 选择题 填空题 程序设计
1
java使用后缀表达式实现计算器,其中有将一般数学运算式(7-9+5/5-5*6)转换成后缀表达式的方法,以及后缀表达式的求解方法
2024/7/21 12:02:20 23KB java计算器
1
本程序采用jsp+javabean+servlet结构开发,包含登录、商品管理两大模块;
用到的技术包括:jsp、servlet、javabea、过滤器、EL表达式、JSTL标签库、jdbc技术。
2024/7/21 11:17:34 2.19MB JSP Servlet JavaBean 毕业设计
1
【问题的描述】一个表达式和一棵二叉树之间,存在着自然的对应关系。
写一个程序,实现基于二叉树表示的算术表达式Expression的操作。
【基本要求】【一】【必做部分】假设算术表达式Expression内可以含有变量(a-z),常量(0-9)和二元运算符(+,-,*,/,^(乘幂))。
实现以下操作:(1)ReadExpr(E)――以字符序列的形式输入语法正确的前缀表达式并构造表达式E。
(2)WriteExpr(E)――用带括号的中缀表达式输出表达式E。
(3)Assign(V,c)――实现对变量V的赋值(V=c),变量的初值为0。
(4)Value(E)――对算术表达式E求值。
(5)CompoundExpr(p,E1,E2)――构造一个新的复合表达式(E1)p(E2)。
【二】【选做部分】(1)以表达式的原书写形式输入,支持大于0的正整数常量;
(2)增加常数合并操作MergeConst(E)——合并表达式E中所有常数运算。
例如,对表达式E=(2+3-a)*(b+3*4)进行合并常数的操作后,求得E=(5-a)*(b+12)【测试数据】1) 分别输入0;
a;-91;+a*bc;+*5x2*8x;+++*3^*2^x2x6并输出。
2) 每当输入一个表达式后,对其中的变量赋值,然后对表达式求值。
3) 还有很多测试的数据,详细请见附上的文件Test.txt。
1
武汉大学国际软件学院编译原理作业C++实现计算器+—*\带括号运算[作业内容和要求]设计和实现一个计算器,实现整数、实数的加减乘除四则运算,要求:1、输入字符串(直接从控制台输入、或采用文件输入),可识别的合法单词(token)为:整数(不以0开头)、实数(不以0开头)、‘+’、‘-’、‘*’、‘/’,‘(’、‘)’,‘=’。
以‘=’作为输入结束符。
2、输出要求:检查中缀表达式表示的加减乘除运算是否符合正常的表达式规则,如果中缀表达式合法,则输出计算结果;
如果不合法,则输出出错提示。
2024/7/6 20:15:19 1.65MB 计算器 c++ 国际软件学院 编译原理
1
上传文件为百度云链接,文件太大,自行下载。
《C++Primerplus》是2015年人民邮电出版社出版的图书,作者是史蒂芬·普拉达。
该书讲述了C语言基础知识和C++新增的特性。
C++是在C语言基础上开发的一种集面向对象编程、通用编程和传统的过程化编程于一体的编程语言。
本书是根据2003年的ISO/ANSIC++标准编写的,通过大量短小精悍的程序详细而全面地阐述了C++的基本概念和技术。
全书分17章和10个附录,分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑操作符、函数重载和函数模板、内存模型和名称空间、类的设计和使用、多态、虚函数、动态内存分配、继承、代码重用、友元、异常处理技术、string类和标准模板库、输入/输出等内容。
49B C++
1
共 527 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡