互反判断矩阵-理论
- 格式:ppt
- 大小:340.50 KB
- 文档页数:9
t参数矩阵等效电路
在电路理论中,T参数矩阵(也称为互阻矩阵)是一种描述线性电路中元件之间相互作用的方法。
T参数矩阵可以用来表示等效电路,它提供了一种简单而有效的方式来分析和设计复杂的电路系统。
T参数矩阵是一个二维矩阵,其中的元素表示电路中各个元件之间的相互作用。
通常,T参数矩阵的大小与电路中元件的数量相关。
对于一个具有n个端口的电路,T参数矩阵的大小将是n×n。
T参数矩阵的元素可以通过实验或者仿真来确定。
一旦确定了T 参数矩阵,就可以使用它来分析电路的性能。
例如,可以使用T参数矩阵来计算电路的传输特性、反射特性以及功率传输等。
在等效电路中,T参数矩阵可以用来简化复杂的电路系统。
通过将电路中的各个元件替换为等效电路,可以大大简化电路的分析和设计过程。
这种等效电路的构建基于T参数矩阵的性质和特点,可以有效地减少计算的复杂性。
需要注意的是,T参数矩阵的使用有一些前提条件。
首先,电
路必须是线性的,这意味着电路中的元件必须满足线性关系。
其次,T参数矩阵的使用假设电路中的元件是稳定的,即其参数不随时间
变化。
最后,T参数矩阵的应用范围通常局限在高频电路和微波电
路中,对于低频电路可能不适用。
综上所述,T参数矩阵是一种用于描述电路中元件相互作用的
方法,可以用来表示等效电路并简化电路的分析和设计过程。
它在
高频电路和微波电路中有广泛的应用,并且通过实验或者仿真可以
确定其元素的值。
§3.3 层次分析法层次分析法(Analytic Hierarchy Process ,简称AHP ),又称为多层次权重解析方法,是20世纪70年代由美国著名运筹学家、匹兹堡大学T.L.Saaty 教授提出的一种系统分析方法。
该方法将定性分析和定量分析相结合,能够有效分析目标准则体系层次间的非序列关系,对综合测度决策者的判断和比较带来极大的方便,因此在社会经济管理许多方面得到越来越广泛的应用[1-2]。
3.3.1 层次分析法的基本原理层次分析法的基本思路是通过分析复杂系统所包含的因素及相关关系,把一个复杂的问题分解成各个组成因素,并将这些因素按支配关系分组,从而客观上形成多层次的有序的递阶层次结构。
下面以一个例子来说明。
例3.3.1[3] 某城市市中心有一座商场,由于街道狭窄,人员车辆流量过大,经常造成交通堵塞。
市政府决定要改善此处的交通环境,并经过有关专家会商研究,制定出三个可行方案:1P :在商场附近修建一座环形天桥; 2P :在商场附近修建地下人行通道; 3P :搬迁商场。
根据当地的具体条件和有关情况,需要考虑通车能力(1C )、群众方便(2C )、基建费用(3C )、交通安全(4C )和市容美观(5C )等一些准则,通过比较3个候选方案,从中选出最优的方案。
首先考虑这5个准则的重要性。
从缓解交通压力角度来考虑首选通车能力,从市政工程建设角度考虑又得兼顾市容美观,从关注国计民生角度考虑必须考虑群众方便,从公共安全角度思考又得强调交通安全,而如果市政建设费用有限,则必须重点考虑基建费用。
其次,需要就每一个准则对3个方案进行比较。
比如,就基建费用而言,3P 代价最高,2P 次之,1P 最小;就群众方便而言,1P 最佳,2P 次之,3P 最差,等等。
最后,需要将两个层次的判断结果进行综合,在1P 、2P 、3P 中选择最优方案。
上述过程可以归结为以下几步:1.该决策问题可以分为3个层次,最上层为目标层,即改善此处交通环境,选择一个最优方案,最下层为方案层,即包含1P 、2P 、3P 这3个可行方案,中间层为准则层,包含通车能力、群众方便、基建费用、交通安全和市容美观5个准则,每层之间的联系可以用相连的直线表示(如图3.3.1所示)。
正互反矩阵的最⼤特征值与特向求解-java1、正互反矩阵⾸先说⼀下什么是正互反矩阵,见下图,⼀看图其实就知道什么是正互反矩阵。
1.1 使⽤场景当我们现在有⼀堆参数,分了好⼏个层次,每个层次⾥⾯⼜有好多参数,那么每个层次的每个参数权重如何设定,这时候,会⽤到这种类型的矩阵。
为⽅便理解,可以将矩阵A看成下⾯的表格对⾓线元素:⾃⼰和⾃⼰相⽐,同等重要,所以都为1A[0][1]:参数2⽐参数1重要,所以是2(或其他的数字,这是有标准的)A[0][2]:参数3和参数1相⽐,参数3重要,同时也⽐参数2重要,所以参数3的重要程度取值⾄少要⽐A[0][1]的值⼤⾄于⽐较两个参数之间的重要程度的取值,⾃⾏寻找标准。
下⾯是标准之⼀:1-9标度法相对重要性定义说明1同等重要两个⽬标同样重要3略微重要经验或判断,认为⼀个⽬标⽐另⼀个略微重要5相当重要经验或判断,认为⼀个⽬标⽐另⼀个重要7明显重要深感⼀个⽬标⽐另⼀个重要,并且这种重要性已经有实践证明9绝对重要强烈的感到⼀个⽬标⽐另⼀个重要的多2,4,6,8两个相邻判断的中间值折中时采⽤1.2 矩阵计算2 计算三个⽅法公共的代码/*** 计算⽅阵的最⼤特征根及其特征向量** @author silverbeats* @date 2021/8/13 013 20:26*/public class MatrixUtil {// 保留⼩数的位数private final int BIT = 6;/*** 矩阵乘法** @param a 矩阵a* @param b 矩阵b*/public double[][] matrixMult(double[][] a, double[][] b) {int arows = a.length,acols = a[0].length,brows = b.length,bcols = b[0].length;// 判断两个矩阵是否能够进⾏相乘if (acols != brows) {throw new RuntimeException("矩阵a的列数与矩阵b的⾏数不等,⽆法进⾏矩阵相乘");}// 保存矩阵相乘的结果double[][] res = new double[arows][bcols];for (int i = 0; i < bcols; ++i) {// j,k 定位⾏乘列for (int j = 0; j < arows; ++j) {double sum = 0.0;for (int k = 0; k < acols; ++k) {sum += a[j][k] * b[k][i];}res[j][i] = sum;}}return res;}/*** 矩阵的列进⾏归⼀化,某元素在其所在列的⽐例** @param matrix*/public void normalizedColumn(double[][] matrix) {int rows = matrix.length,cols = matrix[0].length,row, col;// 求出矩阵每⼀列之和double[] temp = new double[cols];for (col = 0; col < cols; ++col) {for (row = 0; row < rows; ++row) {temp[col] += matrix[row][col];}}// 对matrix进⾏处理,得出每个元素在其所在列的占⽐for (row = 0; row < rows; ++row) {for (col = 0; col < cols; ++col) {matrix[row][col] /= temp[col];}}}/*** 合并矩阵的列,将m x n的矩阵变为m x 1的矩阵** @param matrix*/public double[][] mergeColumn(double[][] matrix) {int rows = matrix.length, cols = matrix[0].length;double[][] res = new double[rows][1];for (int row = 0; row < rows; ++row) {double sum = 0.0;for (int col = 0; col < cols; ++col) {sum += matrix[row][col];}res[row][0] = sum;}return res;}/*** 合并矩阵的⾏,将m x n矩阵变为1 x n矩阵** @param matrix*/public double[][] mergeRow(double[][] matrix) {int rows = matrix.length, cols = matrix[0].length;double[][] res = new double[1][cols];for (int col = 0; col < cols; ++col) {for (int row = 0; row < rows; ++row) {res[0][col] += matrix[row][col];}}return res;}/*** 保留指定个数的⼩数** @param number 数字*/public double toFixed(double number) {double temp = Math.pow(10, BIT);return Math.round(number * temp) / temp;}/*** arr是⼀维的最⼤特征向量,* 由于最⼤特征向量是⼀个n x 1的⼆维矩阵,会转换为⼀维数组* 易知特向的每⼀个元素以及最⼤特征根是double类型,会对其保留BIT位的⼩数* 存在四舍五⼊后,最⼤特征根的特向元素之和不为1的情况,可能会多或少Math.pow(10, -BIT) * 这⾥做的处理:将这个误差给到权重最⼩的参数⾝上,保证所有参数的权重和为1** @param arr*/public void correction(double[] arr) {int length = arr.length;double bei = Math.pow(10, BIT);double sum = 0.0;for (double v : arr) {sum = sum + v * bei;}// 四舍五⼊后没问题if (sum == bei) return;// 误差double err = sum - bei;// 定位到权重最⼩值的参数位置int minRow = 0;for (int i = 1; i < length; ++i) {if (arr[i] < arr[minRow]) {minRow = i;}}arr[minRow] -= err / bei;}/*** ⼆维数组转⼀维数组** @param matrix*/public double[] convertData(double[][] matrix) {int rows = matrix.length, cols = matrix[0].length;int arrLen = rows * cols;double[] res = new double[arrLen];int index = 0;for (int row = 0; row < rows; ++row) {for (int col = 0; col < cols; ++col) {res[index++] = matrix[row][col];}}return res;}}2.1 根法/*** 计算⽅阵的最⼤特征根及其特征向量** @author silverbeats* @date 2021/8/13 013 20:26*/public class MatrixUtil {/*** 根法求解矩阵matrix最⼤特征根、及其特征向量** @param matrix*/public Map<String, Object> rootMethod(double[][] matrix) {if (matrix.length != matrix[0].length) {throw new RuntimeException("必须是⽅阵");}// 保存结果⽤的Map<String, Object> resultMap = new HashMap<>();final int DIM = matrix.length;// 1、计算权重向量(最⼤特征根的特向)// 1.1 矩阵有DIM⾏,同⾏的元素进⾏相乘,之后再开DIM根号,得到DIM x 1矩阵double[][] w = new double[DIM][1];for (int row = 0; row < DIM; ++row) {double mult = 1.0;for (int col = 0; col < DIM; ++col) {mult *= matrix[row][col];}w[row][0] = Math.pow(mult, 1.0 / DIM);}// 1.2 将w矩阵进⾏归⼀化,得到的就是权重向量normalizedColumn(w);// 2、计算最⼤特征根// 2.1 将matrix按⾏进⾏合并相加double[][] s = mergeRow(matrix);// 2.2 s x w 的结果即为最⼤特征值,s是1 x DIM矩阵,w是DIM x 1矩阵,得到1 x 1矩阵 double maxEigenvalue = matrixMult(s,w)[0][0];// 3、可选:将DIM x 1矩阵转⼀维,对数据进⾏⼩数保留,以及保留后权重和不为1的处理 double[] maxEigenVector = convertData(w);for (int i = 0; i < maxEigenVector.length; i++) {maxEigenVector[i] = toFixed(maxEigenVector[i]);}// 4、易知权重和为1,然⽽在经过⼩数保留后,可能会导致权重和不为1,进⾏处理correction(maxEigenVector);// --------------------------------------------------resultMap.put("maxEigenvalue", toFixed(maxEigenvalue));resultMap.put("maxEigenVector", maxEigenVector);return resultMap;}}2.2 和法public class MatrixUtil {/*** 和法求解矩阵matrix的最⼤特征根、及其特征向量** @param matrix*/public Map<String, Object> sumMethod(double[][] matrix) {if (matrix.length != matrix[0].length) {throw new RuntimeException("必须是⽅阵");}Map<String, Object> resultMap = new HashMap<>();final int DIM = matrix.length;// 判断矩阵w,拷贝⼀份matrix,⽬前与matrix⼀致,后⾯会对w进⾏修改double[][] w = new double[DIM][DIM];for (int row = 0; row < DIM; ++row) {for (int col = 0; col < DIM; ++col) {w[row][col] = matrix[row][col];}}// 1、权重向量(最⼤特征根的特向)// 1.1 将矩阵的每⼀列进⾏归⼀化处理,得到判断矩阵wnormalizedColumn(w);// 1.2 判断矩阵w的所有列进⾏相加,变成n x 1的矩阵后进⾏归⼀化处理// 此时得到的n x 1矩阵就是matrix最⼤特征根的特征向量double[][] t = mergeColumn(w);normalizedColumn(t);// 2、计算最⼤特征根// 2.1 将原矩阵matrix(m x m)与最⼤特向t(m x 1)进⾏矩阵乘法(m x 1)double[][] mx = matrixMult(matrix, t);// 2.2 将mx和maxEigenVector这两个m x 1的列矩阵对应位置进⾏相除for (int row = 0; row < DIM; ++row) {mx[row][0] /= t[row][0];}// 2.3 将mx这⼀列矩阵的所有元素求和,最后取个均值就是最⼤特征根double maxEigenValue = 0.0;for (int row = 0; row < DIM; ++row) {maxEigenValue += mx[row][0];}maxEigenValue /= DIM;// 3、可选:对数据进⾏⼩数保留,以及保留后权重和不为1的处理double[] maxEigenVector = convertData(t);for (int i = 0; i < maxEigenVector.length; i++) {maxEigenVector[i] = toFixed(maxEigenVector[i]);}correction(maxEigenVector);// --------------------------------------------------resultMap.put("maxEigenvalue", toFixed(maxEigenValue));resultMap.put("maxEigenVector", maxEigenVector);return resultMap;}}2.3 幂法public class MatrixUtil {/*** 幂法** @param matrix 矩阵* @param times 最⼤迭代次数* @param accept 可接受的误差*/public Map<String, Object> powMethod(double[][] matrix, int times, double accept) { final int DIM = matrix.length;// 1、初始化// 1.1 初始正列向量Xk,⽤来迭代(k代表是第⼏次迭代)// 1.2 初始化mk(mk是Xk这个列向量中最⼤的值)和yk(Xk/mk)double mk = 1.0;double[][] Xk = new double[DIM][1];double[][] yk = new double[DIM][1];for (int i = 0; i < DIM; ++i) {yk[i][0] = Xk[i][0] = 1.0;}// 2、迭代计算int cnt = 0;while(true) {double oldMk = mk;// 2.1 迭代XkXk = matrixMult(matrix, yk);// 2.2 更新mkmk = Xk[0][0];for (int i = 1; i < DIM; ++i) {if(Xk[i][0] > mk)mk = Xk[i][0];}// 2.3 迭代ykfor (int i = 1; i < DIM; ++i) {yk[i][0] = Xk[i][0] / mk;}++cnt;// 2.4 精度检查,accept是可接受的精度误差// 2.5 迭代次数检查,times是最⼤迭代次数if(Math.abs(mk - oldMk) < accept || cnt >= times)break;}// 3、求最⼤特征值,以及特向// 3.1 最⼤特征值: 即mk// 3.2 特向:对yk进⾏归⼀化后即为所求normalizedColumn(yk);// 4、可选:对mk和yk进⾏⼩数取舍double[] maxEigenVector = convertData(yk);for(int i = 0; i < DIM; ++i) {maxEigenVector[i] = toFixed(maxEigenVector[i]);}correction(maxEigenVector);// ---------------------------------------------Map<String, Object> resultMap = new HashMap<>();resultMap.put("maxEigenvalue", toFixed(mk));resultMap.put("maxEigenVector", maxEigenVector);return resultMap;}}2.4 测试public static void main(String[] args) {double[][] arr = {{1, 2, 6},{0.5, 1, 4},{1 / 6.0, 0.25, 1}};int maxTimes = 10000;double accept = 1e-7;MatrixUtil matrixUtil = new MatrixUtil();Map<String, Object> rootMethodResultMap = matrixUtil.rootMethod(arr);Map<String, Object> sumMethodResultMap = matrixUtil.sumMethod(arr);Map<String, Object> powMethodResultMap = matrixUtil.powMethod(arr, maxTimes, accept); System.out.println("----根法----");rootMethodResultMap.forEach((k, v) -> {System.out.println(k);if (v instanceof double[])System.out.println(Arrays.toString((double[]) v));elseSystem.out.println(v);});System.out.println("----和法----");sumMethodResultMap.forEach((k, v) -> {System.out.println(k);if (v instanceof double[])System.out.println(Arrays.toString((double[]) v));elseSystem.out.println(v);});System.out.println("----幂法----");powMethodResultMap.forEach((k, v) -> {System.out.println(k);if (v instanceof double[])System.out.println(Arrays.toString((double[]) v));elseSystem.out.println(v);});}。
2020·9(下)《科技传播》178作者简介:郭小娟,讲师,河南工业贸易职业学院,研究方向为计算机应用、网络应用。
基于模糊数互补判断矩阵的权重求解方法郭小娟摘 要 文章针对三角模糊数互补断矩阵中排序的问题,提出了基于模糊数互补判断矩阵的权重求解方法。
首先,分析了三角模糊数互补判断矩阵概念和运算原则。
之后,基于此利用三角模糊数期望值的计算,得到其中每个方案的排序值,以此实现矩阵的求解。
此方法较为简单且实用。
关键词 模拟数;互补判断矩阵;权重求解中图分类号 G2 文献标识码 A 文章编号 1674-6708(2020)267-0178-02为了能够在多属性决策中得到方案最后解和排序结果,决策人员一般针对各个方案偏好信息使用两两元素对比得到矩阵的判断形势。
通过判断矩阵元素可以看出,判断矩阵一般包括两种类型,分别为互反判断矩阵和互补判断矩阵。
在对实际问题进行解决的过程中,因为客观的事物具有不确定性和复杂性,此两种矩阵元素有时候无法使用确定数值进行表示,而是使用三角模糊等模糊集方式得到。
本文就基于前人研究结果,对三角模糊数互补判断矩阵中的专家信息,提出了三角模糊数最优的一致性互补判断矩阵数学模型,并且使用基于全局优化加速遗传算法对此模型进行求解,在实现一致性的过程中,其程度最高并且可信度最高的权重向量,能够有效修正三角模糊数互补的判断矩阵一致性。
1 权重求解知识在实现权重求解的过程中,首先要对标度值为精确数进行全面考虑,假设X={X 1,...,X n }属于方案集,其中N={1,...,n}。
假如专家根据互反型标度实现候选方案两两对比之后进行幅值,就鞥能够得到互反判断矩阵A=(a ij )n*n ,其具备以下性质:其一,i,j ∈N,a ij >0,a ij =1,a ij =1/a ij ;其二,i,j,k ∈N,在a ij =a ik a ki 成立的时候,那么A 指的就是一致性互反判断矩阵。
层次分析法判断矩阵层次分析法判断矩阵程序先确定判断矩阵;然后用以下程序就好了:%层次分析法的matlab程序%%%%diertimoxingyiclc,cleardisp(输入判断矩阵);% 在屏幕显示这句话A=input(A=);% 从屏幕接收判断矩阵[n,n]=size(A);% 计算A的维度,这里是方阵,这么写不太好x=ones(n,100);% x为n行100列全1的矩阵y=ones(n,100);% y同xm=zeros(1,100);% m为1行100列全0的向量m(1)=max(x(:,1));% x第一列中最大的值赋给m的第一个分量y(:,1)=x(:,1);% x的第一列赋予y 的第一列x(:,2)=A*y(:,1);% x的第二列为矩阵A*y(:,1)m(2)=max(x(:,2));% x 第二列中最大的值赋给m的第二个分量y(:,2)=x(:,2)/m(2);% x的第二列除以m(2)后赋给y的第二列p=0.0001;i=2;k=abs(m(2)-m(1));% 初始化p,i,k为m(2)-m(1)的绝对值while k>p% 当k>p是执行循环体i=i+1;% i 自加1x(:,i)=A*y(:,i-1);% x的第i列等于A*y的第i-1列m(i)=max(x(:,i));% m的第i个分量等于x第i列中最大的值y(:,i)=x(:,i)/m(i);% y的第i列等于x的第i列除以m的第i个分量k=abs(m(i)-m(i-1));% k等于m(i)-m(i-1)的绝对值enda=sum(y(:,i));% y的第i列的和赋予aw=y(:,i)/a;% y的第i 列除以at=m(i);% m的第i个分量赋给tdisp(权向量:);disp(w);% 显示权向量wdisp(最大特征值:);disp(t);% 显示最大特征值t %以下是一致性检验CI=(t-n)/(n-1);% t-维度再除以维度-1的值赋给CIRI=[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摘要在定性问题的决策中,AHP是一种优秀的方法,其基础是对评价对象的两两比较,并用比较结果构造判断矩阵,而这些都依赖于决策者选用的偏好关系。
判断矩阵的最大特征值项目六 矩阵的特征值与特征向量实验1求矩阵的特征值与特征向量实验目的学习利用Mathematica(4.0以上版本)命令求方阵的特征值和特征向量能利用软件计算 方阵的特征值和特征向量及求二次型的标准形 .求方阵的特征值与特征向量.(1) 求矩阵A 的特征值.输入A={{-1,0,2},{1,2,-1},{1,3,0}}MatrixForm[A]Eigenvalues[A]则输岀A 的特征值{-1,1,1}(2) 求矩阵A 的特征向量.输入A={{-1,0,2},{1,2,-1},{1,3,0}}MatrixForm[A]Eigenvectors[A]{{-3,1,0},{1,0,1},{0,0,0}}即A 的特征向量为 1,0.0 1⑶利用命令Eigensystem 同时矩阵A 的所有特征值与特征向量.输入A={{-1,0,2},{1,2,-1},{1,3,0}}MatrixForm[A]Eigensystem[A]例1.1 (教材例1.1)求矩阵A 21 .的特征值与特值向量则输出则输岀矩阵A的特征值及其对应的特征向量2 3 4例1.2求矩阵A 3 4 5的特征值与特征向量4 5 6输入A=Table[i+j,{i,3},{j,3}]MatrixForm[A](1)计算矩阵A 的全部(准确解)特征值,输入Eigenvalues[A]则输出{0, 6 ■. 42 , 6 ..42 }(2) 计算矩阵A 的全部(数值解)特征值,输入Eigenvalues[N[A]]则输出{12.4807,-0.480741,-1.3483 10 16}(3) 计算矩阵A 的全部(准确解)特征向量,输入Eigenvectors[A]//MatrixForm则输出2 120 3 42-------- 1 23 4 4220 3 42----- -- 123 4 42(4) 计算矩阵A 的全部(数值解)特征向量,输入Eigenvectors[N[A]]//MatrixForm则输出0.430362 0.566542 0.7027220.80506 0.11119 0.5826790.408248 0.816497 0.408248(5) 同时计算矩阵A 的全部(准确解)特征值和特征向量,输入OutputForm[Eigensystem[A]]则输岀所求结果(6) 计算同时矩阵A 的零空间,输入NullSpace[A]1 172 42 234 42 17 2 42 23 4 42仅供学习与交流,如有侵权请联系网站删除谢谢3则输出{{1,21}}(7)调入程序包vvLinearAlgebra'Orthogonalization'后,还可以做以下的运算GramSchmidt[]:用Gram-Schmidt过程将向量组单位正交化;Normalize]]:将向量组单位化;Projection[vect1,vect2]:求从向量组 vectl 到 vect2 的正交映射. 输入vvLinearAlgebra 'Orthogonalization 'GramSchmidt[Eigenvectors[N[A]]]//MatrixForm则输出0.430362 0.566542 0.7027220.80506 0.11119 0.5826790.408248 0.816497 0.4082481 2 3例1.3 求方阵M 2 1 3的特征值和特征向量3 3 6输入Clear[M];M={{1,2,3,},{2,1,3}{3,3,6}};Eigenvalues[M]Eigenvectors[M]Eigensystem[M]则分别输出{-1,0,9}{{-1,1,0},{-1,-1,1}{1,1,2}}{{-1,0,9},{{-1,1,0},{-1,-1,1}{1,1,2}}}1/3 1/3 1/2例1.4 (教材例1.2)求矩阵A 1/5 1 1/3的特征值和特征向量的近似值6 1 2输入A={{1/3,1/3,-1/2},{1/5,1,-1/3},{6,1,-2}};Eigensystem[A]仅供学习与交流,如有侵权请联系网站删除谢谢4则屏幕输岀的结果很复杂,原因是矩阵A的特征值中有复数且其精确解太复杂.此时,可采用近似形式输入矩阵 A,则输岀结果也采用近似形式来表达 .输入A={{1/3,1/3,-1/2},{1/5,1,-1/3},{6.0,1,-2}};Eigensystem[A]则输出{{-0.748989+1.27186i,-0.748989-1.27186i,0.831311},{{0.179905+0.192168i,0.116133+0.062477l,0.955675+0.i},{0.179905-0.192168i,0.116133-0.062477i,0.955675+0.i},{-0.0872248,-0.866789,-0.490987}}}从中可以看到A有两个复特征值与一个实特征值.属于复特征值的特征向量也是复的;属于实特征值的特征向量是实的.3 0 0例1.5 (教材例1.3)已知2是方阵A 1 t 3的特征值,求t .1 2 3输入Clear[A,q];A={{2-3,0,0},{-1,2-t,-3},{-1,-2,2-3}};q=Det[A]Solve[q==0,t]则输出{{t 8}}即当t 8时,2是方阵A的特征值.2 12例1.6 (教材例1.4)已知x (1,1, 1)是方阵A5 a 3 的一个特征向量,求参数1 b 2a,b及特征向量x所属的特征值.设所求特征值为t,输入Clear[A,B,v,a,b,t];A={{t-2,1,-2},{-5,t-a,-3},{1,-b,t+2}};v={1,1,-1};B=A.v;Solve[{B[[1]]==0,B[[2]]==0,B[[3]]==0},{a,b,t}]则输出仅供学习与交流,如有侵权请联系网站删除谢谢5{{a -3, b 0, t -1}}即a 3,b 0时,向量x (1,1, 1)是方阵A的属于特征值-1和特征向量.矩阵的相似变换4 1 1例1.7 (教材例1.5)设矩阵A 2 2 2,求一可逆矩阵P ,使P 1AP为对角矩阵.2 2 2方法1输入Clear[A,P];A={{4,1,1},{2,2,2},{2,2,2}};Eigenvalues[A]P=Eigenvectors[A]//Transpose则输出{0,2,6}{{0,-1,1},{-1,1,1},{1,1,1}}0 1 1 0 1 1即矩阵A的特征值为0,2,6特征向量为 1 , 1与1 矩阵P 1 1 11 1 1 1 1 1可验证P 1AP为对角阵,事实上,输入Inverse[P ]. A.P则输出{{0,0,0},{0,2,0},{0,0,6}}因此,矩阵A在相似变换矩阵P的作用下,可化作对角阵.方法2 直接使用JordanDecomposition命令,输入jor=JordanDecomposition[A]则输出{{{0,-1,1},{-1,1,1},{1,1,1}},{{0,0,0},{0,2,0},{0,0,6}}}可取岀第一个矩阵S和第二个矩阵,事实上,输入jor[【1]]jor[【2]]则输出{{0,-1,1},{-1,1,1},{1,1,1}}{{0,0,0},{0,2,0},{0,0,6}}输岀结果与方法1的得到的结果完全相同. 仅供学习与交流,如有侵权请联系网站删除谢谢61 0例1.8 方阵A 是否与对角阵相似?2 1输入Clear[A];A={{1,0},{2,1}};Eigensystem[A]输岀为{{1,1},{{0,1}{0,0}}}于是,1是二重特征值,但是只有向量{0,1}是特征向量,因此,矩阵A不与对角阵相似2 0 0 1 0 0 例1.9 (教材例1.6)已知方阵A 2x2与B 0 2 0相似,求x, y .3 11 0 0 y注意矩阵B是对角矩阵,特征值是1,2, y.又矩阵A是分块下三角矩阵,-2是矩阵A的特征值矩阵A与B相似,则y 2,且-1,2也是矩阵A的特征值.输入Clear[c,v];v={{4,0,0},{-2,2-x,-2},{-3,-1,1}};Solve[Det[v]==0,x]则输出{{x 0}}所以,在题设条件,x 0, y 2.输入0 1 1 01 0 1 0 1,求一个正交阵P,使P 1AP为对角阵1 1 0 00 0 0 2例1.10 对实对称矩阵AvvLinearAlgebra'OrthogonalizationClear[A,P]A={{0,1,1,0 },{1,0,1,0},{1,1,0,0},{0,0,0,2}};Eigenvalues[A]Eigenvectors[A]仅供学习与交流,如有侵权请联系网站删除谢谢7输岀的特征值与特征向量为{-1,-122}{{-1,0,1,0},{-1,1,0,0},{0,0,0,1},{1,1,1,0}} 再输入P=GramSchmidt[Eigenvectors[A]]//Transpose输岀为已经正交化和单位化的特征向量并且经转置后的矩阵P 丄。
度量判断矩阵相容性的新方法邓寿年;姜培华【摘要】判断矩阵是决策者在决策中提供的一种重要的偏好信息,为了使群组决定的结果具有更大的可靠性和说服力,需要判断矩阵间的差异.给出了度量正互反判断矩阵间相容性的3种通用指标, 并且得出这3种指标的相关性质和已有相容性指标间的联系,最后进行算例分析.【期刊名称】《安徽工程大学学报》【年(卷),期】2010(025)003【总页数】3页(P65-67)【关键词】判断矩阵;相容度;相容性指标【作者】邓寿年;姜培华【作者单位】安徽工程大学,应用数理学院,安徽,芜湖,241000;安徽工程大学,应用数理学院,安徽,芜湖,241000【正文语种】中文【中图分类】O223运用层次分析法(AHP)进行群组决策的一个重要步骤是对多个专家给出的判断矩阵进行综合。
但当专家意见分歧较大时,勉强进行综合,其结果往往差强人意,难以具有说服力,为此在进行矩阵综合前,我们必须讨论以下两个问题:如何度量两个判断矩阵的差异?多大的差异可以允许?这些问题均可用“相容性”来表征[1-2].文献[2-4]均给出了矩阵相容性的度量方法,本文给出了另外3种度量矩阵相容性的方法,并得出相关性质和已有相容性指标间的联系.1 判断矩阵相容性关于矩阵间的距离的度量,常用的是“范数”,常见的范数有:欧式范数‖A-B‖E=;∞范数‖A-B‖∞=ma i x|aij-bij|(其中由于正互反判断矩阵的元素是由比例标度得到的.因此我们在考察两正互反矩阵间的距离时,要同时考虑元素间的绝对差异和相对差异.例如1/2和1/8的差比4与5的差要小,但前者对两矩阵差异的影响可能更大.上述两种范数都没有考虑元素间的相对差异,所以用来度量两正互反判断矩阵间的距离是不恰当的.Satty在文献[5]中给出了度量两个判断矩阵相容性的概念和方法.定义1 设M为n阶正互反矩阵的集合,则由判断矩阵A∈M 得到的排序向量为(w1,w2,…,称为A的特征矩阵.定义 2 设,A,B ∈ MRnt ,A,B称为完全相容的,若对任意i,j均有ai,j=bi,j.文献[2]给出了一个度量正互反判断矩阵相容性指标,其中A=,B=(bij)n×n,A,B ∈ M.相容度C(A,B)同时考虑了判断矩阵中元素的绝对值与相对值对正互反判断矩阵整体差异的影响,因而用来度量两矩阵的相容性是合适的.易证相容性具有下述性质:(1)自反性.A与A相容即C(A,A)=n2;(2)对称性.即C(A,B)=C(B,A);(3)传递性.若A与B完全相容,B与C完全相容,则A与B完全相容 .本文认为度量判断矩阵相容性还有3种方法:设易证S1(A,B),S2(A,B),S1(A,B)也具有自反性、对称性和传递性.以下给出新定义的相容性指标的相关性质.定理1 S1(A,B)=S2(A,B).证明记,不妨设a2>b2,则 max(a2,b2)=a2,min(a2,b2)=b2,所以定理 2 设证明由于A,B∈.定理3 C(A,B)=S3(A,B).证明由于由于A,B∈M ,则有由上述定理可将S1(A,B),S2(A,B),记为S(A,B).由于定理3中C(A,B)=S3(A,B),文献[2]中已证n2≤C(A,B)易得 .定理4 n2≤C(A,B)≤S(A,B),当且仅当 A与B完全相容时,S(A,B)=n2.定义3 设A,B∈MRt n ,指标C I(A,B)=C(A,B)/n2或者SI(A,B)=S(A,B)/n2,称为A 与B的相容性指标.定义4 设A,B∈MRnt,若C I(A,B)≤SI*,则称A与B相容,若SI(A,B)≤SI*,则称A与B的具有满意相容性,若C I(A,W)≤S*I,则称A是一致性可接受的.其中W为A的特征矩阵,S*I为相容性指标的临界值,一般取SI*=1.1较为适合[2-4].由定理4可知,若A与B的具有满意相容性,则A与B相容.2 算例设有判断矩阵由特征根法得到它们各自的排序向量w 1=(0.104 7,0.258 3,0.637 0),w2=(0.085 2,0.270 6,0.6442),相应的特征矩阵为利用定义3求得相容性指标C I(A(1),A(2))=1.013≤1.1,SI(A(1),A(2))=1.1185≥1.1,故A(1)和A(2)相容,但不具有满意相容性.利用定义4求得CI(A(1),W(1))=1.0128≤1.1,C I(A(2),W(2))=1.101 79≤1.1,均是一致性可接受的.此外还可求得A(1)和A(2)的一致性比率分别为 C.R(A(1))=0.033 2),C.R(A(2)=0.046 2),其值均小于0.1,通过一致性检验,这与我们的结果相符.事实上,文献[2]已指出,A与其特征矩阵的相容性和A的一致性是一致的,可以认为当A有通过一致性检验时,A与其特征矩阵也相容.同时一致性指标与相容性指标又是不同的,前者用来判断正互反矩阵自身的逻辑性质是否一致,而后者则用来判断两正互反矩阵的关系.只有判断正互反矩阵与其特征矩阵的关系时,二者才是相同的.参考文献:[1] 王莲芬,许树柏.层次分析法引论[M].北京:中国人民大学出版社,1990.[2] 王莲芬.相容性与群组决策[J].系统工程理论与实践,2000,20(2):92-96.[3] 徐泽水.衡量判断矩阵相容性的一个通用指标[J].东南大学学报:自然科学版,2001,31(6):94-97.[4] 徐泽水,刘海峰.六类不确定型判断矩阵的相容性研究[J].模糊系统与数学,2003,17(2):53-58.[5] Saaty T L.A Ratio Scale Metric and Compatibility of Ratio Scales[C]//On the Possibility of Arrow′s Impossibility Theorem.ISAHPWashington,DC,1994.。
反称矩阵定义
嘿,大家知道什么是反称矩阵吗?这可是个很有意思的概念哦!
简单来说,反称矩阵就是具有特殊性质的一种矩阵。
那它特殊在哪儿呢?想象一下,有一个矩阵,它的主对角线上的元素全都是 0,然后其他位置的元素呢,关于主对角线对称的元素互为相反数。
就好像是一个奇妙的数字排列组合,有着自己独特的规律。
比如说,有这样一个3×3 的反称矩阵,第一行是 0、1、-2,第二行是-1、0、3,第三行是 2、-3、0。
是不是感觉很神奇呀?
反称矩阵在很多数学领域都有重要的应用呢!就好比是一把神奇的钥匙,能打开很多知识的大门。
在代数、几何等方面,它都发挥着重要的作用。
那为什么反称矩阵这么重要呢?哎呀,这就好像是一个独特的工具,能帮助我们解决很多复杂的问题呀!它能让我们更深入地理解数学中的一些现象和规律。
而且,反称矩阵和对称矩阵就像是一对好兄弟,虽然它们有不同的特点,但都有着不可替代的地位。
总之,反称矩阵是数学世界中一个非常特别、非常重要的存在!大家是不是对它更感兴趣了呢?。
正交矩阵和反交矩阵是线性代数中的两个概念,它们的乘积就是正交矩阵的逆,也就是一个矩阵和它的逆矩阵互为反交矩阵。
正交矩阵指的是实数域上的一个n维矩阵,满足其转置矩阵与自己的乘积为单位矩阵。
而反交矩阵指的是正交矩阵的行列式为-1的矩阵。
因此,正互反矩阵指的是满足以下两个条件的实数矩阵:它是正交矩阵,即它的转置矩阵和自己的乘积为单位矩阵;同时它的行列式为-1,也就是说它是一个反交矩阵。
正互反矩阵在许多领域都有应用,例如在三维计算机图形学中,它们可以用来表示旋转和镜像操作。