属性约简(MATLAB算法)有实例有讲解

合集下载

MatLab1第一讲 MatLab简介及基本运算

MatLab1第一讲   MatLab简介及基本运算

MatLab & 数学建模第一讲MatLab简介及基本运算一、MatLab简介MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。

那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert 合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。

从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。

在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。

在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。

这几乎成了九十年代教科书与旧版书籍的区别性标志。

在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。

在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。

在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。

在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。

如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence 公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。

matlab_简明实例教程

matlab_简明实例教程

matlab_简明实例教程MATLAB是一种强大的科学计算工具,广泛应用于科学研究、数据分析和工程计算等领域。

它具有简单易用的语法和丰富的函数库,可以快速实现复杂的计算任务。

本教程将为你提供一些简单实例,帮助你入门MATLAB。

1.计算圆的面积和周长```matlabradius = input('请输入圆的半径:');area = pi * radius^2;circumference = 2 * pi * radius;disp(['圆的面积为:', num2str(area)]);disp(['圆的周长为:', num2str(circumference)]);```2.计算两个向量的点积```matlabv1 = input('请输入向量1(用逗号分隔元素):');v2 = input('请输入向量2(用逗号分隔元素):');dot_product = dot(v1, v2);disp(['两个向量的点积为:', num2str(dot_product)]);```3.绘制正弦曲线```matlabx = 0:0.1:2*pi;y = sin(x);plot(x, y);xlabel('x');ylabel('sin(x)');title('正弦曲线');```4.求解方程```matlabsyms x;eqn = x^2 - 4 == 0;sol = solve(eqn, x);disp(['方程的解为:', char(sol)]); ```5.读取和写入文件```matlabfilename = 'data.txt';data = importdata(filename);disp('文件中的数据:');disp(data);output = [1 2 3; 4 5 6; 7 8 9];dlmwrite('result.txt', output, 'delimiter', '\t', 'precision', 4);disp('结果已保存到result.txt文件中。

Matlab技术优化算法演示与讲解

Matlab技术优化算法演示与讲解

Matlab技术优化算法演示与讲解近年来,随着科技的不断发展和应用领域的扩大,优化算法在解决实际问题中起到了重要的作用。

而Matlab作为一种功能强大的数学软件,其内置的优化算法工具包更是为解决复杂问题提供了便利。

本文将就Matlab技术中的优化算法进行演示和讲解,希望能给读者带来一些启发和帮助。

一、优化问题的概述优化问题可以理解为在给定的约束下,找到最优解的过程。

在实际应用中,优化问题的种类繁多,涉及到经济、工程、设计等多个领域。

Matlab提供了多种优化算法,能够解决不同类型的优化问题。

二、目标函数与约束在优化问题中,目标函数是需要最小化或最大化的函数。

约束则是目标函数需要满足的条件。

在Matlab中,我们可以使用符号计算工具箱来定义目标函数和约束条件。

这样可以方便地进行符号计算和优化算法的应用。

三、最优化算法的分类在Matlab中,最优化算法可分为无约束优化算法和有约束优化算法两类。

在无约束优化算法中,常用的有梯度下降法、拟牛顿法等。

而有约束优化算法则包括线性规划、非线性规划等方法。

四、最优化算法的应用案例为了更好地理解和演示Matlab中的最优化算法,我们选取了一个经典的案例:拟合曲线问题。

假设我们需要根据给定的数据点,找到最佳拟合曲线。

在Matlab 中,可以使用最小二乘法进行曲线拟合,即将目标函数定义为误差的平方和,通过最优化算法求得最佳拟合曲线的参数。

五、案例演示首先,我们准备了一组数据点,作为拟合目标。

通过绘制散点图,我们可以直观地观察到数据点的分布特征。

接下来,我们定义了目标函数和约束条件,并使用最小二乘法进行优化。

最后,通过绘制拟合曲线和数据点,可以清晰地看到优化算法的效果。

六、优化算法的性能评估在实际应用中,我们需要对优化算法的性能进行评估,以选择合适的算法来解决问题。

常用的性能评估指标包括收敛速度、精确度和稳定性等。

在Matlab中,可以使用内置的性能评估函数来进行评估,比如计算优化算法的收敛速度和最优解的精确度等。

Matlab简介PPT课件

Matlab简介PPT课件

矩阵运算与线性代
03
数应用
矩阵创建和操作方法介绍
01
直接输入法
通过直接输入矩阵元素来创建矩阵,例如`A = [1 2 3; 4 5 6; 7 8 9]`。
02
函数生成法
利用Matlab内置函数生成特定矩阵,如`zeros()`生成全零矩阵,
`ones()`生成全一矩阵,`eye()`生成单位矩阵等。
错误处理方法
根据错误信息提示,检查代码相关部分, 修正错误;对于复杂问题,可采用逐步缩 小范围的方法进行排查。
综合性程序设计案例剖析
案例选择
挑选具有代表性的综合性程序设计案例 ,如数值计算、信号处理、图像处理等

代码实现
详细讲解案例的代码实现过程,包括 算法设计、数据结构选择、函数编写
等。
案例分析
Matlab实现
使用Matlab内置函数进行最优化问题求解,如`fmincon`、`ga`等。
偏微分方程数值解法
01
偏微分方程基本概 念
包含未知函数及其偏导数的方程 。
02
偏微分方程数值解 法
有限差分法、有限元法、谱方法 等。
03
Matlab实现
使用Matlab内置函数或工具箱进 行偏微分方程数值求解,如PDE Toolbox等。
分析案例涉及的知识点、难点及解决 方案,引导学生深入理解并掌握相关 知识。
结果展示与讨论
展示案例运行结果,并引导学生进行 讨论,分析程序优缺点及改进方向。
课程设计或项目实践指导
选题建议
根据学生兴趣和专业背景,提供课程设计或项目实践的选题建议,如 控制系统设计、信号处理应用等。
实践指导
指导学生进行需求分析、方案设计、代码编写、测试调试等实践环节 ,培养学生解决实际问题的能力。

Matlab优化算法以及应用案例分析

Matlab优化算法以及应用案例分析

Matlab优化算法以及应用案例分析引言Matlab是一款功能强大的数学软件,以其丰富的功能和灵活的编程环境而受到广泛的应用。

在数学建模和优化问题中,Matlab优化算法是一个重要的工具。

本文将介绍Matlab优化算法的基本原理和常见应用案例分析。

一、Matlab优化算法的基本原理1.1 最优化问题的定义在开始介绍优化算法之前,我们首先需要了解什么是最优化问题。

最优化问题可以定义为在一定的约束条件下,找到使得目标函数达到最大或者最小的变量取值。

最优化问题可以分为无约束问题和约束问题两种。

1.2 Matlab优化工具箱Matlab提供了丰富的优化工具箱,其中包含了许多优化算法的实现。

这些算法包括无约束优化算法、约束优化算法、全局优化算法等。

这些工具箱提供了简单易用的函数接口和丰富的算法实现,方便用户在优化问题中使用。

1.3 优化算法的分类优化算法可以分为传统优化算法和启发式优化算法两类。

传统优化算法包括梯度下降法、牛顿法、共轭梯度法等,它们利用目标函数的一阶或二阶导数信息进行搜索。

而启发式优化算法则通过模拟生物进化、遗传算法、蚁群算法等方法来进行搜索。

二、Matlab优化算法的应用案例分析2.1 无约束优化问题无约束优化问题是指在没有约束条件的情况下,找到使得目标函数达到最小或最大值的变量取值。

在Matlab中,可以使用fminunc函数来求解无约束优化问题。

下面以一维函数的最小化问题为例进行分析。

首先,我们定义一个一维的目标函数,例如f(x) = 3x^2 - 4x + 2。

然后使用fminunc函数来求解该问题。

代码示例:```matlabfun = @(x)3*x^2 - 4*x + 2;x0 = 0; % 初始点[x, fval] = fminunc(fun, x0);```在上述代码中,fun是目标函数的定义,x0是初始点的取值。

fminunc函数将返回最优解x和目标函数的最小值fval。

属性约简(MATLAB算法)有实例有讲解

属性约简(MATLAB算法)有实例有讲解

粗糙集属性约简注:这是我学粗糙集时老师给的作业属性约简的顺序如下:求正域、生成未经处理的区分矩阵、对区分矩阵进行化简、求核、对已经处理过的区分矩阵进行属性约简。

约简后的决策表有26行,所有12个属性都是正域中的属性,核为空程序:% main.mtic;a=[ 1,1,1,1,0,0,0,0,1,1,0,1;0,0,0,0,0,0,0,0,0,0,0,0;1,0,1,0,0,0,0,0,0,1,0,0;0,0,0,1,1,1,1,0,1,0,1,1;1,0,0,1,1,1,1,1,0,1,1,0;0,1,0,1,1,1,1,1,1,0,0,1;1,0,0,0,1,1,1,0,0,1,1,1;1,1,1,1,0,0,0,0,1,1,0,1;1,0,1,1,1,0,0,0,1,1,0,1;1,1,1,1,0,0,0,0,1,1,0,1;1,0,1,1,1,0,0,0,1,1,0,1;1,0,1,1,1,0,0,0,1,1,0,1 ];d=[1;0;0;0;0;0;0;1;1;1;1;1];pos=posCD(a,d);dismat=dismatrix(a,d,pos);dism=disbe(dismat);core=cor(dism); [red,row]=redu(dism); time=toc% dismatrix.m% 生成未经处理的区分矩阵dismatfunction dismat=dismatrix(a,d,pos)[m,n]=size(a);p=1;index1=0;index2=0;index=0;dis=-1*ones(m*(m-1)/2,n);for i=1:mfor j=i+1:mif (isxbelongtopos(i,pos)&~isxbelongtopos(j,pos))...|(~isxbelongtopos(i,pos)&isxbelongtopos(j,pos)). ..|(isxbelongtopos(i,pos)&isxbelongtopos(j,pos)&~i sxybelongtoindD(i,j,d))index2=1;endif index2==0continue;endfor k=1:nif a(i,k)~=a(j,k)dis(p,k)=1;index1=1;else dis(p,k)=0;endendif index1==1p=p+1;index=1;endindex1=0;index2=0;endendif p<=m*(m-1)/2if index==0dismat=[];return;endif dis(p,1)==-1p=p-1;endelse p=m*(m-1)/2;enddismat=dis(1:p,:);% redu.m% 对已经处理过的区分矩阵进行知识约简function [red,row]=redu(dism)[m,n]=size(dism);red=[];row=0;if m<=0return;endfor i=1:nif dism(1,i)~=0row=row+1;endendred(1:row,:)=zeros(row,n);j=1;for i=1:rowwhile dism(1,j)==0j=j+1;endred(i,j)=1;j=j+1;endtemp=[];tempdis=[];rowd=0;rowd1=0;for i=2:mj=1;while j<=rowtemp=uni(dism(i,:),red(j,:));[s,n]=size(temp);rowd1=rowd+s;tempdis(rowd+1:rowd1,:)=temp;rowd=rowd1;j=j+1;temp=[];endred=[];red=disbe(tempdis);tempdis=[];[row,n]=size(red);rowd=0;rowd1=0;end% disbe.m% 对区分矩阵或者约简矩阵进行化简即去掉包含关系function dism=disbe(dis)[m,n]=size(dis);p=m;for i=1:mif dis(i,1)~=-1for j=1:mif i~=j & dis(j,1)~=-1if dis(i,:)<=dis(j,:)dis(j,1)=-1;p=p-1;elseif dis(i,:)>=dis(j,:)dis(i,:)=dis(j,:);dis(j,1)=-1;p=p-1;endendendendenddism=ones(p,n);j=1;for i=1:pwhile j<=m & dis(j,1)==-1j=j+1;enddism(i,:)=dis(j,:);j=j+1;end% posCD.m% a为条件属性矩阵,d为决策属性向量% pos为正域,保存条件属性矩阵的索引值function pos=posCD(a,d)[m,n]=size(a);p=m;index=0;for i=1:mif a(i,1)~=-1for j=i+1:mif a(j,1)~=-1 &(a(i,:)==a(j,:)&d(i)~=d(j))a(j,1)=-1;p=p-1;index=1;endendif index==1a(i,1)=-1;p=p-1;index=0;endendendpos=zeros(p,1);i=1;for r=1:pwhile a(i,1)==-1&i<=mi=i+1;endpos(r)=i;r=r+1;i=i+1;end% cor.m% 对已经处理过的区分矩阵求核function core=cor(dism)[m,n]=size(dism);core1=zeros(1,n);number=0;for i=1:mnum=0;p=0;for j=1:nif dism(i,j)~=0num=num+1;p=j;endendif num==1core1(p)=1;number=number+1;endendif number==0core=0;elsecore=zeros(1,number);j=1;for i=1:numberwhile core1(j)==0j=j+1;endcore(i)=core1(j);j=j+1;endend% uni.m%对区分矩阵的第i行和red(j,:)运算,即将a中%所有的1分别插入到red(j,:)中,待去掉包含关系function tempred=uni(disa,red)[m,n]=size(red);num=0;for i=1:nif disa(i)~=0num=num+1;endendtempred=ones(m*num,n);temp=[];j=1;for i=1:numwhile disa(j)==0j=j+1;endtemp=red;temp(:,j)=ones(m,1);tempred((i-1)*m+1:i*m,:)=temp;j=j+1;end% isxbelongtopos.m% 判断x是否在正域pos中% x为索引值% 返回值p,如果x在pos中p=1否则p=0 function p=isxbelongtopos(x,pos)[m,n]=size(pos);p=0;if x<=0p=-1;return;endfor i=1:mif x==pos(i)p=1;break;endend% isxybelongtoindD.m% 判断x,y是否在indD中% x,y为索引值% 返回值p,如果x,y在indD中p=1否则p=0 function p=isxybelongtoindD(x,y,d)if x<=0 | x>size(d) | y<=0 | y>size(d) p=-1;return;endif d(x)==d(y)p=1;else p=0;end约简后的决策表如有侵权请联系告知删除,感谢你们的配合!。

一种改进的区分矩阵属性约简算法

一种改进的区分矩阵属性约简算法

⼀种改进的区分矩阵属性约简算法
⼀种改进的区分矩阵属性约简算法
李智玲;胡彧
【摘要】属性约简是粗糙集理论研究的关键问题之⼀.⽂章以属性在区分矩阵中出现的频率作为启发,对HORAFA算法做了⼀些改进.提出了HORAFA-
AFVDM(HORAFA basg on Attribute frequency value of discernibility matrix)算法.它是以核为基础,加⼊属性重要性最⼤的属性,直到不能再加.为了能找到信息系统的最优约简,在此基础上加了⼀个反向消除过,.直到不能再删为⽌.最后在MATLAB环境下进⾏了实验,通过⽐较改进前后两种算法,表明HORAFA-AFVDM 算法在属性约简情况和算法运⾏时间上都⽐HORAFA算法有明显的改进.
【期刊名称】《计算机系统应⽤》
【年(卷),期】2008(017)010
【总页数】5页(P51-55)
【关键词】粗糙集;属性约简;区分矩阵;最优约简;MATLAB
【作者】李智玲;胡彧
【作者单位】⼭西财经⼤学,信息管理学院,⼭西太原,030031;太原理⼯⼤学,计算机与软件学院,⼭西,太原,030024;⼭西财经⼤学,信息管理学院,⼭西太原,030031;太原理⼯⼤学,计算机与软件学院,⼭西,太原,030024
【正⽂语种】中⽂
【中图分类】⼯业技术。

数值分析第二讲MATLAB简介-41页PPT资料

数值分析第二讲MATLAB简介-41页PPT资料
特殊矩阵
compan(A)取伴随阵, diag(d)取对角阵,gallery取试验 矩阵,handmard取Handmard阵 ,hankel取Hankel阵, hilb取希尔伯特阵,invhilb取逆希尔伯特阵,kron取克 罗内克张量积,magic取魔方矩阵,pascal取Pascal 阵, toeplotz取Toeplotz矩阵,vander取范得蒙矩阵 , wilkinson取Wilkinson特性实验矩阵
运算符
数值运算 +加 -减 *乘 / 右除 \ 左除 ^幂 .+点加,.-点减, .*点乘, ./点右除, .\点左除,.^点幂
逻辑运算(还有相应的函数) ==等于,~=不等于,<小于,> 大于, <=小于或等于,>=大于或等于, && 逻辑与,||逻辑或,~逻辑非, 位运算(还有相应的函数) &位与,|位或,~位非 括号运算 ()⑴改变运算优先,⑵函数定义或调用的变量标志部分 []构造矩阵(元素间隔用逗号或空格,行间隔号用分号) ‘’ 构造字符或字符串常数 {}构造枚举集合,{‘a’,‘b’,‘c’,‘d’}
A1=A(1:2,2:4),B1=(2:3,1:3),C1=(1:3,2:3) ⑷ D1=A1+B1 ⑸ E1=sin(A1)+cos(B1) ⑹ F1=A1*C1
ቤተ መጻሕፍቲ ባይዱ
MATLAB常用函数名
数学函数(中文意义略)
abs,acos,acosh,angle,asin,asinh,atan,atan2,atanh, ceil,conj,cos,cosh,exp,fix,floor,gcd,imag,lcm,log, log10,real,rem,round,sign,sin,sinh,sqrt,tan,tanh, 构造矩阵函数
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

粗糙集属性约简
注:这是我学粗糙集时老师给的作业
属性约简的顺序如下:求正域、生成未经处理的区分矩阵、对区分矩阵进行化简、求核、对已经处理过的区分矩阵进行属性约简。

约简后的决策表有26行,所有12个属性都是正域中的属性,核为空
程序:
% main.m
tic;
a=[ 1,1,1,1,0,0,0,0,1,1,0,1;
0,0,0,0,0,0,0,0,0,0,0,0;
1,0,1,0,0,0,0,0,0,1,0,0;
0,0,0,1,1,1,1,0,1,0,1,1;
1,0,0,1,1,1,1,1,0,1,1,0;
0,1,0,1,1,1,1,1,1,0,0,1;
1,0,0,0,1,1,1,0,0,1,1,1;
1,1,1,1,0,0,0,0,1,1,0,1;
1,0,1,1,1,0,0,0,1,1,0,1;
1,1,1,1,0,0,0,0,1,1,0,1;
1,0,1,1,1,0,0,0,1,1,0,1;
1,0,1,1,1,0,0,0,1,1,0,1 ];
d=[1;0;0;0;0;0;0;1;1;1;1;1];
pos=posCD(a,d);
dismat=dismatrix(a,d,pos);
dism=disbe(dismat);
core=cor(dism);
[red,row]=redu(dism);
time=toc
% dismatrix.m
% 生成未经处理的区分矩阵dismat
function dismat=dismatrix(a,d,pos)
[m,n]=size(a);
p=1;
index1=0;index2=0;index=0;
dis=-1*ones(m*(m-1)/2,n);
for i=1:m
for j=i+1:m
if (isxbelongtopos(i,pos)&~isxbelongtopos(j,pos))...
|(~isxbelongtopos(i,pos)&isxbelongtopos(j,pos))...
|(isxbelongtopos(i,pos)&isxbelongtopos(j,pos)&~isxybelongtoindD(i,j,d)) index2=1;
end
if index2==0
continue;
end
for k=1:n
if a(i,k)~=a(j,k)
dis(p,k)=1;
index1=1;
else dis(p,k)=0;
end
end
if index1==1
p=p+1;index=1;
end
index1=0;
index2=0;
end
end
if p<=m*(m-1)/2
if index==0
dismat=[];
return;
end
if dis(p,1)==-1
p=p-1;
end
else p=m*(m-1)/2;
end
dismat=dis(1:p,:);
% redu.m
% 对已经处理过的区分矩阵进行知识约简function [red,row]=redu(dism)
[m,n]=size(dism);
red=[];
row=0;
if m<=0
return;
end
for i=1:n
if dism(1,i)~=0
row=row+1;
end
end
red(1:row,:)=zeros(row,n);
j=1;
for i=1:row
while dism(1,j)==0
j=j+1;
end
red(i,j)=1;
j=j+1;
end
temp=[];tempdis=[];
rowd=0;rowd1=0;
for i=2:m
j=1;
while j<=row
temp=uni(dism(i,:),red(j,:));
[s,n]=size(temp);
rowd1=rowd+s;
tempdis(rowd+1:rowd1,:)=temp;
rowd=rowd1;
j=j+1;
temp=[];
end
red=[];
red=disbe(tempdis);
tempdis=[];
[row,n]=size(red);
rowd=0;rowd1=0;
end
% 对区分矩阵或者约简矩阵进行化简即去掉包含关系function dism=disbe(dis)
[m,n]=size(dis);
p=m;
for i=1:m
if dis(i,1)~=-1
for j=1:m
if i~=j & dis(j,1)~=-1
if dis(i,:)<=dis(j,:)
dis(j,1)=-1;
p=p-1;
elseif dis(i,:)>=dis(j,:)
dis(i,:)=dis(j,:);
dis(j,1)=-1;
p=p-1;
end
end
end
end
end
dism=ones(p,n);
j=1;
for i=1:p
while j<=m & dis(j,1)==-1
j=j+1;
end
dism(i,:)=dis(j,:);
j=j+1;
end
% posCD.m
% a为条件属性矩阵,d为决策属性向量
% pos为正域,保存条件属性矩阵的索引值
function pos=posCD(a,d)
[m,n]=size(a);
p=m;
index=0;
for i=1:m
if a(i,1)~=-1
for j=i+1:m
if a(j,1)~=-1 &(a(i,:)==a(j,:)&d(i)~=d(j))
a(j,1)=-1;p=p-1;index=1;
end
if index==1
a(i,1)=-1;p=p-1;index=0;
end
end
end
pos=zeros(p,1);
i=1;
for r=1:p
while a(i,1)==-1&i<=m
i=i+1;
end
pos(r)=i;
r=r+1;
i=i+1;
end
% cor.m
% 对已经处理过的区分矩阵求核function core=cor(dism)
[m,n]=size(dism);
core1=zeros(1,n);
number=0;
for i=1:m
num=0;p=0;
for j=1:n
if dism(i,j)~=0
num=num+1;
p=j;
end
end
if num==1
core1(p)=1;
number=number+1;
end
end
if number==0
core=0;
else
core=zeros(1,number);
j=1;
for i=1:number
while core1(j)==0
j=j+1;
core(i)=core1(j);
j=j+1;
end
end
% uni.m
%对区分矩阵的第i行和red(j,:)运算,即将a中
%所有的1分别插入到red(j,:)中,待去掉包含关系function tempred=uni(disa,red)
[m,n]=size(red);
num=0;
for i=1:n
if disa(i)~=0
num=num+1;
end
end
tempred=ones(m*num,n);
temp=[];
j=1;
for i=1:num
while disa(j)==0
j=j+1;
end
temp=red;
temp(:,j)=ones(m,1);
tempred((i-1)*m+1:i*m,:)=temp;
j=j+1;
end
% isxbelongtopos.m
% 判断x是否在正域pos中
% x为索引值
% 返回值p,如果x在pos中p=1否则p=0 function p=isxbelongtopos(x,pos)
[m,n]=size(pos);
p=0;
if x<=0
p=-1;
return;
end
for i=1:m
if x==pos(i)
p=1;
end
end
% isxybelongtoindD.m
% 判断x,y是否在indD中
% x,y为索引值
% 返回值p,如果x,y在indD中p=1否则p=0 function p=isxybelongtoindD(x,y,d)
if x<=0 | x>size(d) | y<=0 | y>size(d)
p=-1;
return;
end
if d(x)==d(y)
p=1;
else p=0;
end
约简后的决策表。

相关文档
最新文档