【2024国赛数模资料包丨免费分享】41种数模常用matlab代码包——国赛必备学习资料_数学建模代码包
41种数学建模常用matlab代码包无偿分享,由国一学长吐血整理,是参加国赛必备的学习资料,免费分享给需要的小伙伴,希望对参加国赛的同学有所帮助!
聚类分析部分代码展示:
聚类分析主要过程(1)将数据展绘% 随机生成3个中心以及标准差s = rng(5,\'v5normal\');mu = round((rand(3,2)-0.5)*19)+1;sigma = round(rand(3,2)*40)/10+1;X = [mvnrnd(mu(1,:),sigma(1,:),200);mvnrnd(mu(2,:),sigma(2,:),300);mvnrnd(mu(3,:),sigma(3,:),400)];% 作图P1 = figure;clf;scatter(X(:,1),X(:,2),10,\'ro\');(2)利用不同的算法进行带入分析1 高斯混合聚类代码高斯混合聚类的步骤:首先假设样本集具有一些规律,包括可以以α \\alphaα参数作为比例分为k kk类且每类内符合高斯分布。然后根据贝叶斯原理利用极大似然法同时求出决定分类比例的α \\alphaα和决定类内高斯分布的μ \\muμ、Σ \\SigmaΣ。最后将样本根据α \\alphaα、μ \\muμ、Σ \\SigmaΣ再次通过贝叶斯原理求出样本该分在哪个簇。整个步骤下来,这种做法其实就是一种原型聚类:通过找到可以刻画样本的原型(α \\alphaα、μ \\muμ、Σ \\SigmaΣ参数),迭代得到α \\alphaα、μ \\muμ、Σ \\SigmaΣ参数的最优解。将逻辑思路理清楚之后,高斯混合聚类并不复杂,只是因为它同时运用了高斯分布、贝叶斯公式、极大似然法和聚类的原理和思想,加上高数化简求解的步骤,而导致初读时比较容易感到有些混乱。% 等高线options = statset(\'Display\',\'off\');gm = gmdistribution.fit(X,3,\'Options\',options);P6 = figure;clfscatter(X(:,1),X(:,2),10,\'ro\');hold onezcontour(@(x,y) pdf(gm,[x,y]),[-15 15],[-15 10]);...
粒子群优化算法部分代码:
粒子群算法基本步骤1 找出待优化的目标函数2 设定种群规模大小(不会设置可直接采用下方代码的)3 替换掉下方公式即可%% 初始化种群 f= @(x)x .* sin(x) .* cos(2 * x) - 2 * x .* sin(3 * x); % 函数表达式 % 求这个函数的最大值 figure(1);ezplot(f,[0,0.01,20]); N = 50; % 初始种群个数 d = 1; % 空间维数 ger = 100;% 最大迭代次数 limit = [0, 20]; % 设置位置参数限制 vlimit = [-1, 1]; % 设置速度限制 w = 0.8; % 惯性权重 c1 = 0.5; % 自我学习因子 c2 = 0.5; % 群体学习因子 for i = 1:d x = limit(i, 1) + (limit(i, 2) - limit(i, 1)) * rand(N, d);%初始种群的位置 end v = rand(N, d); % 初始种群的速度 xm = x; % 每个个体的历史最佳位置 ym = zeros(1, d); % 种群的历史最佳位置 fxm = zeros(N, 1); % 每个个体的历史最佳适应度 fym = -inf;% 种群历史最佳适应度 hold on plot(xm, f(xm), \'ro\');title(\'初始状态图\'); figure(2) %% 群体更新 iter = 1; ...
篇幅有限,更多资料可评论免费领取哦~