简单的遗传算法,计算函数最值.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
纯C语言实现eig算法,通过C语言求解矩阵的特征值与特征向量,主要用到QR分解。
结果与matlab结果对比相同
2023/7/1 10:53:54 12KB eig 特征值 C语言特征向量
1
程序编写InstituteofElectricalandElectronicsEngineers(IEEE)美国电气和电子工程师协会。
IEEE-33节点标准系统潮流程序的设计采用牛顿拉夫逊法潮流分布的计算原理,运用电力系统分析关于系统网络计算的相关知识,在MATLAB里编程实现潮流计算的验证。
PQ节点:这类节点的有功功率P和无功功率Q是给定的,节点电压和相位(V,δ)是待求量。
通常变电所都是这一类型的节点。
2023/7/1 7:38:30 3KB 潮流编程
1
1. 给定一幅图象,画出其谱分布的平面图像,并对谱图像内容进行说明。
2. 频率域高通和低通滤波器设计,并以各种视图(立体图、平面视图、截面图)显示。
3. 给出一幅房屋图象,用高通滤波的方法求其边缘。
2023/6/29 11:06:21 7KB MATLAB频域图像增强技术
1
一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。
结束符是为了方便。
编程利用“算符优先法”求算术表达式的值,该资源是数据结构的一个作业。
(1)从键盘或文件读入一个合法的算术表达式,输出正确的结果。
(2)显示输入序列和栈的变化过程。
2023/6/29 5:37:22 186KB c语言 数据结构
1
基于svd分解的两点云坐标转换求解。

[RR,TT,msen]=fenjie(inputA,inputB)
2023/6/29 5:07:17 574B 点云,svd
1
淘宝花钱买的,因为平时下载需要积分,所以希望各位给点积分1.找直线边缘2.找圆3.直线延长4.求直线角度5.求直线与圆弧交点6.获取矩形的4个顶点和矩形的中心点7.拟合直线8.等80个算子
2023/6/28 22:04:34 20.28MB Hhalcon 视觉
1
给出校园各点间距离,用floyd算法求出任意两点间的最短路径,以此来进行导航
2023/6/15 20:57:20 125KB floyd算法 最短路径
1
计算仪表指针的角度,方法,首先找到仪表所在的圆形,然后求出霍夫直线角度,对其中的一些角度去除
2023/6/15 18:30:28 15.56MB CV
1
该程序基于Boost和MPI实现了Cannon算法实现对矩阵得并行求积。
2023/6/12 4:44:45 78KB MPI Boost 矩阵 并行
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡