matlab交互式程序设计示例:[3]FINDS算法试验

2025-11-19 04:33:50

1、FINDS算法:

数据结构定义:

% %A=[sunny,warm,normal,strong,warm,change yes;

% %   sunny,warm,high,strong,warm,same yes ;

% %   sunny,warm,high,strong,cold,change yes ;

% %   rainy,cold,high,strong,warm,change no];

% %第一,二,三行是yes,为正例 用1表示;第四行是no,为反例 用0表示

% %设各种属性的第一种取值为1,第二种取值为2,第三种取值为3,取为?设为0,哪种值都不取设为4

h=[4,4,4,4,4,4];%将h初始化为H中最特殊假设

A=[1,1,1,1,1,1,1;

    1,1,2,1,1,2,1;

    1,1,2,1,2,1,1;

    2,2,2,1,1,1,0];

matlab交互式程序设计示例:[3]FINDS算法试验

2、在MATLAB中一个新建一个文件名为find.s输入如下内容代码

function Finds()

% %A=[sunny,warm,normal,strong,warm,change yes;

% %   sunny,warm,high,strong,warm,same yes ;

% %   sunny,warm,high,strong,cold,change yes ;

% %   rainy,cold,high,strong,warm,change no];

% %第一,二,三行是yes,为正例 用1表示;第四行是no,为反例 用0表示

% %设各种属性的第一种取值为1,第二种取值为2,第三种取值为3,取为?设为0,哪种值都不取设为4

h=[4,4,4,4,4,4];%将h初始化为H中最特殊假设

A=[1,1,1,1,1,1,1;

    1,1,2,1,1,2,1;

    1,1,2,1,2,1,1;

    2,2,2,1,1,1,0];

%前三行均为正例,故g不变,s改变

for i=1:4

    for j=1:6

   if A(i,7)==1

        if h(:,j)~=A(i,j)&&h(:,j)~=4 

            h(:,j)=0;

        elseif  h(:,j)~=A(i,j)&&h(:,j)==4 

                 h(i,j)=A(i,j);

            elseif  h(:,j)~=A(i,j)&&h(:,j)==0

                    h(:,j)=0;

             elseif h(:,j)==A(i,j)

                   continue;

        

           end

    

          

        end

   end

end

disp('极大特殊假设h:'); 

disp(h);

3、第一步在command windows 里输入finds 运行这个文件。(源代码要放到MATLAB的work工作目录中,以待运行路径搜索)命令窗口如下图所示

matlab交互式程序设计示例:[3]FINDS算法试验

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢