数学建模学习

devtools/2024/9/25 21:27:10/

数学建模

  • 层次分析法
  • 层次分析法上机
    • matlab速学
    • 算数平均法求权重
    • 特征法求权重
  • 模糊综合评价
    • 一级模糊综合评价
      • 评语集带有评价色彩型
      • 评语集不带有评价色彩型
    • 多级模糊综合评价
    • 总结
  • 模糊综合评价上机
  • 熵权法(客观
    • 总结
  • 熵权法上机
  • TOPSIS(客观)
    • 法一:距离法
    • 法二:优劣解
    • 引入权重,因为上述没有引入权重
  • topsis上机
  • 灰色关联分析
    • 例子:结婚率,目标为找出最大影响因素
    • 定义
    • 步骤
    • 灰色关联分析用于综合评价(不推荐)
  • 线性规划
  • 整数线性规划
  • 非线性规划(最高阶不为1次)
  • 图论与最短路径算法
  • 旅行商问题(TSP)
  • 插值算法
    • 上机
  • 拟合算法(不需要经过所有点,与插值算法不同)
    • 实际操作
  • 微分方程
    • 常见微分方程模型-SI模型
  • 时间序列(量化方向常用)
  • 聚类分析


在这里插入图片描述
熵权法仅是用于客观确定权重的方法

层次分析法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

层次分析法上机

matlab速学


https://ww2.mathworks.cn/help/?s_tid=gn_supp

算数平均法求权重

n=3;
A=[1,2,5;1/2,1,2;1/5,1/2,1];
Sum_A=sum(A);
SUM_A=repmat(Sum_A,n,1);
Stand_A=A./SUM_A;
wl=sum(Stand_A,2)./n;

特征法求权重

n=3;
A=[1,2,5;1/2,1,2;1/5,1/2,1];
[V,D]=eig(A);
Max_eig=max(max(D));%D
[r,c]=find(D == Max_eig,1);
w2=V(:,c)./sum(V(:,c));
CI=(Max_eig-n)/(n-1);
%RI=0.52;需查表
CR=CI/RI;
若CR<0.10 则通过了一致性检验

模糊综合评价

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一级模糊综合评价

评语集带有评价色彩型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评语集不带有评价色彩型

在这里插入图片描述
在这里插入图片描述

多级模糊综合评价


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

模糊综合评价上机

`matlab下标从1开始!!!!

熵权法(客观


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
长相:区间型指标
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

总结

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

熵权法上机

TOPSIS(客观)

法一:距离法

在这里插入图片描述
在这里插入图片描述

法二:优劣解

在这里插入图片描述
在这里插入图片描述

引入权重,因为上述没有引入权重

在这里插入图片描述

topsis上机

%clear;clc;
%X = [89,1; 60,3; 74,2; 99,0]
%X=[99;100;98;97]
%X=[0.030;0.028;0;0.007]
%X=[99,0.030;100,0.028;98,0;97,0.007]
%X=[99,0.010;100,0.012;98,0.040;97,0.033]
%X = [35.2;35.8;36.5;37.2;38.0]
%X = [0.6;0.75;0.89;0.95]
%X = [180;175;170;185;190]
%X = [60;90;95;81;79]
X = xlsread('工作簿1.xlsx');
%% 正向化
disp('***************正在进行正向化...***************');
vec = input('请输入要正向化的向量组,请以数组的形式输入,如[1 2 3]表示1,2,3列需要正向化,不需要正向化请输入-1\n') %注意输入函数这里是单引号
if (vec ~= -1)for i = 1 : size(vec,2)flag = input(['第' num2str(vec(i)) '列是哪类数据(【1】:极小型 【2】:中间型 【3】:区间型),请输入序号:\n']);if(flag == 1)%极小型X(:,vec(i)) = Min2Max(X(:,vec(i)));elseif (flag == 2) % 注意这里的else和if是连在一起的best = input('请输入中间型的最好值:\n');temp = X(:,vec(i));X(:,vec(i)) = Mid2Max(X(:,vec(i)), best);elseif (flag == 3)arr = input('请输入最佳区间,按照“[a,b]”的形式输入:\n')X(:,vec(i)) = Int2Max(X(:,vec(i)), arr(1), arr(2));endenddisp('所有的数据均已完成正向化!')
end
%% 标准化
disp('***************正在进行标准化...***************');
[n,m] = size(X)
% 先检查有没有负数元素
isNeg = 0;
for i = 1:nfor j = 1 : mif(X(i,j) < 0)isNeg = 1;break;endend
end
if (isNeg == 0)squere_X = (X.*X)sum_X = sum(squere_X,1).^0.5 %按列求和,再开方stand_X = X./repmat(sum_X, n, 1)
elsemax_X = max(X,[],1); %按照列找出最大元素min_X = min(X,[],1); %按照列找出最小元素stand_X = X - repmat(min_X,n,1) ./ (repmat(max_X,n,1) - repmat(min_X,n,1));
end%% (法一)用距离法打分
disp('***************正在用距离法打分...***************');
max_x = max(stand_X,[], 1) %按照列找出最大元素
min_x = min(stand_X,[], 1) %按照列找出最小元素(stand_X - repmat(min_x,n,1)) ./ (max_x - min_x)%% (法二)用优劣解打分
disp('***************正在用优劣解打分...***************');
tmp = ones(m);% 这个矩阵很有用,要掌握哦
w_j = tmp(:,1);
is_need_w = input('是否需要指定权值,如需要请输入1,否则请输入0:\n');
if (is_need_w == 1)w_j = input('请按列输入各指标的权值:(如[0.1;0.2;0.3;0.4])')
end
Z_plus = repmat(max_x,n,1);
Z_sub = repmat(min_x,n,1);
D_plus = sum(((stand_X - Z_plus).^2) * w_j, 2).^0.5 %注意是按行求和
D_sub = sum(((stand_X - Z_sub)).^2 * w_j, 2).^0.5S = D_sub ./ (D_sub + D_plus)%将结果归一化
res_topsis = S ./ sum(S)
%xlswrite('res_topsis.xlsx',res_topsis) %写入excel文档
%disp('已完成打分,请到当前目录下res_topsis.xlsx文件中取出结果!')

灰色关联分析

例子:结婚率,目标为找出最大影响因素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

定义

在这里插入图片描述

在这里插入图片描述

步骤

在这里插入图片描述

灰色关联分析用于综合评价(不推荐)

先正向化+标准化,然后找出每行最大值,作为虚拟供应商,该列就是母序列,1~6供应商为子序列。得出主要影响母序列的子序列,即为最佳供应商
在这里插入图片描述

线性规划

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

整数线性规划

在这里插入图片描述若为01整数规划,则只需将lb为0,ub为1
在这里插入图片描述

非线性规划(最高阶不为1次)

在这里插入图片描述
在这里插入图片描述

图论与最短路径算法

在这里插入图片描述

旅行商问题(TSP)

插值算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上机

在这里插入图片描述

拟合算法(不需要经过所有点,与插值算法不同)

当拟合函数为线性
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实际操作

用matlab -> app -> curve fitting tool拟合
在这里插入图片描述
例题
在这里插入图片描述
在这里插入图片描述

%% 黄河小浪底调水调沙问题
%save('water.mat','water')
load('water.mat')
load('sand.mat')
t = []
for i = 1 : 24t = [t 3600*(12*i - 4)];   
endtotal_sand = sand .* water; %排沙量pp = spline(t,total_sand); %返回三次样条插值结果
f = @(t) ppval(pp,t);% 定义了一个匿名函数f,该函数使用ppval函数计算分段多项式的值。% 这个匿名函数可以作为被积函数传递给MATLAB的integral函数,从而计算分段多项式的积分。q = integral(f,t(1),t(24));% 被积函数、积分上下限% 绘图看一看
subplot(1,2,1)
plot(water(1:11),total_sand(1:11),'*')
xlabel('水流量');
ylabel('排沙量');
title('第一阶段')
subplot(1,2,2)
plot(water(12:24),total_sand(12:24),'*')
xlabel('水流量');
ylabel('排沙量');
title('第二阶段');% 拟合
x1 = water(1:11);
y1 = total_sand(1:11);
x2 = water(12:24);
y2 = total_sand(12:24);

微分方程

在这里插入图片描述
例子
在这里插入图片描述
在这里插入图片描述

常见微分方程模型-SI模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

时间序列(量化方向常用)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 逆天了孩子,怎么这么难我去,不想往下看了,等必要的时候再来补吧~~

聚类分析

在这里插入图片描述
在这里插入图片描述

Kmeans算法网站1

Kmeans算法网站2

在这里插入图片描述
DBSCAN聚类算法网站


http://www.ppmy.cn/devtools/98661.html

相关文章

YOLOv8跑通POSE分类--姿态检测coco8-pos数据集

目录 1.数据集格式如下 2.训练的代码如下 3.训练的网络如下 4.训练的结果如下 简单留个备注&#xff0c;方便自己以后查找 1.数据集格式如下 txt里面的格式 类别 中心点x,y 宽高 姿态1的x,姿态1的y,姿态可见度。。。。 <class-index> <x> <y> <widt…

福特汽车削减电动车计划,聚焦成本控制

福特汽车近期宣布&#xff0c;将取消一款原计划中的三排座电动SUV&#xff0c;并延后推出其畅销车型F-150的最新电动版本。这一决定反映出福特在当前市场环境下&#xff0c;正更加注重削减成本&#xff0c;以应对需求疲软。 推迟新车型&#xff0c;控制支出 福特并不是唯一一家…

【jvm】程序计数器是如何计数的

目录 1. 说明2. 计数原理2.1 字节码解释执行2.2 线程隔离2.3 执行流程控制 3. 特殊情况处理3.1 执行Native方法3.2 异常处理 1. 说明 1.JVM&#xff08;Java Virtual Machine&#xff09;程序计数器是Java虚拟机在执行Java程序时的一个重要组成部分&#xff0c;用于记录当前线…

如何组态WinCC 开机自动启动

本文介绍了三种方法用于组态WinCC 开机自动运行&#xff0c;当电脑开机或重新启动时&#xff0c;WinCC 运行系统自动启动。 注&#xff1a;测试环境 操作系统版本为&#xff1a;Windows 7 WinCC 版本为&#xff1a; 7.0 sp2 Asia Simatic Net 版本为&#xff1a;8.0 sp1 其他版…

C++如何为枚举量生成对应的解释:4种常见的方法

C如何为枚举量生成对应的解释 在 C 中&#xff0c;你可以通过几种方法为枚举量生成对应的解释或描述文本。以下是几种常见的方法&#xff1a; 1. 使用 switch 语句 这是最直接的方法&#xff0c;通过 switch 语句为每个枚举值返回一个对应的字符串。 #include <iostream…

修改NLS_CHARACTERSET 字符集

LINUX8.10 ORACLE 11G数据库&#xff0c;NLS_CHARACTERSET 字符集变成了US7ASCII&#xff0c;要改成AL32UTF8 1. shutdown immediate 2. startup mount 3. ALTER SYSTEM ENABLE restricted SESSION; 4. alter database open; 5. ALTER DATABASE CHARACTER SET INTERNAL_USE AL…

如何有效应对突发技术故障:以网易云音乐为例

引言 在互联网行业&#xff0c;任何一个在线服务都可能遭遇突发的技术故障。这些故障不仅影响用户体验&#xff0c;还可能对公司的品牌形象造成损害。因此&#xff0c;如何快速响应并高效解决这些问题成为了每一个开发团队的重要课题。本文将以网易云音乐在2024年8月19日下午遭…

【网络安全】服务基础阶段——第一节:进制转换与IP地址

一、进制转换与IP地址 进制与计算&#xff1a; 进制转换是指将一个数字从一个数制&#xff08;基数&#xff09;转换为另一个数制的过程 二进制&#xff08;Binary&#xff09;&#xff1a;基于0和1的数制&#xff0c;例如1011&#xff08;十进制11&#xff09;。八进制&…