39 lines
900 B
C++
Executable File
39 lines
900 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];
|
|
}
|
|
|
|
double getElement(int i);
|
|
void setElement(int i, double j);
|
|
void setElements(std::vector<double> x);
|
|
|
|
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);
|