简单的遗传算法,计算函数最值.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
是我的CSDN博客中文章“VC++播放音频文件和音频数据的方法”的配套实例。
该例子利用WindowswaveI/OAPI函数,实现了播放自定义的一段音频数据(通过sin()函数产生);
并且使用了PlaySound()函数播放“250.wav”文件。
比之前的“VC播放音频数据(而不是音频文件)”资源多了.wav文件的播放。
2023/6/6 6:16:32 151KB vc vs2008 播放 音频文件
1
cordic计算cos,sin,tan,sqrtmatlab实现,容易改成ccode
2023/6/4 19:35:57 3KB cordic 计算cos,sin,tan ,sqrt
1
用JAVA实现计算器,程序中科实现sin,cos,tan,平方,开放,对数,等等运算
2023/6/1 14:55:48 14KB JAVA 计算器
1
经由本次试验,熟练的操作方程求根的最底子、罕用的运算方式以及实际。
首要有二分法、牛顿法、弦截法,并体味它们各自不合的特色及收敛速率。
求方程f(x)=x-2sin(x)=0的非零根。
按安妥的比例在屏幕上画出f(x)的函数曲线以及根在x轴上的迫近进程。
matlab7.0及以上版本图像界面试验报告
1
java课程方案,外面搜罗源法度圭表标准以及课程方案报告题目申请:编写一盘算器,模拟windowsxp盘算器界面,能实现底子的运算及一些迷信运算。
能实现的运算如下:"+",加"-",减"*",乘"/",除了"x^y",x的y次方"Mod",取模"And",相与"Or",相或者"Xor",异或者"Lsh",左移"Rsh",右移"sqrt",开根号"%",取百分数"1/X",求倒数正弦余弦函数:"sin","cos","tan",对于数函数:"ln","log",阶乘:"n!",立方:"x^3",平方:"x^2",取反:"Not"};同时还提供菜单成果,能够复制粘贴运算下场,给出“迷信型”以及“底子型”运算遴选菜单,给出运算器帮手与法度圭表标准、作者信息2.变更法度圭表标准图标为盘算器图标3.法度圭表标准不够,对于一些迷信盘算不举行盘算值的校验,阻滞读者自行到场。
2023/4/26 12:40:39 126KB java课程设计 计算器 科学计算器
1
遗传算法示例法度圭表标准带GUI界面基于求函数f(x,y,z)=xyz*sin(xyz)最大值下场的演示法度圭表标准
2023/4/24 10:04:27 7.1MB 遗传算法
1
三角函数图像(VB6.0源代码编写)三角函数图像展现sin,cos,tan函数图像。
源代码
1
行使RBF收集(隐含层神经单元个数以及学习率等参数可在内部更正,不作为输入参数)学习以及熬炼,并对于输入的测试样本做出照料。
输入以及输入维数能够多维。
实际运行,迫近y=sin(t)函数下场不错。
2023/4/15 15:05:23 2KB RBF;MATLAB
1
文件内搜罗KRR、KPCA、KPCR以及KPLS的相关法度圭表标准,其中KPLS相关法度圭表标准又搜罗KerSIMPLS以及KerNIPALS可供遴选,他们是用不合方式盘算的PLS。
同时文件中另有一个例子,分别使用这些法度圭表标准实现sin函数的拟合,明晰易懂。
2023/4/5 5:39:31 11KB KPLS KPCA
1
共 76 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡