📄 剃度下降法.cpp
字号:
#include<iostream.h>
void DECIDCE(int Y[][4],int A[],int P[])
{
int count=0;
for(int j=0;j<4;j++)
{
for(int i=0;i<4;i++)
{
P[j]+=Y[j][i]*A[i]; //矩阵乘法
}
}
for(j=0;j<4;j++)
{
if(P[j]<=0)
{
count++;
for(int i=0;i<4;i++)
{
A[i]=Y[j][i]+A[i]; //更新权向量
}
}
}
if(count!=0)
DECIDCE(Y,A,P);
else
for(int i=0;i<4;i++)cout<<"解权向量为"<<A[i]<<" ";
}
void TEXT(int A[],int X[])
{
int P=0;
for(int i=0;i<4;i++)
{
P+=X[i]*A[i];
}
if(P>0)cout<<"X为第一类";
else cout<<"X为第二类";
}
void main()
{
int X[4];
int Y[4][4];
int A[4];
int P[4]={0,0,0,0};
cout<<"input A[]:"<<'\n';
for(int i=0;i<4;i++)cin>>A[i];
cout<<"input Y[][]:"<<'\n';
for(int j=0;j<4;j++)
{
for(int i=0;i<4;i++)cin>>Y[j][i];
}
DECIDCE(Y,A,P);
cout<<"input X[]:"<<'\n';
for(i=0;i<4;i++)cin>>X[i];
TEXT(A,X);
cout<<"input X[]:"<<'\n';
for(i=0;i<4;i++)cin>>X[i];
TEXT(A,X);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -