Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Return (x-cos(y)-3);



}

//**********

//---------------------------------------------------------------------------

#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; Прочитано: 177 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...