数学建模基本模型【总】(来源:小石老师)

本文详细介绍了层次分析法、多属性决策模型、灰色预测、图论模型(Dijkstra算法和Floyd算法)、模拟退火算法、种群竞争模型、排队论模型、线性规划模型等数学建模的基础模型,包括其原理、步骤、示例和相关代码,是学习数学建模的实用参考资料。
摘要由CSDN通过智能技术生成

目录

一、模型目录

在这里插入图片描述

二、具体模型

1.层次分析法

1.1解决问题

对难以完全定量的复杂系统做出决策的模型和方法
万金油方法
== 一般对一个子问题进行层次分析法 ==

1.2 原理

在这里插入图片描述

1.3 步骤

1.3.1 建立层次结构模型

在这里插入图片描述

例子

在这里插入图片描述

1.3.2 构造判断(成对比较)矩阵

在这里插入图片描述成对比较阵标度表
在这里插入图片描述
例子:
在这里插入图片描述

1.3.4 一致性检验

成对比较不一致的情况
在这里插入图片描述

1.3 层次分析法举例

1.3.1 旅游问题

在这里插入图片描述在这里插入图片描述在这里插入图片描述代码运行结果:
在这里插入图片描述在这里插入图片描述

1.4 ** 层次分析法代码

disp('请输入判断矩阵A(n阶)');
A=input('A=');
[n,n]=size(A);
x=ones(n,100);
y=ones(n,100);
m=zeros(1,100);
m(1)=max(x(:,1));
y(:,1)=x(:,1);
x(:,2)=A*y(:,1);
m(2)=max(x(:,2));
y(:,2)=x(:,2)/m(2);
p=0.0001;i=2;k=abs(m(2)-m(1));
while  k>p
  i=i+1;
  x(:,i)=A*y(:,i-1);
  m(i)=max(x(:,i));
  y(:,i)=x(:,i)/m(i);
  k=abs(m(i)-m(i-1));
end
a=sum(y(:,i));
w=y(:,i)/a;
t=m(i);
disp(w);
         %以下是一致性检验
CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];
CR=CI/RI(n);
if CR<0.10
    disp('此矩阵的一致性可以接受!');
    disp('CI=');disp(CI);
    disp('CR=');disp(CR);
end

2.多属性决策模型

1.1 解决问题

在这里插入图片描述

1.2 信息集结的方法

加权算数平均(WAA)算子
在这里插入图片描述
例子:
在这里插入图片描述

1.3 归一化处理

在这里插入图片描述

1.3.1 效益性归一化处理

在这里插入图片描述

1.3.2 成本型归一化处理

在这里插入图片描述

1.3.3 固定型的归一化处理

在这里插入图片描述

1.3.4 偏离型的归一化处理

在这里插入图片描述

1.3.5 区间型的归一化处理

在这里插入图片描述

1.3.6 偏离区间型的归一化处理

在这里插入图片描述

1.4 多属性决策模型例子

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

在这里插入图片描述

3.灰色预测

1.1 解决问题

在这里插入图片描述> 解决小样本的问题
在这里插入图片描述

1.2 灰色系统的特点

在这里插入图片描述

1.3 灰色生成

在这里插入图片描述

1.3.1 累加生成

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

公式

在这里插入图片描述

1.4 GM(1,1)模型

在这里插入图片描述

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

在这里插入图片描述

预测值的求解
在这里插入图片描述

1.4.2 GM(1,1)模型的精度检验——后验差检验法

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

在这里插入图片描述

精度检验等级参照表
在这里插入图片描述

1.5 例子

在这里插入图片描述

1.6 灰色预测代码

function []=greymodel(y)
% 本程序主要用来计算根据灰色理论建立的模型的预测值。
% 应用的数学模型是 GM(1,1)% 原始数据的处理方法是一次累加法。
y=input('请输入数据 ');
n=length(y);
yy=ones(n,1);
yy(1)=y(1);
for i=2:n
    yy(i)=yy(i-1)+y(i);
end
B=ones(n-1,2);
for i=1:(n-1)
    B(i,1)=-(yy(i)+yy(i+1))/2;
    B(i,2)=1;
end
BT=B';
for j=1:n-1
    YN(j)=y(j+1);
end
YN=YN';
A=inv(BT*B)*BT*YN;
a=A(1);
u=A(2);
t=u/a;
i=1:n+2;
yys(i+1)=(y(1)-t).*exp(-a.*i)+t;
yys(1)=y(1);
for j=n+2:-1:2
    ys(j)=yys(j)-yys(j-1);
end
x=1:n;
xs=2:n+2;
yn=ys(2:n+2);
plot(x,y,'^r',xs,yn,'*-b');
det=0;

sum1=0;
sumpe=0;
for i=1:n
    sumpe=sumpe+y(i);
end
pe=sumpe/n;
for i=1:n;
    sum1=sum1+(y(i)-pe).^2;
end
s1=sqrt(sum1/n);
sumce=0;
for i=2:n
    sumce=sumce+(y(i)-yn(i));
end
ce=sumce/(n-1);
sum2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值