Files
HM2/P2/CMyVektor.h
2026-01-04 15:35:46 +01:00

35 lines
795 B
C++
Executable File

#pragma once
#include <vector>
#include <iostream>
class CMyVektor {
private:
int dimension;
std::vector<double> werte;
public:
// Vektor mit Dimension anlegen
CMyVektor(int n) : dimension{ n } {
werte.resize(n);
}
CMyVektor(std::vector<double> x) : dimension{ (int)x.size() } {
werte.resize(x.size());
for (int i = 0; i < x.size(); i++)
werte[i] = x[i];
}
int getDimension();
double length();
// Komponente von Vektor übergeben
double& operator[](int index);
};
CMyVektor operator+(CMyVektor a, CMyVektor b);
CMyVektor operator*(double lambda, CMyVektor a);
std::ostream& operator<< (std::ostream& os, CMyVektor& vektor);
CMyVektor gradient(double f(CMyVektor x), CMyVektor x);
CMyVektor gradientenverfahren(double f(CMyVektor x), CMyVektor x, double lambda = 1.0);