#include #include "CMyVektor.h" using namespace std; // f( [x,y] ) = sin(x * y) + sin(x) + cos(y) double f(CMyVektor X) { double x = X[0]; double y = X[1]; return (sin(x * y) + sin(x) + cos(y)); } // g( [x,y,z] ) = -(2x^2 - 2xy + y^2 + z^2 - 2x - 4z) double g(CMyVektor X) { double x = X[0]; double y = X[1]; double z = X[2]; return -(2 * pow(x,2) - 2 * x * y + pow(y,2) + pow(z,2) - 2 * x - 4 * z); } int main() { CMyVektor X0(std::vector{1,3,5}); CMyVektor gradX0 = gradient(f, X0); cout << "grad f" << X0 << "=" << gradX0 << std::endl; CMyVektor X1(std::vector{0.2,-2.1}); gradientenverfahren(f, X1); CMyVektor X2(std::vector{0,0,0}); gradientenverfahren(g, X2, 0.1); system("pause"); return 0; }