优化MCKD相关参数时,可以应用粒子群优化算法PSO,但是如何控制参数取整数是个问题?直接给定整数取值范围,仍然可以优化参数,但时间很长。
2024/8/23 10:29:20 27KB MCKD,PSO
1
GMP大数库的中文使用手册,以及已经编译好的GMP大数库,仅适用于VC6.0,并有自己写的生成随机大素数,大整数模运算,以及MillerRabin素数测试算法。
2024/8/22 15:25:48 2.86MB VC6.0 GMP大数库
1
书名:有限元方法的数学基础图书编号:1040680出版社:科学出版社定价:20.0ISBN:703013478作者:王烈衡出版日期:2005-06-30版次:1开本:大32开简介:本书为《中国科学院研究生教学丛书》之一。
本书是作者最近十多年为中国科学院研究生院、北京大学以及中国科学技术大学(合肥)研究生开设课程的讲稿基础上发展起来的,试图提供有限元方法比较完整的数学基础,主要包括变分原理、Sobolev空间、椭圆边值问题、有限元离散、协调有限元方法的误差分析、数值积分影响、等参数有限元、非协调有限元、混合有限元法、多重网格法、多水平方法、区域分解法等内容。
本书内容全面,材料丰富,深入浅出,用尽可能初等的方法论述一些理论结果。
本书适合高等院校计算数学和应用数学专业的研究生及高年级本科生,也可作为有兴趣于数学理论方面的工程师的参考书。
目录:引论第1章变分原理1·1可微二次凸泛函的极小化问题1·2不可微凸泛函的极小化问题1·3多元函数微分学第2章Sobolev空间2·1Lebesgue积分2·2广义(弱)导数2·3Sobolev空间2·4嵌入定理2·5迹定理2·6Sobolev空间中的Green公式2·7等价模定理第3章椭圆边值问题3·1阶椭圆型方程边值问题3·2线弹性边值问题3·3变分不等式3·4四阶椭圆边值问题第4章有限元离散4·1有限元离散的基本特性4·2三角形单元4·3矩形单元4·4四阶问题的协调有限单元4·5记号及一般概念第5章协调有限元方法的误差分析5·1收敛性的一般考虑5·2Sobolev空间中的分片多项式插值5·3多边形区域上二阶问题的有限元误差5·4有限元空间中的反不等式5·5有限元方法的非整数阶误差估计5·6非光滑函数的插值(C1ément插值)第6章数值积分影响,等参数有限元6·1有限元方法中的数值积分6·2数值积分下的抽象误差估计6·3相容误差估计6·4曲边区域的有限元逼近6·5等参数有限元6·6等参元的插值误差6·7等参元的误差估计第7章非协调有限元7·1抽象误差估计7·2二阶问题的非协调元7·3阶问题的非协调元7·4平面弹性问题的有限元方法及闭锁问题第8章混合有限元法8·1混合变分形式8·2Babuska-Brezzi理论8·3阶椭圆问题的混合有限元方法8·4Stokes问题的混合有限元方法第9章多重网格法9·1多重网格法的思想9·2W循环多重网格法的收敛性9·3V循环多重网格法的收敛性9·4套迭代及其工作量的估计9·5瀑布型多重网格法第10章多水平方法10·1分层基方法10·2BPX多水平方法第11章区域分解法11·1经典Schwarz交替法11·2两水平加性Schwarz方法11·3非重叠型Schwarz方法11·4D-N交替法11·5子结构方法参考文献
2024/8/21 17:37:01 4.18MB 数学,有限元
1
设二叉排序树的二叉链表存储结构的类型定义如下:typedefstructnode{intdata;//用整数表示一个结点的名structnode*LChild,*RChild;//左右指针域}BSTNode,*BSTree;设计算法并编写程序求解以下几个问题。
8121410731562415119131613(1)键盘输入一个元素序列创建一棵二叉排序树,输出该二叉排序树的中序遍历序列;
例如,若输入45,24,55,12,37,53,60,23,40,70则创建的二叉排序树为:输出结果为:12232437404553556070(2)在(1)中所得的二叉排序树中插入一个值为58的结点,再输出它的中序遍历序列,输出结果为:1223243740455355586070(3)在(1)中所得的二叉排序树中删除值为45的结点,再输出它的中序遍历序列,输出结果为:12232437405355586070(4)利用(1)中所得的二叉排序树的所有叶子结点构造一个带头结点的单链表L。
要求不能破坏这棵二叉排序树。
所得的单链表L如下。
输出该链表各结点的值,输出结果为:23405370(5)设计算法将(1)中所得的二叉排序树的左右子树进行交换,由于二叉树是一种递归定义,所以子树的左右两棵子树也要相交换,依此类推。
最后输出所得到的二叉树的中序遍历序列。
例如,经过上述操作后,(1)中所得的二叉排序树变为如下形式。
输出该二叉树的中序序列,结果为:70605553454037242312(6)设计算法统计并输出(1)中所得的二叉排序树中只有一个孩子结点的结点个数。
输出结果为:3(7)在(1)中所得的二叉排序树中,设计算法并编写程序输出结点40的所有祖先结点。
输出结果为:452437
2024/8/12 15:36:41 39KB 数据结构 C C++
1
把一个包含n个正整数的序列划分成m个连续的子序列,每个整数刚好属于一个序列。
设第i个序列的各数之和是S(i)。
要求:让所有的S(i)的最大值尽量小。
例如:序列1,2,3,2,5,4划分成3个序列的最优方案为123|25|4,其中S(1)=6,S(2)=7,S(3)=4。
如果划分成12|32|54,则最大的S(i)=9,不是最优。
其中n<10^6,所有数之和不超过10^9
2024/8/11 22:16:14 15KB 动态规划 连续子序列
1
包含链表的基本操作,能够实现多数位的大整数计算,以及十进制数和二进制数的相互转换。
2024/8/9 16:11:28 3.31MB c++ 计算器 链表
1
sigmoid函数:nonlin(输出矩阵,矩阵,[是否求导(boolean)])底数矩阵:NumInd(输出矩阵,底常数,矩阵,[矩阵是否要系数(Double)])矩阵指数:ArrInd(输出矩阵,指常数,矩阵,[矩阵是否要系数(Double)])数加矩阵:NumAdd(输出矩阵,加常数,矩阵,[矩阵是否要系数(Double)])数减矩阵:NumSub(输出矩阵,被减数,矩阵,[矩阵是否要系数(Double)])数乘矩阵:NumDot(输出矩阵,被乘数,矩阵,[矩阵是否要系数(Double)])矩阵加法:ArrAdd(输出矩阵,矩阵A,矩阵B,[结果是否要系数(Double)])矩阵减法:ArrSub(输出矩阵,矩阵A,矩阵B,[结果是否要系数(Double)])哈达玛积:ArrDot(输出矩阵,矩阵A,矩阵B,[结果是否要系数(Double)])数乘矩阵:NumDot(输出矩阵,乘常数,矩阵)矩阵乘法:Dot(输出矩阵,矩阵A,矩阵B)矩阵可视化:ArrVis(矩阵)输出字符串转置矩阵:ArrT(输出矩阵,矩阵,[结果是否要系数(Double)])一维数组矩阵化:ArrA(输出矩阵,列数,一维数组)元素矩阵化:Arr(输出矩阵,列数,元素1,元素2,元素3...)矩阵绝对值:ArrAbs(输出矩阵,矩阵,[结果是否要系数(Double)])矩阵元素平均:Mean(矩阵)输出双精度小数随机小数矩阵:Rand(输出矩阵,行数,列数,[矩阵是否要系数])随机整数矩阵:intRand(输出矩阵,行数,列数,下限,上限)
2024/7/30 3:02:33 10KB VB 矩阵
1
(1)创建生产者和消费者线程在Windows2000环境下,创建一个控制台进程,在此进程中创建n个线程来模拟生产者或者消费者。
这些线程的信息由本程序定义的“测试用例文件”中予以指定。
该文件的格式和含义如下:31P32P43C414P25C3124第一行说明程序中设置几个临界区,其余每行分别描述了一个生产者或者消费者线程的信息。
每一行的各字段间用Tab键隔开。
不管是消费者还是生产者,都有一个对应的线程号,即每一行开始字段那个整数。
第二个字段用字母P或者C区分是生产者还是消费者。
第三个字段表示在进入相应线程后,在进行生产和消费动作前的休眠时间,以秒计时;
这样做的目的是可以通过调整这一列参数,控制开始进行生产和消费动作的时间。
如果是代表生产者,则该行只有三个字段。
如果代表消费者,则该行后边还有若干字段,代表要求消费的产品所对应的生产者的线程号。
所以务必确认这些对应的线程号存在并且该线程代表一个生产者。
(2)生产和消费的规则在按照上述要求创建线程进行相应的读写操作时,还需要符合以下要求:①共享缓冲区存在空闲空间时,生产者即可使用共享缓冲区。
②从上边的测试数据文件例子可以看出,某一生产者生产一个产品后,可能不止一个消费者,或者一个消费者多次地请求消费该产品。
此时,只有当所有的消费需求都被满足以后,该产品所在的共享缓冲区才可以被释放,并作为空闲空间允许新的生产者使用。
③每个消费者线程的各个消费需求之间存在先后顺序。
例如上述测试用例文件包含一行信息“5C3l24”,可知这代表一个消费者线程,该线程请求消费1,2,4号生产者线程生产的产品。
而这种消费是有严格顺序的,消费1号线程产品的请求得到满足后才能继续往下请求2号生产者线程的产品。
④要求在每个线程发出读写操作申请、开始读写操作和结束读写操作时分别显示提示信息。
(3)相关基础知识本实验所使用的生产者和消费者模型具有如下特点:本实验的多个缓冲区不是环形循环的,也不要求按顺序访问。
生产者可以把产品放到目前某一个空缓冲区中。
消费者只消费指定生产者的产品。
在测试用例文件中指定了所有的生产和消费的需求,只有当共享缓冲区的数据满足了所有关于它的消费需求后,此共享缓冲区才可以作为空闲空间允许新的生产者使用。
本实验在为生产者分配缓冲区时各生产者间必须互斥,此后各个生产者的具体生产活动可以并发。
而消费者之间只有在对同一产品进行消费时才需要互斥,同时它们在消费过程结束时需要判断该消费对象是否已经消费完毕并清除该产品。
Windows用来实现同步和互斥的实体。
在Windows中,常见的同步对象有:信号量(Semaphore)、互斥量(Mutex)、临界段(CriticalSection)等。
使用这些对象都分为三个步骤,一是创建或者初始化:接着请求该同步对象,随即进入临界区,这一步对应于互斥量的上锁;
最后释放该同步对象,这对应于互斥量的解锁。
这些同步对象在一个线程中创建,在其他线程中都可以使用,从而实现同步互斥。
2024/7/25 19:35:19 1.63MB 多线程同步生产者和消费者问题
1
从键盘输入中缀表达式,建立操作数与运算符堆栈,计算并输出表达式的求值结果。
基本要求:实现+,-,*,/四个二元运算符以及();
操作数范围为0至9。
提高要求:实现+,-两个一元运算符(即正、负号);
操作数可为任意整型值(程序可不考虑计算溢出)。
若两个整数相除,结果只保留整数商(余数丢弃);
每位同学可选择实现基本要求或者提高要求;
程序可不处理表达式语法错误。
1
【实验要求】(1)从键盘读入一组整数,按输入顺序形成单链表。
并将创建好的单链表元素依次打印在屏幕上。
(注意:选择头插法或者尾插法!)(2)设计一个带选择功能菜单的主函数,菜单中至少具备任意选择删除、插入、查找数据元素,和求单链表表长等几项功能。
(3)当选择删除功能时,从键盘读入欲删除的元素位置,按指定位置删除;
当选择插入功能时,从键盘读入新元素值和被插入位置,在指定位置插入;
当选择查找功能时,从键盘读入欲查找的元素值,返回其位置序号;
当选择求表长功能时,返回该单链表表长的数值。
(4)每种操作结束后,都能在屏幕上打印出此时单链表元素的遍历结果。
2024/7/19 18:58:49 5KB 数据结构 算法 单链表 链式存储
1
共 384 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡