📄 gg.cpp
字号:
#include"stdio.h"
#include"iostream.h"
#include<fstream>
int x[4][3];
int w[100][6];
int M[3];
int X[2];
void sr1()
{ int i,j;
int k=0;
cout<<"请输入w1"<<endl;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
{
cout<<"w1"<<"["<<k<<"]=";
cin>>w[i][j];
k++;
}
}
k=0;
cout<<"请输入w2"<<endl;
for(i=3;i<6;i++)
{for(j=0;j<3;j++)
{ cout<<"w2"<<"["<<k<<"]=";
cin>>w[i][j];
k++;
}
}
cout<<"训练样本为"<<endl;
cout<<"w1=("<<w[0][0]<<","<<w[0][1]<<","<<w[0][2]<<") ("<<w[1][0]<<","<<w[1][1]<<","<<w[1][2]<<")"<<endl;
cout<<"w2=("<<w[2][0]<<","<<w[2][1]<<","<<w[2][2]<<") ("<<w[3][0]<<","<<w[3][1]<<","<<w[3][2]<<")"<<endl;
for(i=0;i<6;i++)
{ for(j=0;j<3;j++)
x[i][j]=w[i][j];
x[i][j]=1;
}
for(i=2;i<6;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;
cout<<"增广向量:";
cout<<"x5=("<<x[4][0]<<","<<x[4][1]<<","<<x[4][2]<<")"<<endl;
cout<<"增广向量:";
cout<<"x6=("<<x[5][0]<<","<<x[5][1]<<","<<x[5][2]<<")"<<endl;
}
void xiuzheng()
{int j;
int k=0;
int sum=0;
int cishu=0;
w[0][0]=1;
w[0][1]=1;
w[0][2]=1;
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;
}
}
for(j=0;j<3;j++)
M[j]=w[k][j];
cout<<"权向量:W*=("<<M[0]<<","<<M[1]<<","<<M[2]<<")"<<endl;
cout<<"分界面为:"<<M[0]<<"*x1+"<<M[1]<<"*x2+"<<M[2]<<"=0"<<endl;
}
void sr2()
{int q=0;
cout<<"请输入待分类的样本Wx"<<endl;
cout<<"W[x]=";
cin>>X[0];
cout<<"W[x1]=";
cin>>X[1];
q=M[0]*X[0]+M[1]*X[1]+M[2];
if(q<0)
cout<<"Wx属于:w2类"<<endl;
else
cout<<"Wx属于:w1类"<<endl;
}
void main()
{ cout<<"请输入训练样本数据:"<<endl;
sr1();
xiuzheng();
sr2();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -