没有合适的资源?快使用搜索试试~ 我知道了~
【老生谈算法】用Matlab实现AHP的算法.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 153 浏览量
2022-07-02
18:02:28
上传
评论
收藏 232KB DOC 举报
温馨提示
试读
20页
【老生谈算法】用Matlab实现AHP的算法.doc
资源推荐
资源详情
资源评论
1.MATLAB 的基本内容
MATLAB(MATrix LABoratory,矩阵实验室的缩写)是一种特殊用途的计算机
程序优化执行工程和科学计算。它开始为旨在执行矩阵数学程式的生活,但多年来
它已发展成为一个灵活的计算系统基本上能够解决任何技术问题。MATLAB 具有编
程语言的基本特征,使用 MATLAB 也可以使用像 BASIC、FORTRAN、C 等传统编
程语言一样,进行程序设计,而且简单易学、编程效率高。。
正因为 MATLAB 的强大的功能,使得它在许多领域得到广泛应用。在科研与工
程应用领域,MATLAB 已被广泛地用于科学研究和解决各种具体的实际问题。许多
科技工作者选用 MATLAB 做为计算工具,避免了繁琐的底层编程,从而可以把主要
精力和时间花在科学研究和解决实际问题是上,提高了工作效率。
1.1 MATLAB 矩阵
矩阵是 MATLAB 的基本处理对象,因此根据本文所需,简单介绍所涉及
MATLAB 矩阵内容。
1.1.1 MATLAB 矩阵的建立
1、直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。例如:
A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
也可以用回车键代替分号,按下列方式输入:
A=[1 2 3
4 5 6
7 8 9 ]
2、利用 M 文件建立矩阵
比较大且复杂的矩阵,可以为它专门建立一个 M 文件,如同下例。
利用 M 文件建立矩阵。
启动有关编辑程序或 MATLAB 文本编辑器,并输入待建矩阵:
MYMAT=[ 111 ,112,113,114,115,116,117,118,119;
211,212,213,214,215,216,217,218,219];
把输入的内容以纯文本方式存盘(设文件名为 mymatrix.m)。
在 MATLAB 命令窗口中输入 mymatrix,即运行该 M 文件,就会自动建立一个名为
MYMAT 的矩阵,可供以后使用。
第 1 页
1.1.2 矩阵的特征值与特征向量
特征值和特征向量在科学研究和工程计算中都有非常广泛地应用。在 MATLAB
中,计算矩阵
A
的特征值和特征向量的函数是
eig(A),常用的调用格式有 3 种
[14]
:
E = eig( A ) :求矩阵 A 的全部特征值,构成向量 E。
[V,D]=eig(A):求矩阵 A 的全部特征值,构成对角矩阵 D,并求 A 得特征向量构
成 V 的列向量。
[V,D]=eig(A,’nobablance’):与第 2 种格式中先对 A 作相似变换后求矩阵 A 的特
征值和特征向量,而格式 3 直接求矩阵 A 的特征值和特征向量。
例如:
A=[1,1,0.5;1,1,0.25;0.5,0.25,2];
[V,D]=eig(A)
V =
0.7212 0.4443 0.5315
-0.6863 0.5621 0.4615
-0.0937 -0.6976 0.7103
D =
-0.0166 0 0
0 1.4801 0
0 0 2.5365
求得的 3 个特征值是-0.0166、1.4801 和 2.5365,各特征值对应的特征向量为 V
的各列构成的向量。
1.2 MATLAB 的 M 文件
用
MATLAB
语言编写的程序称为
M
文件。 M
文件是由若干
MATLAB
命令组成
在一起构成的,它可以完成某些操作,也可以实现某种算法。
M 文件可以根据调用方式的不同分为两类:命令文件(Script File)和函数文件
(Function File)。它们的扩展名均为 .m。
函数文件由 function 语句引导,其基本结构为:
function 输出形参表=函数名(输入形参表)
注释说明部分
函数体语句
我们通过举例说明如下:
例 2-2 分别建立命令文件和函数文件,将求矩阵的一致性指标
CI :
CI=(λ
max
-n)/(n-1)
程序 1 建立命令文件并以文件名 CI.m 存盘:
max=input('please input max:');
n=input('please input n:');
第 2 页
CI=(max-n)/(n-1)
然后在 MATLAB 的命令窗口中输入 CI 即可。
程序 2 建立函数文件 CI.m。
function c=CI(max,n)
c=(max-n)/(n-1)
然后在 MATLAB 的命令窗口调用该函数文件。
max=input('please input max:');
n=input('please input n:');
c=CI(max,n)
2.基于 MATLAB 的 AHP 实现
2.1 AHP 的 MATLAB 的计算流程框图
根据层次分析法的一般步骤我们得到在 MATLAB 工具上实现的计算程序流程框
图,如图 2 所示
[16]
图 2 以 MATLAB 实现的层次分析法的计算流程框图
通过流程框图,层次分析的基本步骤如下:
第 3 页
输 入 准 则 层 层 数
输 入 准 则 层 对 目 标 层
判 断 矩 阵 元 素
ij
a
判 断 矩 阵 归 一 化 计 算
C R < 0 . 1
输 入 准 则 层 第
j
个 准 则
包 含 的 方 案 数 量
n
判 断 矩 阵 归 一 化 计 算
输 入 方 案 层 第
j
个 准 则
层 的 判 断 矩 阵 元 素
b
ij
C R < 0 .1
另
m = 1 ; n = 1
输 入 方 案 层 第
m
个 准
则 层 的 相 关 矩 阵 元 素
计 算 权 值 矩 阵
权 值
a
F
的 计 算
总
C R
计 算
开 始
结 束
C R < 0 .1
剩余19页未读,继续阅读
资源评论
- xhzxxx9612023-01-22支持这个资源,内容详细,主要是能解决当下的问题,感谢大佬分享~
- 曹健国2022-10-18资源有很好的参考价值,总算找到了自己需要的资源啦。
阿里matlab建模师
- 粉丝: 3299
- 资源: 2784
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功