📄 kk.cpp
字号:
#include"stdio.h"
#include"iostream.h"
#include<fstream>
int x[4][3];
int w[100][3];
int m[3];
int y[2];
void shuru1()
{ int i,j;
int k=0;
cout<<"请输入w1!!!"<<endl;
for(i=0;i<2;i++)
{for(j=0;j<2;j++)
{
cout<<"w1"<<"["<<k<<"]=";
cin>>w[i][j];
k++;
}
}
k=0;
cout<<"请输入w2!!!"<<endl;
for(i=2;i<4;i++)
{for(j=0;j<2;j++)
{ cout<<"w2"<<"["<<k<<"]=";
cin>>w[i][j];
k++;
}
}
cout<<"训练样本为!!!"<<endl;
cout<<"w1=("<<w[0][0]<<","<<w[0][1]<<") ("<<w[1][0]<<","<<w[1][1]<<")"<<endl;
cout<<"w2=("<<w[2][0]<<","<<w[2][1]<<") ("<<w[3][0]<<","<<w[3][1]<<")"<<endl;
for(i=0;i<4;i++)
{ for(j=0;j<2;j++)
x[i][j]=w[i][j];
x[i][j]=1;
}
for(i=2;i<4;i++)
for(j=0;j<3;j++)
x[i][j]=-x[i][j];
cout<<"增广向量:";
cout<<"x1=("<<x[0][0]<<","<<x[0][1]<<","<<x[0][2]<<")"<<endl;
cout<<"增广向量:";
cout<<"x2=("<<x[1][0]<<","<<x[1][1]<<","<<x[1][2]<<")"<<endl;
cout<<"增广向量:";
cout<<"x3=("<<x[2][0]<<","<<x[2][1]<<","<<x[2][2]<<")"<<endl;
cout<<"增广向量:";
cout<<"x4=("<<x[3][0]<<","<<x[3][1]<<","<<x[3][2]<<")"<<endl;
}
void xuexi()
{int j;
int k=0;
int sum=0;
int cishu=0;
w[0][0]=1;
w[0][1]=1;
w[0][2]=1;
//cout<<"w[0]="<<w[0][0]<<w[0][0]<<w[0][0]<<endl;
for(;cishu<10;k++)
{ sum=0;
for(j=0;j<3;j++)
sum+=w[k][j]*x[k%4][j];
if(sum>0)
{for(j=0;j<3;j++)
w[k+1][j]=w[k][j];
cishu++;
}
else
{for(j=0;j<3;j++)
w[k+1][j]=w[k][j]+x[k%4][j];
cishu=0;
}
//cout<<"k="<<k<<"****";
//cout<<"sum="<<sum<<"////////";
//cout<<w[k+1][0]<<"****"<<w[k+1][1]<<"****"<<w[k+1][2]<<endl;
}
for(j=0;j<3;j++)
m[j]=w[k][j];
cout<<"权向量:W*=("<<m[0]<<","<<m[1]<<","<<m[2]<<")"<<endl;
//cout<<"g(x)="<<m[0]<<"*X+"<<m[1]<<"*Y+"<<m[2]<<endl;
cout<<"分界面为:"<<m[0]<<"*X+"<<m[1]<<"*Y+"<<m[2]<<"=0"<<endl;
}
void shuru2()
{int kk=0;
cout<<"请输入待分类的样本Wx!!!"<<endl;
cout<<"W[x]=";
cin>>y[0];
cout<<"W[y]=";
cin>>y[1];
kk=m[0]*y[0]+m[1]*y[1]+m[2];
if(kk<0)
cout<<"Wx属于:w2类"<<endl;
else
cout<<"Wx属于:w1类"<<endl;
}
void main()
{ cout<<"请输入训练样本(注:二维)数据:"<<endl;
shuru1();
xuexi();
shuru2();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -