Files
HM2/P1/main.cpp
2026-01-04 15:35:46 +01:00

36 lines
757 B
C++
Executable File

#include <math.h>
#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<double>{1,3,5});
CMyVektor gradX0 = gradient(f, X0);
cout << "grad f" << X0 << "=" << gradX0 << std::endl;
CMyVektor X1(std::vector<double>{0.2,-2.1});
gradientenverfahren(f, X1);
CMyVektor X2(std::vector<double>{0,0,0});
gradientenverfahren(g, X2, 0.1);
system("pause");
return 0;
}