资源简介
关于层次分析法和c#结合,一个很好的例子,可以参考下,对编程和系统开发很有帮助,
代码片段和文件信息
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/*数据表的结构*/
public struct TGrid{
public int m;
public int n;
public int[] tag; /*关联标记*/
public float[] GArray; /*用于存放读入的判断矩阵的数据*/
};
/*用于保存特征向量与权值的数据结构*/
public struct TProperty{
public float CR; /*一次性比率*/
public float CI; /*一致性指标*/
public float RI; /*随机一致性指标*/
public float max; /*最大特征值λmax*/
public float[] W; /*用来存放权值ω的数组(最多20行或列)*/
public int n;
};
///
/// CJudgeMatrix 的摘要说明
///
public class CJudgeMatrix
{
public int MAXSIZE=20;
public int TOTALGRIDNUM=30; /*最多可以有30个表即A+C<=30*/
public double eps=0.000001; /*Similar 0*/
/*存放不同的随机一致性指标RI*/
public float[] valueRI=new float[]{0 0 0.52f0.89f 1.12f 1.24f 1.32f1.41f 1.45f1.49f1.52f1.54f1.56f1.58f1.59f };
public CJudgeMatrix()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/****************************************和积法***************************************/
public TProperty SumMethod1(TGrid tempG)
{
int ij;
float[] tArr=new float[MAXSIZEMAXSIZE];
float tempSSumWCIRICR;
float[] s=new float[MAXSIZE];
float[] b=new float[MAXSIZE];
TProperty p;
p.W = new float[MAXSIZE];
/*按列归一化*/
for(j=0;j {
s[j]=0;
for(i=0;i s[j]=s[j]+tempG.GArray[ij];
for(i=0;i tArr[ij]=tempG.GArray[ij]/s[j];
}
/*按行求和*/
for(i=0;i { b[i]=0;
for(j=0;j b[i]=b[i]+tArr[ij];
}
SumW=0;
for(i=0;i SumW=SumW+b[i];
/*求ω*/
for(i=0;i {
b[i]=b[i]/SumW;
p.W[i]=b[i];
}
/*求矩阵的最大特征根λmax*/
for(tempS=0i=0;i {
for(SumW=0 j=0;j SumW=SumW+tempG.GArray[ij]*b[j];
SumW=SumW/b[i];
tempS=tempS+SumW;
}
tempS=tempS/tempG.m;
p.max = tempS;
/* for(i=0j=0;i {
if (tempG.tag[i]==1) p.W[i] = b[j++];
else p.W[i] = 0;
}*/
p.CI=(tempS-tempG.m)/(tempG.m-1);
p.RI=valueRI[tempG.m-1];
p.CR=(float)(p.CI/(p.RI==0?CCommonFunc.eps:p.RI));/*防止除数为0*/
p.n=tempG.n;
return p;
}
/***************************************和法***************************************/
///
/// 求特征向量、精度指标_和法
///
///
///
public TProperty SumMethod(TGrid tempG)
{
int i j;
float[] tArr = new float[MAXSIZE MAXSIZE];
相关资源
- C# TIP文件生成和拆解
- C#解析HL7消息的库135797
- C# OCR数字识别实例,采用TessnetOcr,对
- 考试管理系统 - C#源码
- asp.net C#购物车源代码
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
川公网安备 51152502000135号
评论
共有 条评论