资源简介
关于层次分析法和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# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论