最近接触到了遗传算法以及利用遗传算法求最优解,所以就把这些相关的内容整理记录一下. 一.遗传算法简介(摘自维基百科) 遗传算法(英语:genetic algorithm (GA))是计算数学中用于解决最佳化的搜索算法,是进化算法的一种.进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传.突变.自然选择以及杂交等. 算法 选择初始生命种群 循环 评价种群中的个体适应度 以比例原则(分数高的挑中概率也较高)选择产生下一个种群. 改变该种群(交叉和变异) 直到停止循环的条件满足…
在一般将Python的reduce函数的例子中,通常都是拿列表求和来作为例子.那么,是否还有其他例子呢?   本次分享将讲述如何利用Python中的reduce函数对序列求最值以及排序.   我们用reduce函数对序列求最值的想法建立在冒泡排序的算法上.先上例子? from functools import reduce from random import randint A = [randint(1, 100) for _ in range(10)] print('The origin l…
clc; clear all; close all; fx = @(x) -(0.4./sqrt(1 + x.^2) - sqrt(1+x.^2) .* (1- 0.4./(1 + x.^2))+x); [x0, f] =fminbnd(fx,0,2); % f利用负号求最小值 x = 0 :0.1: 2; y = feval(fx,x); %% ========maxvalue==== figure plot(x,-y,'b-','linewidth',2) hold on plot(x0,-…
matlab求解多元方程组示例: syms k1 k2 k3; [k1 k2 k3] = solve(-3-k3==6, 2-k1-k2+2*k3==11, 2*k1+k2-k3+1==6)或者用[k1 k2 k3] = solve('-3-k3=6', '2-k1-k2+2*k3=11', '2*k1+k2-k3+1=6')另外,可以指定未知数为哪个[k1 k2 k3] = solve('-3-k3=6', '2-k1-k2+2*k3=11', '2*k1+k2-k3+1=6',k1,k2,k…
  function [ y ] = moving_average( x, win_size ) y1=filter(ones(1,win_size/2+1)/win_size,1,x); y2=filter(ones(1,win_size/2+1)/win_size,1,fliplr(x)); y=y1+fliplr(y2)-(1/win_size)*x; end L = win_size/2; yi = (1/win_size)∑(j=i-L:i+L)xj 本系列文章允许转载,转载请保留全文…
clear;clc;close all % 初始化 m = [-6,-2,0,2,4,6]; sigma = [1,1,0.5,0.25,0.6,2]; h = [1,2,3,2,2.13,3.14]; x=-10:0.01:10; sumy = zeros(1,length(x)); % 绘制各分支高斯信号 figure; for i = 1:length(m) y=(h(i)/((sqrt(2*pi))*sigma(i)))*exp(-((x-m(i)).^2)/(2*sigma(i).^2…
MATLAB 的unique函数——求数组矩阵的唯一值 相关MathWork文档见此:unique数组中的唯一值 1.C = unique(A) 返回与 A 中相同的数据,但是不包含重复项.C 已按照从小到大排序. 2.C = unique(A,___,'rows') 和 C = unique(A,'rows',___) 将 A 中的每一行视为单个实体,并按排序顺序返回 A 中的唯一行.必须指定 A,而 setOrder 和 occurrence 是可选的. 'rows' 选项不支持元胞数组.…
原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵  rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成器 binornd:二项分布的随机数生成器 chi2rnd:卡方分布的随机数生成器 exprnd:指数分布的随机数生成器 frnd:f分布的随机数生成器 gamrnd:伽玛分布的随机数生成器 geornd:几何分布的随机数生成器 hygernd:超几何分布的随机数生成器 lognrnd:对数正态分布…
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数) public class _039PrintFunction { public static void main(String[] args) { printFunction(); } private static void printFunction() { Scanner scanner = new Scanner(System.in); S…
*题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数) public class 第三十九题按条件计算数列的函数 { public static void main(String[] args) { System.out.print("请输入一个整数"); Scanner in = new Scanner(System.in); int n = in.nextInt(); if (n &l…