灰色关联度分析MATLAB程序讲解学习
(整理)灰色关联度分析法

灰色关联度分析法为了适应瞬息万变的市场需求, 企业不断调整自己的核心能力, 在产品的开发设计中更重视供应商的作用。
作为供应链合作关系运行的基础, 供应商的评价选择是一个至关重要的问题, 供应商的业绩对企业的影响越来越大,影响着企业的生存与发展。
因此, 进行科学全面的供应商评价就显得十分必要。
(1)确定比较对象产品质量、技术水平、供应能力、经济效益、市场影响度指标属于效益型指标;产品价格、地理位置、售后服务指标属于成本型指标。
i 指五个待选供应商编号,,5,,1 =i j 指八个指标8,,1j =,ij a 是第i 个供应商第j 个指标变量为了使每个属性变换后的最优值为1 且最差值为0,对数据进行标准0-1变换利润型指标标准化公式)/()(min maxmin j j j ij ij a a a a b --=成本型指标标准化公式)/()(min max max j j ij j ij a a a a b --=数据结果见下表。
(2)计算灰色关联系数)()(max max )()()()(max max )()(min min )(0000t x t x k x k x t x t x t x t x k s tsi s ts s ts -+--+-=ρρξ为比较数列对参考数列在第个指标上的关联系数,其中为]1,0[∈ρ分辨系数。
称式中)()(min min 0t x t x s ts-、)()(max max 0t x t x s ts-分别为两级最小差及两级最大差。
一般来讲,分辨系数ρ越大,分辨率越大;ρ越小,分辨率越小。
在这里ρ取0.5。
(3)计算灰色加权关联度 灰色加权关联度的计算公式为∑==nk i i k w r 1)(ξ这里i r 为第i 个评价对象对理想对象的灰色加权关联度。
关联系数和关联度值(4)评价分析根据灰色加权关联度的大小,对各评价对象进行排序,可建立评价对象的关联序,关联度越大其评价结果越好。
灰色预测模型及MATLAB实例

灰⾊预测模型及MATLAB实例下⾯将主要从三⽅⾯进⾏⼤致讲解,灰⾊预测概念及原理、灰⾊预测的分类及求解步骤、灰⾊预测的实例讲解。
⼀、灰⾊预测概念及原理:1.概述:关于所谓的“颜⾊”预测或者检测等,⼤致分为三⾊:⿊、⽩、灰,在此以预测为例阐述。
其中,⽩⾊预测是指系统的内部特征完全已知,系统信息完全充分;⿊⾊预测指系统的内部特征⼀⽆所知,只能通过观测其与外界的联系来进⾏研究;灰⾊预测则是介于⿊、⽩两者之间的⼀种预测,⼀部分已知,⼀部分未知,系统因素间有不确定的关系。
细致度⽐较:⽩>⿊>灰。
2.原理:灰⾊预测是通过计算各因素之间的关联度,鉴别系统各因素之间发展趋势的相异程度。
其核⼼体系是灰⾊模型(Grey Model,GM),即对原始数据做累加⽣成(或者累减、均值等⽅法)⽣成近似的指数规律在进⾏建模的⽅法。
⼆、灰⾊预测的分类及求解步骤:1.GM(1,1)与GM(2,1)、DGM、Verhulst模型的分类⽐较:预测模型适⽤场景涉及的序列GM(1,1)模型⼀阶微分⽅程,只含有1个变量的灰⾊模型。
适⽤于有较强指数规律的序列。
累加序列均值序列GM(2,1)模型适⽤于预测预测具有饱和的S形序列或者单调的摆动发展序列缺陷。
累加序列累减序列均值序列DGM模型累加序列累减序列Verhulst模型累加序列均值序列2.求解步骤思维导图:其中预测过程可能会涉及以下三种序列、⽩化微分⽅程、以及⼀系列检验,由于⼤致都相同,仅仅是某些使⽤累加和累减,⽽另外⼀些则使⽤累加、累减和均值三个序列的差别⽽已。
于是下⾯笔者将对其进⾏归纳总结再进⾏绘制思维导图,帮助读者理解。
(1)原始序列(参考数据列):(2)1次累加序列(1-AGO):(3)1次累减序列(1-IAGO ):(也就是原始序列中,后⼀项依次减去前⼀项的值,例如,[x(2)-x(1),x(3-x(2),...,x(n)-x(n-1))]。
)(4)均值⽣成序列:(这是对累加序列"(前⼀项+后⼀项)/2"得出的结果。
matlab 灰度算法 -回复

matlab 灰度算法-回复【MATLAB灰度算法】灰度算法是一种将彩色图像转化为黑白图像的方法,在计算机视觉和图像处理领域被广泛使用。
MATLAB是一种强大的数学计算工具,它提供了丰富的图像处理函数和工具箱,可用于实现灰度算法。
本文将逐步回答如何使用MATLAB实现灰度算法,并介绍一些常用的灰度算法技术。
# 第一步:图像读取与显示在MATLAB中,可以使用`imread`函数读取图像,使用`imshow`函数显示图像。
我们首先需要读取一张彩色图像,并将其显示出来。
matlab读取彩色图像rgbImage = imread('image.jpg');显示彩色图像imshow(rgbImage);title('Original Image');# 第二步:转化为灰度图像灰度图像是一种每个像素只有一个灰度值(亮度值)的图像。
在MATLAB中,可以使用`rgb2gray`函数将彩色图像转化为灰度图像。
matlab将彩色图像转化为灰度图像grayImage = rgb2gray(rgbImage);显示灰度图像imshow(grayImage);title('Grayscale Image');# 第三步:灰度化算法选择灰度化算法决定了如何将彩色图像中的RGB信息转化为灰度图像中的灰度值。
常用的灰度化算法有平均值法、加权平均法和分量最大法等。
下面分别介绍这些算法并给出MATLAB代码实现。
平均值法平均值法是最简单的灰度化算法之一,它将彩色图像的RGB分量的平均值作为灰度值。
具体实现如下:matlab平均值法灰度化averageGrayImage = (rgbImage(:, :, 1) + rgbImage(:, :, 2) + rgbImage(:, :, 3)) / 3;显示平均值法灰度图像imshow(averageGrayImage);title('Average Grayscale Image');加权平均法加权平均法是一种考虑了RGB分量的亮度影响的灰度化算法。
灰色模型matlab程序(1)

灰色模型matlab程序%alpha是包含α、μ值的参数矩阵;ago是预测后累加值矩阵;var是还原预测值矩阵;error是残差矩阵;c是后验差比值clc %清屏,以使结果独立显示format long; %设置计算精度x=[10.90,11.57,11.36,11.49,11.82];if length(x(:,1))==1 %对输入矩阵进行判断,如不是一维列矩阵,进行转置变换x=x';endn=length(x); %取输入数据的样本量z=0;for i=1:n %计算累加值,并将值赋予矩阵bez=z+x(i,:);be(i,:)=z;endfor i=2:n %对原始数列平行移位y(i-1,:)=x(i,:);endfor i=1:n-1 %计算数据矩阵B的第一列数据c(i,:)=-0.5*(be(i,:)+be(i+1,:));endfor j=1:n-1 %计算数据矩阵B的第二列数据e(j,:)=1;endfor i=1:n-1 %构造数据矩阵BB(i,1)=c(i,:);B(i,2)=e(i,:);endalpha=inv(B'*B)*B'*y; %计算参数矩阵for i=1:n+1 %计算数据估计值的累加数列,如改为n+1为n+m可预测后m-1个值ago(i,:)=(x(1,:)-alpha(2,:)/alpha(1,:))*exp(-alpha(1,:)*(i-1))+alpha(2,:)/a lpha(1,:);endvar(1,:)=ago(1,:)for i=1:n %如改n为n+m-1,可预测后m-1个值var(i+1,:)=ago(i+1,:)-ago(i,:); %估计值的累加数列的还原,并计算出下一预测值endfor i=1:nerror(i,:)=var(i,:)-x(i,:); %计算残差endc=std(error)/std(x) %调用统计工具箱的标准差函数计算后验差的比值c。
灰色关联度 matlab

灰色关联度matlab
灰色关联度是一种用于研究因素之间关联程度的方法,常用于灰色系统理论。
在Matlab 中,你可以使用以下步骤计算灰色关联度:
1.数据准备:将你的数据整理成矩阵形式,其中每一行代表一个因素,每一列代表不同的观测值。
2.数据标准化:对数据进行标准化,确保所有的数据都在相似的尺度上。
你可以使用Matlab内置的`zscore`函数来进行标准化。
```matlab
%假设data是你的数据矩阵
standardized_data=zscore(data);
```
3.计算关联系数:计算标准化后数据的关联系数。
关联系数通常使用绝对值来计算。
```matlab
correlation_matrix=abs(corr(standardized_data));
```
4.计算灰色关联度:利用关联系数计算灰色关联度。
灰色关联度的计算方式可以根据具体的算法来确定,例如可以使用灰色关联度分析法中的一种。
假设你采用灰色关联度分析法中的一种算法,比如最小值法:
```matlab
%假设correlation_matrix是关联系数矩阵
gray_relation_degree=1./(1+correlation_matrix);
```
5.结果分析:分析计算得到的灰色关联度矩阵,了解因素之间的关联程度。
请注意,以上步骤是一种简单的实现方式,具体的计算方法可能会根据你选择的灰色关联度算法而有所不同。
确保在实际应用中了解所使用算法的具体计算步骤。
灰色预测MATLAB程序

灰色预测心设尹曲⑴#为原始数列,其1次累<加生成数列为炉=(孝①宀2\S,其中©=2^°:⑺卫=12…止i-1尋定文沙的灰导数为d(Jt)=玄㈣(Jt)=尤⑴的-工⑴(*-1).令尹为数列壬⑴的邻值生成数列,即尹)(町=加小(町十(1—a)x山(k-1).于是定文GM(1T1)的灰微分方程模型为d(k)+az①(上)=&_即或.严⑹+盘⑴懐)=乩⑴在式(1)中口①的称为灰导数’熬称为发展系数'弧称为白化背景值,b称为灰作用量。
将时刻表庄=23…用代入(O式有j<0)(2)-az⑴(2)=工®⑶—俺叫巧=»于是GMIL)樫型可表示为r=现在问题归结为求巧h在值。
用一元绒性回归,即最小二垂進求它们的估计值住=[]卜护跖护F奕厢上回归分析中求诂计值是用软件计算的,有标淮程博求解,如山訥甜等。
GM(1.1)的白化型对于的(1-1)的获微分方程⑴,如果将解导教矿悶的时報=%…屮观対连续叢里"则工⑴衩为时间i函敕卅®,于是-<'W耐应于导敕重级必%),白化背杲值刃(時对应于导數申⑴。
于是GM(1,1)的换微分方嗨对应于的白微分方程为写®4曲%「)=也⑵GAI(1>1)换色预刪的步叢1-數堀的椅噓弓处理为了保证©M(B1)屋複方达的可行性・需要対已却皴堀锁必要的检峻处Ho 设療皓数攥列为了-计算埶列的级比如果所有的级比都落在可容覆盖区间盂-內・则數摒列X糾可咲建立G*ICL-1)複型且可以避行页色预测。
否则,丙軌据懺适当的叢换处理,如平移銮换:取C使得敕培列严⑹二工蚀盘)+匚用二12…”的级比都落在可啓禎盖内。
(1)残差檢验:计算相对薙差Z 建立GM (L T 1)複型不妬设少弋以m 叫唠霸足上面的要求,以它芮議堀列建立GM(1>1)型蛊(仍(i)+血C1\A)=b ・用回归分祈求得目上的估计值"于是相应的白化模型为 气^十小卄工解为工叱)=0)①—勺中1-色-⑶ 应Q于是停到预测值壬⑴(上+1)=0叫1)一勺>加+仝血二12…卫一1=aa伙而相应地得到预«=x co \t +1)=x 0)(t+l)-x a)(i)3i =1,2,-?n-l ?如果对所有的^<0.1・则认为达到鞭嵩的要求:否则,若耐所有的|^)1<0^,则认対达到一般要求©(2)级比偏差値桧验:计算能)=1-呂学©如果对所有的|,则认为达列较高的要求孑吾则若对斫有的,则认为达到一般要求O灰色预测计算实例^…;=:=-■■■■昏例北方某城市1986—1992年道路交通噪声平均声级数据见表6序号年吶寺表拆市近年来交通噪声数据[眶(应)]二諾;二319S872.4第—爭:级比检验建立丢通噪屛均声级数锯时间序列如下:4198972.1j 1990?1.4 619?17201199771.6艸=(•严①卫购(2)厂卅⑺) =(711,72.4.71.4,72.1.71.4,7UQ.71.6)些(1)求级比k(k)忠防护住T)2=(几⑵山⑶.…也⑺)g=(0.982JJ.0042J.0098-0.9917J.0056)(2)级比判断由于所有的X.(10e[0.982J.009S],k=2,3.6故可以用双0)作满意的GM(1,1)建模’第二步:GM(1,1)建模(1)对原始数据X®作一次累加,即卞⑴=(71.L143.5215.9.288359.4.431.4,503)(2)构造数据矩阵B及数据向量Y-2)—H 弋3/>1⑶讦算1T心求解得F'⑴=(工倒〔1〉_-)e 弋Q f+-1*^+1)=0<l,U)--)£-t +-=-3092^--^+31000⑶求生咸数列值歸型齊看:n令“is 那血由上面的碉醯数可甲得,其中取菱由龙⑴(i}=恥壮曲5加得丁I —"炉閃=进悶-进德-尊(71儿72.4.72.2:72.1:71.9:71.7,71.6)^}=(s"a >亍⑴⑵,…,网⑺A<第三步;模型检验•>模型的各种检验指标值的计算结果见表工 •t*表7GM(1检验表<序号年俯原始值模型值残差相对误差级比偏差•>1 19S6 71.1 71.1<219S7 72.4 72.4 -0.0057 0.01%0.0023 <3 19S S 72.4 72.2 0.163S 0.23%0.0203 •>4 19S9 72.1 72.1 0.0329 0.05%-O.(K H8 •>5199071.4 71.9 -0-49S4 0.7%-0.0074 <61991 72.0 71.7 0.21599 037%0.0107<71992 71.6 71.6 0.037S0.05%-0.0032于是得到目=山的餡,立欖型7-B)'1B TY=(dt0.0023 72.6573dt+0.002ix (1>=72.657^心经验证・该模型的精度较高.可进行预测和预报计算的Matlab 程序如下:仃坝测和预报n=length(x); z=0;%取输入数据的样本量for i=1:nz=z+x(i,:)be(i,:)=z; %计算累加值,并将值赋予矩阵beend for i=2:n %对y(i-1,:)=x(i,:)%对原始数列平行移位 endfor i=1:n-1%计算数据矩阵B 的第一列数据c(i,:)=-0.5*(be(i,:)+be(i+1,:)); clCjdearxO=[71H 72.472A 72J71477m c n.lengthtxO);*'b%注意这里为列帖lamda =xD(l :n-1),A0(2:n)%计算级比range =minmaxflamda f )%计算级比的范阖 X1=cumsum(xO);%累加运算B=['0,5*(xl(l ;n ^l)+xl(2:n))t ones(n -1,1)]TY 二甸(2:町;口=B\Y%拟合参数u(l>=a .u(2)=bx=dsolve (+a 'x =b\f x(0)-xO^J ;%求徴分方程的特号解x =subs(xJ*a\,b r /xO ,Mu(l)P u(2)t xO(l)|)i%代入荷计痹擞值和初蜡值yucel =subs %求巳知数擁的扳测位y-vpa(x,6)奄其中的石表示显不白位数字yuce=[x0(l)T diff(yucel)]%羔分运算,还原数据 epsiIon=-yuce%计算战羞作用:求累加数列、求ab 的值、求预测方程、求残差clc %清屏,以使结果独立显示x=[71.172.472.472.171.472.071.6]; format long ;%设置计算精度if length(x(:,1))==1%对输入矩阵进行判断,如不是一维列矩阵,进行转置变换x=x endM.I-JTVorhlllst 模型endfor j=1:n-1%计算数据矩阵B的第二列数据e(j,:)=1;endfor i=1:n-1%构造数据矩阵BB(i,1)=c(i,:);B(i,2)=e(i,:);endalpha=inv(B'*B)*B'*y;%计算参数矩阵即ab的值for i=1:n+1%计算数据估计值的累加数列,如改为n+1为n+m可预测后m-1个值ago(i,:)=(x(1,:)-alpha(2,:)/alpha(1,:))*exp(-alpha(1,:)*(i-1))+alpha( 2,:)/alpha(1,:);%显示输出预测值的累加数列endvar(1,:)=ago(1,: )for i=1:n%显示输出预测值%如改n为n+m-1,可预测后m-1个值var(i+1,:)=ago(i+1,:)-ago(i,:);%估计值的累加数列的还原,并计算出下一预测值endfor i=1:nerror(i,:)=x(i,:)-var(i,:);%计算残差endc=std(error)/std(x);%调用统计工具箱的标准差函数计算后验差的比值cago alpha var%显示输出预测值的累加数列%显示输出参数数列%显示输出预测值error %显示输出误差c %显示后验差的比值作用:数据处理判断是否可以用灰色预测、求级比、求累加数列、求ab的值、求预测方程clc,clearx0=[71.172.472.472.171.472.071.6]';%注意这里为列向量n=length(x0);lamda=x0(1:n-1)./x0(2:n)%计算级比range=minmax(lamda')%计算级比的范围x1=cumsum(x0)%累加运算B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)];Y=x0(2:n);u=B\Y%拟合参数u(1)=a,u(2)=bx=dsolve('Dx+a*x=b','x(0)=x0');%求微分方程的符号解x=subs(x,{'a','b','x0'},{u(1),u(2),x0(1)})%代入估计参数值和初始值yuce1=subs(x,'t',[0:n-1]);%求已知数据的预测值y=vpa(x,6)%其中的6表示显示6位数字yuce=[x0(1),diff(yuce1)]%差分运算,还原数据。
灰色关联matlab 正向化处理

灰色关联matlab 正向化处理灰色关联分析是一种常用的数据分析方法,它可以用于研究不同因素之间的相关性。
在该方法中,我们可以利用MATLAB进行正向化处理,以进一步优化数据分析结果。
我们需要明确什么是灰色关联分析。
灰色关联分析是一种将灰色系统理论与统计分析方法相结合的数据分析方法。
它基于关联度的概念,通过对数据序列进行灰色化处理,从而实现对数据间关联关系的评估与分析。
在进行灰色关联分析时,通常需要先进行正向化处理。
正向化处理是将原始数据序列进行标准化和转换,以便进行后续的数据分析。
在MATLAB中,我们可以使用一系列函数和工具来实现正向化处理。
我们需要导入原始数据序列到MATLAB环境中。
假设我们有一个包含n个样本的数据序列X=[x1, x2, ..., xn],其中xi表示第i个样本的取值。
我们可以使用MATLAB中的矩阵或向量来表示这个数据序列。
接下来,我们需要进行数据的标准化处理。
标准化可以使得不同维度的数据具有相同的量纲和范围,以便进行后续的分析。
在MATLAB中,我们可以使用函数zscore来实现标准化处理。
该函数可以计算每个样本的标准分数,即将每个样本的取值减去均值,再除以标准差,从而得到标准化后的数据序列。
然后,我们需要进行数据的转换处理。
转换处理可以通过一些数学函数或方法来改变数据的形式,以便更好地展现数据间的关联关系。
在灰色关联分析中,常用的转换方法包括累加处理、差分处理和模型建立等。
这些方法可以根据具体问题的需求来选择和应用。
我们可以使用灰色关联度指标来评估数据间的关联关系。
灰色关联度指标是衡量数据间关联程度的一个重要指标,它可以反映出不同因素对目标因素的影响程度。
在MATLAB中,我们可以使用灰色关联度函数graycomatrix来计算灰色关联度矩阵。
该函数可以根据数据序列的正向化处理结果,计算出不同因素间的关联度程度。
灰色关联分析是一种常用的数据分析方法,可以用于研究不同因素之间的相关性。
数学建模——灰色关联度分析讲解

for i=1:15 x(i,:)=x(i,:)/x(i,1); %标准化数据 end for i=16:17 x(i,:)=x(i,1)./x(i,:); %标准化数据 end data=x; n=size(data,1); ck=data(1,:);m1=size(ck,1); bj=data(2:n,:);m2=size(bj,1); for i=1:m1 for j=1:m2 t(j,:)=bj(j,:)-ck(i,:); end jc1=min(min(abs(t'))); jc2=max(max(abs(t'))); rho=0.5; ksi=(jc1+rho*jc2)./(abs(t)+rho*jc2); rt=sum(ksi')/size(ksi,2); r(i,:)=rt; end r
因 素 分 析 优 势 分 析 综 合 评 价
二、铅球运动员专项成绩的因素分析 通过对某健将级女子铅球运动员的跟踪调查,获 得其 1982~1986 年每年最好成绩及 16 项专项素质和 身体素质的时间序列资料,见下表。
指 铅球专项成绩 4 公斤前抛 4 公斤后抛 4 公斤原地 立定跳远 高翻 抓举 卧推 3 公斤前抛 3 公斤后抛 3 公斤原地 3 公斤滑步 立定三级跳远 全蹲 挺举 30 米起跑 100 米
X i (1) X i (1) X i (1) X i (1) Xi 1, X (2) , X (3) , X (4) , X (5) i 15,16 i i i i
依照问题的要求,我们自然选取铅球运动员专项 成绩作为参考数列,将上表中的各个数列的初始化数 列代入(1) 、 (2) ,易计算出各数列的关联度,如下表 所示。
由于各因素各有不同的计量单位,因而原始数据存在量纲和数量级上的 差异,不同的量纲和数量级不便于比较,或者比较时难以得出正确结论。 因此,在计算关联度之前,通常要对原始数据进行无量纲化处理。