0


数学建模学习

数学建模


在这里插入图片描述

熵权法仅是用于客观确定权重的方法

层次分析法

在这里插入图片描述

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

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

层次分析法上机

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)fori=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;fori=1:n
    forj=1: m
        if(X(i,j)<0)
            isNeg =1;break;endendendif(isNeg ==0)
    squere_X =(X.*X)
    sum_X =sum(squere_X,1).^0.5%按列求和,再开方
    stand_X = X./repmat(sum_X, n,1)else
    max_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.5

S = 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 =[]fori=1:24
    t =[t 3600*(12*i-4)];end

total_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聚类算法网站

标签: 数学建模 学习

本文转载自: https://blog.csdn.net/2301_79347603/article/details/140991443
版权归原作者 隔壁的小公举 所有, 如有侵权,请联系我们删除。

“数学建模学习”的评论:

还没有评论