简单的遗传算法,计算函数最值.functionga_main()%遗传算法程序%n--种群规模%ger--迭代次数%pc---交叉概率%pm--变异概率%v--初始种群(规模为n)%f--目标函数值%fit--适应度向量%vx--最优适应度值向量%vmfit--平均适应度值向量clearall;closeall;clc;%清屏tic;%计时器开始计时n=20;ger=100;pc=0.65;pm=0.05;%初始化参数%以上为经验值,可以更改。
%生成初始种群v=init_population(n,22);%得到初始种群,22串长,生成20*22的0-1矩阵[N,L]=size(v);%得到初始规模行,列disp(sprintf('Numberofgenerations:%d',ger));disp(sprintf('Populationsize:%d',N));disp(sprintf('Crossoverprobability:%.3f',pc));disp(sprintf('Mutationprobability:%.3f',pm));%sprintf可以控制输出格式%待优化问题xmin=0;xmax=9;%变量X范围f='x+10*sin(x.*5)+7*cos(x.*4)';%计算适应度,并画出初始种群图形x=decode(v(:,1:22),xmin,xmax);"位二进制换成十进制,%冒号表示对所有行进行操作。
fit=eval(f);%eval转化成数值型的%计算适应度figure(1);%打开第一个窗口fplot(f,[xmin,xmax]);%隐函数画图gridon;holdon;plot(x,fit,'k*');%作图,画初始种群的适应度图像title('(a)染色体的初始位置');%标题xlabel('x');ylabel('f(x)');%标记轴%迭代前的初始化vmfit=[];%平均适应度vx=[];%最优适应度it=1;%迭代计数器%开始进化whileit<=ger%迭代次数0代%Reproduction(Bi-classistSelection)vtemp=roulette(v,fit);%复制算子%Crossoverv=crossover(vtemp,pc);%交叉算子%Mutation变异算子M=rand(N,L)<=pm;%这里的作用找到比0.05小的分量%M(1,:)=zeros(1,L);v=v-2.*(v.*M)+M;%两个0-1矩阵相乘后M是1的地方V就不变,再乘以2.NICE!!确实好!!!把M中为1的位置上的地方的值变反%这里是点乘%变异%Resultsx=decode(v(:,1:22),xmin,xmax);%解码,求目标函数值fit=eval(f);%计算数值[sol,indb]=max(fit);%每次迭代中最优目标函数值,包括位置v(1,:)=v(indb,:);%用最大值代替fit_mean=mean(fit);%每次迭代中目标函数值的平均值。
mean求均值vx=[vxsol];%最优适应度值vmfit=[vmfitfit_mean];%适应度均值it=it+1;%迭代次数计数器增加end
2023/7/1 23:41:32 4KB 遗传算法
1
OpenCL领域公认的权威著作,由OpenCL核心设计人员亲自执笔,不仅全面而深刻地解读了OpenCL规范和编程模型,而且通过大量案例和代码演示了基于OpenCL编写并行程序和实现各种并行算法的原理、方法、流程和最佳实践,以及如何对OpenCL进行功能优化,如何对硬件进行探测和调整。
,本书分为两大部分:第一部分(1~13章),从介绍OpenCL的核心思想和编写OpenCL程序的基础知识开始,对枯燥的OpenCL规范进行了深刻而系统的解读,旨在帮助读者全面、正确地理解OpenCL规范及其编程模型;
第二部分(14~22章),提供了一系列经典的案例,如图像直方图、Sobel边界检测过滤器、并行实现Dijkstra单源最短路径图算法、BulletPhysicsSDK中的布模拟、用快速傅里叶变换模拟海洋、光流、OpenCL与PyOpenCL结合使用,使用OpenCL完成矩阵相乘与稀疏矩阵矢量乘法等,目的是让读者通过案例熟练掌握编写复杂并行程序的方法和技巧。
本书的附录收录了OpenCL规范定义的大量函数、命名常量和类型,可供程序员开发时查阅。
2023/2/19 10:16:10 49.79MB OpenCL
1
计算机图形学图形变换C++MFC矩阵相乘完成平移,旋转,缩放等变换。
2023/2/18 9:42:33 3.67MB 计算机图形学 图形变换 C++ MFC
1
通过一个实例去理解OpenMP,看完后,就能完成初步OpenMP编程!十分适合入门!通过实例再回头学习原理,更清晰!希望对大家有协助!谢谢!
2018/2/22 20:14:45 376KB OpenMP
1
矩阵相乘的FOX并行完成,这是矩阵相乘的另外一种完成方法。
2017/9/25 17:18:13 151KB 矩阵相乘 FOX算法 MPI
1
该程序实现了两矩阵相乘、矩阵转置和求逆矩阵的功能,是非常适用的,特别是求逆矩阵的算法,非常到位!
1
通过减少问题规模方式,做并行计算,求解矩阵相乘问题,mpi,MPI,思想是将第一个矩阵分块,每个进程只计算矩阵的几行,最终传给主进程吗、,主进程输出结果
2018/8/19 23:04:07 5KB MPI矩阵
1
C#代码的完成求矩阵的逆矩阵、矩阵行列式的值、以及两个矩阵相乘的结果
2022/9/20 15:09:36 8KB 矩阵 逆矩阵 C#
1
108题中有部分题目重合,因此么有收录在压缩文件中。
华为机试├─001字符串最后一个单词长度│└─Source├─002计算字符个数│└─Source├─003明明的随机数│└─Source├─004字符串分隔│└─Source├─005进制转换│└─Source├─006质数因子│└─Source├─007取近似值│└─Source├─008合并表记录│└─Source├─009提取不重复的整数│└─Source├─010字符个数统计│└─Source├─011数字颠倒│└─Source├─012字符串反转│└─Source├─013句子逆序│└─Source├─014字典序排序│└─Source├─015求int型正整数在内存中存储是1的个数│└─Source├─016购物单│├─Debug│├─Source││└─Debug│├─Source-时间优先││└─Debug│└─Source-空间优先│├─Debug│└─Release├─017坐标移动├─018识别IP地址分类统计│└─Source│└─Debug├─019错误记录├─020密码验证合格程序├─021密码破解├─023删除字符串中出现次数最少字符│└─Source│└─Debug├─024合唱队│└─Source│├─Debug│└─Release├─025数据分类处理│└─Source│└─Debug├─026查找兄弟单词│└─Source│└─Debug├─027素数伴侣│└─Source│└─Debug├─028字符串合并处理│└─Source│└─Debug├─030密码截取(查找最长回文字符串)├─031蛇形矩阵│└─Source│└─Debug├─033判断IP能否属于同一子网│└─Source│└─Debug├─034称砝码│└─Source│└─Debug├─035学英语│└─Source│└─Debug├─036迷宫问题│└─Source│└─Debug├─037数独问题│└─Debug├─038名字漂亮度│└─Source│└─Debug├─039字符串截取│└─Source│└─Debug├─040单链表删除数据│└─Source│└─Debug├─041多线程│└─Source│├─Backup│├─Debug││└─041.tlog│└─Release│└─041.tlog├─042表达式计算│└─Source│└─Debug├─043计算字符串距离│└─Source│└─Debug├─044杨辉三角形变形├─046挑7├─047完全数│└─Debug├─048高精度加法├─049输出n个数中最小的k个│└─Debug├─050找出字符串只出现一次的字符│└─Debug├─051组成一个偶数最接近的2个质数│└─Debug├─052M个苹果放入N个盘子├─053查找整数二进制中1的个数├─054DNA子串├─055MP3光标位置│└─Source│└─Debug├─056查找2个字符串最大相同子串│└─Debug├─057配置文件恢复│└─Source│└─Debug├─05824点计算│└─Debug├─059成绩排序├─060矩阵相乘├─061矩阵乘法次数计算├─062字符串通配符│└─Debug├─066命令行解析│└─Source│└─Debug├─067最大相同子串长度│└─Debug├─068火车编号进站│└─Debug├─072数组合并├─074埃及分数│└─Source│└─Debug├─076密码截取│└─Sourc
2018/6/8 16:28:18 4.55MB 机试 在线编程 华为机试
1
矩阵相乘是线性代数中最常见的问题之一,它在数值计算中有广泛的使用,在计算机的世界里,矩阵相乘扮演着一个不可或缺的角色。
此文档分别用串行和并行代码实现了矩阵相乘的过程
2016/8/26 19:29:08 752KB OpenMP 矩阵相乘 串行算法 并行算法
1
共 21 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡