好文档 - 专业文书写作范文服务资料分享网站

数学建模算法大全层次分析法

天下 分享 时间: 加入收藏 我要投稿 点赞

B3C1C2C3B4C1C2C3

C1 1 3 1/3 C1 1 1/3 5 C2 1/3 1 7 C2 3 1 7 C3 3 1/7 1 C3 1/5 1/7 1 B5C1C2C3B6C1C2C3

C1 1 1 7 C1 1 7 9 C2 1 1 7 C2 1/7 1 1 C3 1/7 1/7 1 C3 1/9 1 1

(层次总排序)如下表所示。 研究 发展 待遇 同事 地理 单位 准则 课题 前途 情况 位置 名气 0.1507 0.1792 0.1886 0.0472 0.1464 0.2879 准则层权值 方案层 工作1 0.13650.09740.24260.27900.46670.7986 单排序 工作2 0.62500.33310.08790.64910.46670.1049 权值 工作3 0.23850.56950.66940.07190.06670.0965 根据层次总排序权值,该生最满意的工作为工作1。 计算程序如下: clc

a=[1,1,1,4,1,1/2 1,1,2,4,1,1/2 1,1/2,1,5,3,1/2

1/4,1/4,1/5,1,1/3,1/3 1,1,1/3,3,1,1 2,2,2,3,3,1];

[x,y]=eig(a);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci1=(lamda-6)/5;cr1=ci1/1.24 w1=x(:,j)/sum(x(:,j))

b1=[1,1/4,1/2;4,1,3;2,1/3,1];

[x,y]=eig(b1);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci21=(lamda-3)/2;cr21=ci21/0.58 w21=x(:,j)/sum(x(:,j))

b2=[1 1/4 1/5;4 1 1/2;5 2 1]; [x,y]=eig(b2);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci22=(lamda-3)/2;cr22=ci22/0.58 w22=x(:,j)/sum(x(:,j))

b3=[1 3 1/3;1/3 1 1/7;3 7 1]; [x,y]=eig(b3);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci23=(lamda-3)/2;cr23=ci23/0.58 w23=x(:,j)/sum(x(:,j))

b4=[1 1/3 5;3 1 7;1/5 1/7 1]; [x,y]=eig(b4);lamda=max(diag(y)); [i,j]=find(y==lamda);

总排序权值 0.3952 0.2996 0.3052 ci24=(lamda-3)/2;cr24=ci24/0.58 w24=x(:,j)/sum(x(:,j))

b5=[1 1 7;1 1 7;1/7 1/7 1]; [x,y]=eig(b5);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci25=(lamda-3)/2;cr25=ci25/0.58 w25=x(:,j)/sum(x(:,j))

b6=[1 7 9;1/7 1 1 ;1/9 1 1]; [x,y]=eig(b6);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci26=(lamda-3)/2;cr26=ci26/0.58 w26=x(:,j)/sum(x(:,j))

w_sum=[w21,w22,w23,w24,w25,w26]*w1 ci=[ci21,ci22,ci23,ci24,ci25,ci26]; cr=ci*w1/sum(0.58*w1)

习 题 八

1. 若发现一成对比较矩阵A的非一致性较为严重,应如何寻找引起非一致性的元素?例如,设已构造了成对比较矩阵

??1A??5?1??31?3?516?

?11?6?(i)对A作一致性检验。

(ii)如A的非一致性较严重,应如何作修正。

第九章 插值与拟合

插值:求过已知有限个数据点的近似函数。

拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。

插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。而面对一个实际问题,究竟应该用插值还是拟合,有时容易确定,有时则并不明显。 §1 插值方法

下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插值、Hermite插值和三次样条插值。

1.1 拉格朗日多项式插值 1.1.1 插值多项式

用多项式作为研究插值的工具,称为代数插值。其基本问题是:已知函数f(x)在区间[a,b]上n?1个不同点x0,x1,?,xn处的函数值yi?f(xi)(i?0,1,?,n),求一个至多n次多项式

?n(x)?a0?a1x???anxn (1) 使其在给定点处与f(x)同值,即满足插值条件

?n(xi)?f(xi)?yi(i?0,1,?,n) (2)

?n(x)称为插值多项式,xi(i?0,1,?,n)称为插值节点,简称节点,[a,b]称为插值

区间。从几何上看,n次多项式插值就是过n?1个点(xi,f(xi))(i?0,1,?,n),作一条多项式曲线y??n(x)近似曲线y?f(x)。

n次多项式(1)有n?1个待定系数,由插值条件(2)恰好给出n?1个方程

2n?a0?a1x0?a2x0???anx0?y0?2n?a0?a1x1?a2x1???anx1?y1 (3) ?? ? ? ?a?ax?ax2???axn?y1n2nnnn?0记此方程组的系数矩阵为A,则

1x0det(A)?1x12x0?nx0x12?x1n???????2n1xnxn?xn

是范德蒙特(Vandermonde)行列式。当x0,x1,?,xn互不相同时,此行列式值不为零。因此方程组(3)有唯一解。这表明,只要n?1个节点互不相同,满足插值要求(2)

的插值多项式(1)是唯一的。

插值多项式与被插函数之间的差

Rn(x)?f(x)??n(x) 称为截断误差,又称为插值余项。当f(x)充分光滑时,

f(n?1)(?)Rn(x)?f(x)?Ln(x)??n?1(x),??(a,b)

(n?1)!其中?n?1(x)??(x?xj?0nj)。

1.1.2拉格朗日插值多项式

实际上比较方便的作法不是解方程(3)求待定系数,而是先构造一组基函数

li(x)?(x?x0)?(x?xi?1)(x?xi?1)?(x?xn)

(xi?x0)?(xi?xi?1)(xi?xi?1)?(xi?xn)nx?xj?? , (i?0,1,?,n)

x?xj?0ijj?ili(x)是n次多项式,满足

?0li(xj)???1令

nj?ij?i

?n?x?xj??Ln(x)??yili(x)??yi?? (4) ?i?0i?0?j?0xi?xj??j?i?n上式称为n次Lagrange插值多项式,由方程(3)解的唯一性,n?1个节点的n次Lagrange插值多项式存在唯一。

1.1.3 用Matlab作Lagrange插值

Matlab中没有现成的Lagrange插值函数,必须编写一个M文件实现Lagrange插值。

设n个节点数据以数组x0,y0输入(注意Matlat的数组下标从1开始),m个插值点以数组x输入,输出数组y为m个插值。编写一个名为lagrange.m的M文件: function y=lagrange(x0,y0,x); n=length(x0);m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j~=k

p=p*(z-x0(j))/(x0(k)-x0(j)); end end

s=p*y0(k)+s; end

y(i)=s; end

1.2 牛顿(Newton)插值

在导出Newton公式前,先介绍公式表示中所需要用到的差商、差分的概念及性质。

1.2.1 差商

定义 设有函数f(x),x0,x1,x2,?为一系列互不相等的点,称

f(xi)?f(xj)xi?xj即

(i?j)为f(x)关于点xi,xj一阶差商(也称均差)记为f[xi,xj],

f[xi,xj]?f(xi)?f(xj)xi?xj

称一阶差商的差商

f[xi,xj]?f[xj,xk]xi?xk为f(x)关于点xi,xj,xk的二阶差商,记为f[xi,xj,xk]。一般地,称 f[x0,x1,?,xk?1]?f[x1,x2,?,xk]

x0?xk为f(x)关于点x0,x1,?,xk的k阶差商,记为

f[x0,x1,?,xk?1]?f[x1,x2,?,xk]f[x0,x1,?,xk]?

x0?xk容易证明,差商具有下述性质: f[xi,xj]?f[xj,xi]

f[xi,xj,xk]?f[xi,xk,xj]?f[xj,xi,xk]

1.2.2 Newton插值公式 线性插值公式可表成

?1(x)?f(x0)?(x?x0)f[x0,x1]

称为一次Newton插值多项式。一般地,由各阶差商的定义,依次可得

f(x)?f(x0)?(x?x0)f[x,x0]

f[x,x0]?f[x0,x1]?(x?x1)f[x,x0,x1]

f[x,x0,x1]?f[x0,x1,x2]?(x?x2)f[x,x0,x1,x2]

??

f[x,x0,?,xn?1]?f[x0,x1,?,xn]?(x?xn)f[x,x0,?,xn]

将以上各式分别乘以1,(x?x0),(x?x0)(x?x1),?,(x?x0)(x?x1)?(x?xn?1),然后相加并消去两边相等的部分,即得

f(x)?f(x0)?(x?x0)f[x0,x1]?? ?(x?x0)(x?x1)?(x?xn?1)f[x0,x1,?,xn] ?(x?x0)(x?x1)?(x?xn)f[x,x0,x1,?,xn]记

Nn(x)?f(x0)?(x?x0)f[x0,x1]?? ?(x?x0)(x?x1)?(x?xn?1)f[x0,x1,?,xn]Rn(x)?(x?x0)(x?x1)?(x?xn)f[x,x0,x1,?,xn]

??n?1(x)f[x,x0,x1,?,xn]显然,Nn(x)是至多n次的多项式,且满足插值条件,因而它是f(x)的n次插值多项式。这种形式的插值多项式称为Newton插值多项式。Rn(x)称为Newton插值

余项。

Newton插值的优点是:每增加一个节点,插值多项式只增加一项,即

Nn?1(x)?Nn(x)?(x?x0)?(x?xn)f[x0,x1,?,xn?1]

因而便于递推运算。而且Newton插值的计算量小于Lagrange插值。

由插值多项式的唯一性可知,Newton插值余项与Lagrange余项也是相等的,即

Rn(x)??n?1(x)f[x,x0,x1,?,xn]f(n?1)(?)??n?1(x)(n?1)!由此可得差商与导数的关系

??(a,b)

f(n)(?)f[x0,x1,?,xn]?

n!其中??(?,?),??min{xi},??max{xi}。

0?i?n0?i?n1.2.3 差分

数学建模算法大全层次分析法

B3C1C2C3B4C1C2C3C1131/3C111/35C21/317C2317C331/71C31/51/71B5C1C2C3B6C1C2C3
推荐度:
点击下载文档文档为doc格式
0tto47c42p6vudb8bhn079ew80o9bl00saz
领取福利

微信扫码领取福利

微信扫码分享