数学建模算法

news2024/11/29 7:46:11

算法部分

  • 1. 评价类模型
  • 2. TOPSIS
  • 3. 线性规划
  • 4. 聚类分析
  • 5. 预测模型
  • 6. 拉伊达准则(对异常值进行剔除)
  • 7. 数据拟合
  • 8. 图论
  • 代码练习
    • 1. 模拟圆周率
    • 2. 斐波那契数列
    • 3. 四只鸭子落在一个圆中概率
    • 4. 方程2: y" = uy' + y,初值y(0) = 1,y(0) =0

算法讲解
matlab代码大全

1. 评价类模型

算数平均法
几何法
最大特征值法
一致性比较

评价类模型内容1
评价类模型内容2

2. TOPSIS

构造计算评分的公式:公式

topsis评价模型:将原始数据矩阵统一指标类型(一般正向化处理) 得到正向化的矩阵
代码

3. 线性规划

  1. 线性规划(linprog)模型:高中知识所学

  2. 整数线性规划(intlinprog)模型:变量有部分限制为整数的线性规划

  3. 匈牙利算法:求解任务分配问题的组合优化算法(一对一的问题)
    二分图最大匹配 匈牙利算法:用于寻找最大匹配,通过不断寻找怎光路径,来寻找最大匹配问题
    讲解传送
    二分图分配,匈牙利

匈牙利算法matlab实现    python实现
在这里插入图片描述

  1. 非线性规划(fmincon)模型:目标函数或者约束条件中包含非线性函数
    非线性规划例题传送阵
  2. 二次规划(quadprog)模型:目标函数自变量为x的二次函数约束条件又全是线性的
  3. 多目标规划(fgoalattain)模型:研究多于一个的目标函数在给定区域上的最优化,给予权重来评判目标重要性
    matlab代码传送阵
  4. 绘制柱形竞赛图:https://blog.csdn.net/zhwzhaowei/article/details/110915135

4. 聚类分析

聚类分析(pdist)是根据在数据中发现的描述对象及其关系的信息,将数据对象分组。目的是,组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。
组内相似性越大,组间差距越大,说明聚类效果越好
K-Means聚类算法代码通道

X=[0 0;1 0;0 1;1 1;2 1;1 2;2 2;3 2;6 6;7 6;8 6;6 7;7 7;8 7;9 7;7 8;8 8;9 8;8 9;9 9];		% X:N*P的数据矩阵
[idx,C,sumd,d] = kmeans(X,2);	%  idx:N*1的向量,存储的是每个点的聚类标号
figure;		% K = 2;表示将X划分为几类,为整数。 C:K*P的矩阵,存储的是K个聚类质心位置
plot(X(:,1),X(:,2),'.'); 	% sumd:1*K的和向量,存储的是类间所有点与该类质心点距离之和。 d:N*K的矩阵,存储的是每个点与所有质心的距离
title 'Randomly Generated Data';
figure;
plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(C(:,1),C(:,2),'kx',...
     'MarkerSize',15,'LineWidth',3)
legend('Cluster 1','Cluster 2','Centroids',...
       'Location','NW')
title 'Cluster Assignments and Centroids'
hold off

figure1
figure2

5. 预测模型

  • 灰色预测模型:对原始数据进行生成处理来寻找系统变动的规律,并生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。
    最小二乘法代码传送         矩阵基本法使用与代码讲解
  • 时间序列预测模型:按照时间顺序,一定的时间间隔取得的一系列观测值,进而预测以后的数据
    时间序列分析传送阵  时间序列例题及代码分析
  • 模拟退火优化算法1
    模拟退火优化算法2

6. 拉伊达准则(对异常值进行剔除)

      假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除,基于3σ原则
代码实现传送阵    正太检验

7. 数据拟合

  • 插值法介绍传送阵
    插值法代码传送阵
  • 数据拟合与插值介绍及部分matlab
    matlab做曲线拟合的教程
    拟合在线传送阵

8. 图论

握手定理

  • 在任何有向图图中,所有顶点的度数之和等于边数的2倍,所有顶点的入度之和等于所有顶点出度之和,等于边数
  • 无向简单图,同样所有顶点的度数之和等于边数的2倍

有限简单图

  • 顶点个数有限

  • 任意一条边有且只有两个不同的点与它相互关联

  • 边之间不能够重复
    矩阵次方关系矩阵的表示PPt

  • Dijkstra讲解:求最短路径问题
    Dijkstra算法matlab传送阵1
    Dijkstra算法matlab传送阵2

  • kruskal:连通网中查找最小生成树
    讲解视频
    kruskal matlab传送阵

  • 神经网络:实现分类与预测模型
    Bp神经预测代码传送
    Bp神经分类代码传送
    匹配讲解:在一个图中,两个不相邻的边,称之为匹配;其边上的两个端点称之为配对的;若匹配集M的某条边与顶点v是关联的,则称M饱和顶点v

代码练习

1. 模拟圆周率

题目图

allPoints = input("请输入总点数:")
count = 0
for i = 1:allPoints
	if rand^2 + rand^2 <=1
		count = count + 1
	end
end
res = count / allPoints * 4
disp(res)

2. 斐波那契数列

N = input("请输入项数:")
res = [1,1]
for i = 3:N
	element = res(length(res)) + res(length(res) - 1)
	res = [res,element]
disp(res)

3. 四只鸭子落在一个圆中概率

N = 4
count = 0
total =1000 %试验次数
for i = 1:total
	p1 = 2*[rand,rand]-1;
	p2 = 2*[rand,rand]-1;
	p3 = 2*[rand,rand]-1;
	p4 = 2*[rand,rand]-1;
	p = [p1,p2,p3,p4]; %生成4 2 矩阵
	for j = 1:N
		k = p(i,2) / p(i,1);
		b = [];
		if (i == j)
			continue;
		else
			b = [b, p(i,2) - p(i,1)*k];
		end
	end
end
if (b(1)>=0 & b(2)>=0 & b(3)>=0 | b(1)<=0 & b(2)<=0 & b(3)<=0)
	count = count + 1;
res = count/total;
disp(res);
# 拓展N只鸭子
% 生成N个随机点
function p Npoints(N)
	p = [];
	for i = 1:N
		p = [p;2*[rand,rand]-1]  % 每一列
	end
end

% 判断截距的一致性
function isEqual ifisEqual(b)
	isEqual = 1;
	if b(1)>=0
		for i = 1:length(b)
			if b(i)<0
				isEqual = 0;
			end
		end
	else
		for i = 1:length(b)
			if b(i)>0
				isEqual = 0;
			end
		end
	end
end

4. 方程2: y" = uy’ + y,初值y(0) = 1,y(0) =0

syms y(x) mu
eqn = diff(y,2) == mu*diff(y)+y;
cond1 = y(0) == 1;
Dy(0) == 0;
dsolve(eqn)  % dsolve(方程,初值) 常微分方程求解

B = repmat(A,m, n):将矩阵A复制m×n块,即把A作为B的元素,Btm×n个A平铺而成。
prod():与sunm类似,求积
数据导入函数:weitetable()
数据导出函数:readtable()
Y = round(X,N,type) 指定四舍五入的类型
type filename 在 MATLAB 命令行窗口中显示指定文件的内容
imread(x.jpg):图片读入,以(0:255)读入,格式为 unit8
imshow(x)矩阵图片显示
imresize(x,0.5)图片大小更改
imwrite(x.jpg):图片写入,以图片存入路径
imbinarize(a):将图片矩阵二值化
logical(A):将矩阵A转换为逻辑值(即非零即为1)
bwlabel(A,4/8):联通分量化
solve(方程1,方程2…,变量1,变量2…):求解函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1291035.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

渗透测试学习day8

文章目录 靶机&#xff1a;UnifiedTask1Task2Task3Task4 5-14解题过程Task5Task6Task7Task8Task9Task10Task11Task12Submit user flagSubmit root flag 靶机&#xff1a;Unified Task1 问题&#xff1a;前四个开放端口是哪一个&#xff1f; 22,6789,8080,8443nmap扫一下 T…

智能井盖传感器产品介绍,井盖传感器生产厂家

智能井盖传感器是一种利用先进科技手段实时监测井盖状态的现代化设备&#xff0c;具有高效、可靠的特点&#xff0c;可大大提高城市管理的效率和水平。通过数据分析技术智能井盖传感器能够整理和分析井盖位移的历史数据&#xff0c;为管理人员提供科学决策依据&#xff0c;以更…

2023年山东省职业院校技能大赛信息安全管理与评估第一阶段样题

2023年山东省职业院校技能大赛信息安全管理与评估样题 竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000 分。三个模块内容和分值分别是&#xff1a; \1. 第一阶段&#xff1a;模块一 网络平台搭建与设备安全防护&#xff08;240 分钟&…

mysql5.7安装详细教程

文章目录 1 引言1.1 现有的数据存储方式有哪些&#xff1f;1.2 以上存储方式存在哪些缺点&#xff1f; 2 数据库2.1 概念2.2 数据库的分类 3 数据库管理系统3.1 概念3.2 常见数据库管理系统 4 MySQL4.1 简介4.2 访问与下载4.3 安装4.3.1 解压缩到非中文目录4.3.2 编写配置文件4…

字节开源的netPoll底层LinkBuffer设计与实现

字节开源的netPoll底层LinkBuffer设计与实现 为什么需要LinkBuffer介绍设计思路数据结构LinkBufferNodeAPI LinkBuffer读 API写 APIbook / bookAck api 小结 本文基于字节开源的NetPoll版本进行讲解&#xff0c;对应官方文档链接为: Netpoll对应官方文档链接 netPoll底层有一个…

Python实现FA萤火虫优化算法优化LightGBM回归模型(LGBMRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法&#xff08;Fire-fly algorithm&#xff0c;FA&#xff09;由剑桥大学Yang于2009年提出 , …

zabbix的自动发现机制,代理功能,SNMP监控

1.zabbix自动发现机制 zabbix客户端主动和服务端联系&#xff0c;将自己的地址和端口发送服务端&#xff0c;实现自动添加监控主机 客户端是主动的一方。 缺点&#xff1a;自定义网段中主机数量太多&#xff0c;登记耗时会很久&#xff0c;而且这个自动发现机制不是很稳定 …

SpringMvc入坑系列(一)----maven插件启动tomcat

springboot傻瓜式教程用久了&#xff0c;回过来研究下SSM的工作流程&#xff0c;当然从Spring MVC开始&#xff0c;从傻瓜式入门处理请求和页面交互&#xff0c;再到后面深入源码分析。 本人写了一年多的后端和半年多的前端了。用的都是springbioot和vue&#xff0c;源码一直来…

论文阅读[2023ICME]Edge-FVV: Free Viewpoint Video Streaming by Learning at the Edge

Edge-FVV: Free Viewpoint Video Streaming by Learning at the Edge 会议信息&#xff1a; Published in: 2023 IEEE International Conference on Multimedia and Expo (ICME) 作者&#xff1a; 1 背景 FVV允许观众从多个角度观看视频&#xff0c;但是如果所选视点的视频…

基于单片机出租车计价器控制系统

**单片机设计介绍&#xff0c;基于单片机出租车计价器控制系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的出租车计价器控制系统是一个用于控制和管理出租车费用计算的电子设备。下面是一个简单的系统设计介绍&…

识别低效io引起的free buffer waits

产生事发时间段的awr报告 Top 5 wait events 这里重点关注&#xff1a; 1.free buffer waits 2.enq_HW-contention 3.enq:tx-row lock contention enq:HW-contention属于水位线的争用&#xff0c;已经透过alter table allocate extent&#xff0c;提前分配空间,这里不做讨论 …

数据结构 | 查漏补缺之哈希表、最短路径、二叉树与森林的转换

哈希表是什么&#xff1f; 或者说 设图采用邻接表的存储结构&#xff0c;写对图的删除顶点和删除边的算法步骤 删除边 删除点 最短路径问题 参考博文 迪杰斯特拉(Dijkstra)算法_dijkstra算法-CSDN博客 判断一个有向图是否有环&#xff08;回路&#xff09;可以用下列哪些办法…

金鸣表格文字识别大师扫描仪使用技巧

所需硬件&#xff1a;PC&#xff08;电脑&#xff09;、扫描仪 所需软件&#xff1a;金鸣表格文字识别大师5.0以上版本&#xff08;以下简称“本软件”&#xff09; 实现功能&#xff1a;直接用扫描仪扫描图片并将其转换为可编辑的excel或word. 实现原理&#xff1a;本软件利…

Linux socket编程(12):Unix套接字之socketpair、sendmsg和recvmsg详解

在上一篇文章Unix套接字编程及通信例子中&#xff0c;我们对Unix套接字编程有一个基本的了解。但在Unix套接字编程的领域中&#xff0c;有一组特殊而强大的工具&#xff1a;socketpair、sendmsg 和 recvmsg&#xff0c;它们为实现本地进程间通信提供了便捷的方式。 文章目录 1 …

java学习part39map

159-集合框架-Map不同实现类的对比与HashMap中元素的特点_哔哩哔哩_bilibili 1.Map 2.Entry 个人理解是c的pair&#xff0c;代表一个键值对。Map就是entry的叠加 3.常用方法 4.TreeMap 5.Properties

二叉搜索树——模拟

对于一个无穷的满二叉排序树&#xff08;如图&#xff09;&#xff0c;节点的编号是1,2,3&#xff0c;…。对于一棵树根为X的子树&#xff0c;沿着左节点一直往下到最后一层&#xff0c;可以获得该子树编号最小的节点&#xff1b;沿着右节点一直往下到最后一层&#xff0c;可以…

第十六届山东省职业院校技能大赛中职组网络安全赛项竞赛正式试题

第十六届山东省职业院校技能大赛中职组网络安全"赛项竞赛试题 一、竞赛时间 总计&#xff1a;360分钟 二、竞赛阶段 竞赛阶段任务阶段竞赛任务竞赛时间分值A、B模块A-1登录安全加固180分钟200分A-2本地安全策略设置A-3流量完整性保护A-4事件监控A-5服务加固A-6防火墙策…

企业微信开启调试模式

1.关闭企业微信&#xff0c;重新启动 2.启动后按快捷键 ctrlaltshiftD进入调试模式 3.在需要调试的页面点击右键&#xff0c;点击"ShowDevTools"&#xff0c;进入调试模式 企业微信 为企业打造的专业办公管理工具&#xff1b;企业微信开放生态平台&#xff1b;企业微…

UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)

UniApp 运行到浏览器的时候&#xff0c;接口会跨域报错&#xff0c;这里通过两种方式解决&#xff0c;第一&#xff1a;修改Uniapp自带的manifest.json 源码视图并进行配置h5设置。第二&#xff1a;在项目根目录新建vue.config.js并配置代理。 二选一即可。 修改或调整配置文件…

QT 中基于 TCP 的网络通信 (备查)

基础 基于 TCP 的套接字通信需要用到两个类&#xff1a; 1&#xff09;QTcpServer&#xff1a;服务器类&#xff0c;用于监听客户端连接以及和客户端建立连接。 2&#xff09;QTcpSocket&#xff1a;通信的套接字类&#xff0c;客户端、服务器端都需要使用。 这两个套接字通信类…