⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getpoints.asv

📁 MATLAB编写的误差反向传播(BP)神经网络简单分类器。
💻 ASV
字号:
%函数名称:GetPoints(Num,A,xp,phai,CrX,CrY)
%函数作用:建立正弦信号曲线作为理想分类面,在一定区域内随机生成指定个数的座标点
%         并给出原始分类信息,作为分类训练样本。
%函数参数:Num,A,xp,phai,CrX,CrY
%参数说明:Num:需要的坐标点数
%         A:正弦信号的幅值
%         xp:正弦信号的周期
%         phai:正弦信号的初相角
%         CrX:坐标点分布的水平范围(x=0/CrX)
%         CrY:坐标点分布的垂直范围(y=+/-CrY)
%函数输出:Points[]
%输出说明:Points[x,y,i]:坐标点(x,y),其分类为i,如果坐标点在
%         正弦信号上方,则i=1;如果在正弦信号下方,则i=0。
%创建日期:2007.12.31
%最后更新日期:2007.12.31

function Points=GetPoints(Num,A,xp,phai,CrX,CrY);

    %生成随机坐标点数组(0-1之间),乘以2是为了后面取舍方便,防止点恰好出现在分类面上
    rndpoints=rand(2,Num*2);
    %将随机坐标点线性水平变换到(0,CrX)之间,垂直变换到(-Cr,Cr)之间
    rndpoints(1,:)=rndpoints(1,:)*CrX;
    rndpoints(2,:)=(rndpoints(2,:)-0.5)*CrY;
    %定义一个循环计数器
    counter=0;
    %为rndpoints定义一个移动指针
    rdp=0;
    %生成待输出的随机坐标点矩阵
    output=zeros(3,Num);
    
    %开始循环对随机坐标点进行分类
    while(counter<Num)
        
        if(rndpoints(2,rdp)=A*sin(rndpoints(1,rdp)))
            rdp=rdp+1;
            continue;
        end
        
        if(rndpoints(2,rdp)>A*sin(rndpoints(1,rdp)))
            output(1,counter)=rndpoints(1,rdp);
            output(2,counter)=rndpoints()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -