![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
}
//**********
//---------------------------------------------------------------------------
#pragma package(smart_init)
void MakeMatrixOfSubstitutionFuntions(double xy[2],double MatrixOfSubstitutionFuntions[2])
{
MatrixOfSubstitutionFuntions[0]=3+cos(xy[1]);
MatrixOfSubstitutionFuntions[1]=0.5-cos(xy[0]-1);
}
//---------------------------------------------------------------------------
void MakeMatrixOfFuntions(double xy[2],double MatrixOfFuntions[2])
{
MatrixOfFuntions[0]=Function1(xy[0],xy[1]);
MatrixOfFuntions[1]=Function2(xy[0],xy[1]);
}
//----------------------------------------------------------------------------
void MakeJacobian(double xy[2],double Jacobian[4])
{
Jacobian[0]=-sin(xy[0]-1);
Jacobian[1]=1;
Jacobian[2]=1;
Jacobian[3]=sin(xy[1]);
}
//----------------------------------------------------------------------------
double DetMatrix(double Matrix[4])
{
return Matrix[0]*Matrix[3]-Matrix[1]*Matrix[2];
}
//----------------------------------------------------------------------------
void InverseMatrix(double SourseMatrix[4],double InverseMatrix[4])
{
if (DetMatrix(SourseMatrix)==0)
{
cout<<"Singular matrix!"<<endl;
}
Else
{
double InverseDeterminat=1/DetMatrix(SourseMatrix);
InverseMatrix[0]=InverseDeterminat*SourseMatrix[3];
InverseMatrix[1]=InverseDeterminat*SourseMatrix[2]*(-1);
InverseMatrix[2]=InverseDeterminat*SourseMatrix[1]*(-1);
InverseMatrix[3]=InverseDeterminat*SourseMatrix[0];
}
}
//----------------------------------------------------------------------------
void ProductMatrixes(double MatrixA[4], double MatrixB[2],double MatrixResult[2])
{
MatrixResult[0]=MatrixA[0]*MatrixB[0]+MatrixA[1]*MatrixB[1];
MatrixResult[1]=MatrixA[2]*MatrixB[0]+MatrixA[3]*MatrixB[1];
}
//----------------------------------------------------------------------------
void DifferenceMatrixes(double MatrixA[2], double MatrixB[2],double MatrixResult[2])
{
MatrixResult[0]=MatrixA[0]-MatrixB[0];
MatrixResult[1]=MatrixA[1]-MatrixB[1];
}
//----------------------------------------------------------------------------
double NormaOfDifference(double Vector1[2],double Vector2[2])
{
double Norma=0;
for (int i=0;i<=1;i++)
{
Norma+=fabs(Vector1[i]-Vector2[i]);
}
Дата публикования: 2015-04-10; Прочитано: 189 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!