kartesischer Vektor im n-dimensionalen Raum.

Status
Nicht offen für weitere Antworten.

stevarino

Mitglied
Hallo

Ich hab folgende Aufgabe
Ein Vektor ist im n-dim. Raum mit den kartesischen Koordinaten durch n
Gleitkommazahlen, etwa ein Array gegeben.
Erstellen Sie eine Klasse Vektor, welche das Arbeiten mit Vektoren ermöglicht:
Die Methoden (Funktionen) für die Addition void add(Vektor V), die Skalarmultiplikation
scalar(double d) und den Betrag double length() sind zu realisieren.
Erzeugen und Initialisieren Sie diese Klasse mit geeigneten Konstruktoren.
Erweitern Sie Ihre Klasse um die Funktionen boolean equals(Vektor V) zur Prüfung auf
gleichen Inhalt, toString() zur Ausgabe eines Vektors sowie Vektor clone() zum
duplizieren der Werte eines Vektors.

Mein Problem liegt wie deklariere ich einen n-Dimensionalen Vector?

für 2 Dimensionale Vektoren sieht das glaub ich so
Code:
class Vector {

	double x, y;

	Vector(double x, double y) {
								this.x = x; this.y = y;
						}
könnte das vielleicht so gehen
Code:
class Vector {

	double[] a;

	Vector(double[]a)              {
								this.x = x; this.y = y;// was muss ich hierfür schreiben???



						}
Ich hoffe ich konnte mein Problem irgendwie rüberbringen

Danke schon mal

lg Stevo

[Edit by Beni: Codetags repariert]
 
B

Beni

Gast
Schreib:
Code:
public Vector( double[] a ){
  this.a = a;
}

Oder wenn du Java 1.5 verwendest:
Code:
public Vector( double...a ){
  this.a = a;
}

Später kannst du dann "a" verwenden, um z.B. die Länge auszurechnen:
Code:
public double length(){
  double sum = 0;
  for( double x : a )
    sum += x*x;
  
  return Math.sqrt( sum );
}
 

Bleiglanz

Gesperrter Benutzer
nenn deine Klasse lieber nicht "Vector" sondern "Tupel", leider gibts in der API schon eine java.util.Vector und da wäre das für die meisten Javaianer irgendwie verwirrend

die obige Lösung ist schon sehr elegant und leistungsfähig, aber in dem Fall musst du aufpassen und immer "den kürzeren nehmen"
Code:
public void add(Vector v){
    for( int i=0;i<Math.min(a.length(),v.length()); i++ )
    this.a[i] += v.a[i];
}
 

stevarino

Mitglied
Hallo

Später kannst du dann "a" verwenden, um z.B. die Länge auszurechnen:
Code:
public double length(){
  double sum = 0;
  for( double x : a )
    sum += x*x;
  
  return Math.sqrt( sum );
}

Ich verstehe die for Schleifen Bedingung nicht ganz was beudeutet x:a

hier ich hätte mir das so vorgestellt

Code:
void length() 	{
					double sum=0,
					for(i=0;i<=a.length-1;i++)	{
												sum = sum+(a[i]*a[i]);
												}
                                Math.sqrt(sum)
					}


Danke

Stevo
 
B

Beni

Gast
Ah, das "double x : a" ist nur eine Kurzform für "for( int i = 0; i < a.length; i++ ){ double x = a }"
 

stevarino

Mitglied
Hallo

Ich bins nochmal ich hab das Programm jetzt fertig aber ich bekomms einfach nicht zum laufen hier mal mein code

Code:
class Tupel {

	double []a;

	public Tupel(double[] a)	{
  								this.a = a;
								}

	double length(Tupel v) 	{
					double sum=0;
					for(i=0;i<=a.length-1;i++)	{
												sum = sum+(a[i]*a[i]);
												}
					return Math.sqrt(sum);
					}

	void add(Tupel v) 	{
						for(i=0;i<=a.length-1;i++) 	{
													this a[i]=a[i]+v.a[i];
													}

						}

	void multiply(double d) 	{
								for(i=0;i<=a.length-1;i++)	{
															this a[i]=a[i]*d;
															}
								}

	double scalarProduct(Tupel v) 	{
									double skalar=0;
									for(i=0;i<=a.length-1;i++)	{
																skalar=skalar+a[i]*v.a[i];
																}
									return skalar;
									}

	public String toString() 	{
								for(i=0;i<=a.length-1;i++)	{
															String s =s+"(," + a[i] + ")";
															}
								return s;
								}
				}

public class A3 {

	public static void main(String args[]) {
											Tupel v = new Tupel(new double[]a={1,2,3,4});
											v.add(new Tupel(new double[]a={4,3,2,1}));
											Out.println("v = " + skalar);
											Out.println("scalar product = " + v.scalarProduct(new                       Tupel(new double[]a={3,3,3,3})));
											}
				}
wo ich mir nicht sicher bin ist besonders die ToString Methode und das main Programm der rest sollte eigentlich passen beim compilieren sagt er ; expected oder ) expected ich hab aber alle Klammern geschlossen und überall wo ein ; hingehört ein ; stehen
Und beim array steht Dimension missing aber a[] heißt doch 1.dimensional a[][] 2.dimensional und so weiter

ich danke euch jetzt schon mal recht herzlich für eure Hilfe


lg Stevo
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Vektor vs List Java Basics - Anfänger-Themen 4
L Klassen Vektor Klasse Java Basics - Anfänger-Themen 2
E Variable (Vektor) in andere Methode übergeben Java Basics - Anfänger-Themen 4
O Matrix, Vektor Java Basics - Anfänger-Themen 9
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
U Ist diese Methode zur Matrix Vektor Multiplikation korrekt ? Java Basics - Anfänger-Themen 5
S Variablen Vektor zur Berechnung verwenden Java Basics - Anfänger-Themen 4
E Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 7
M transposen Vektor transformieren Java Basics - Anfänger-Themen 8
M Vektor Rechnung Java Basics - Anfänger-Themen 6
B Stützstellen (Vektor) erzeugen? Java Basics - Anfänger-Themen 8
R Matrix-Vektor-Multiplikation Java Basics - Anfänger-Themen 13
B Vektor addieren Java Basics - Anfänger-Themen 4
F Funktion eines JButton in einen Vektor verlagern Java Basics - Anfänger-Themen 4
Z Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 13
P Vektor im R3 drehen? Java Basics - Anfänger-Themen 14
M Map mit Vektor: Element hinzufügen Java Basics - Anfänger-Themen 21
A vektor bearbeiten?? Java Basics - Anfänger-Themen 9
V Position in einem Vektor Java Basics - Anfänger-Themen 3
N Vektor mit eigener Datenstruktur sortieren Java Basics - Anfänger-Themen 20
A Wie greif ich auf Elemente eines Arrays in einem Vektor zu? Java Basics - Anfänger-Themen 6
D Array? ArrayList? Vektor? ...? Java Basics - Anfänger-Themen 6
C OOP Aus Vektor zufällig einen Eintrag wählen und in Array[][] schreiben Java Basics - Anfänger-Themen 5
Z Summe von Vektor-Elementen Java Basics - Anfänger-Themen 5
S Variable über den Vektor bestimmen Java Basics - Anfänger-Themen 20
J klasse vektor addition Java Basics - Anfänger-Themen 10
M Vektor Klasse Problem Java Basics - Anfänger-Themen 12
M Reihenfolge von Objekten im Vektor Java Basics - Anfänger-Themen 3
G Vektor auslesen und als int Variable casten Java Basics - Anfänger-Themen 4
G Mothoden von Objekten in Vektor aufrufen Java Basics - Anfänger-Themen 4
F ComboBox im Vektor auslesen, Vektor<JComboBox> Java Basics - Anfänger-Themen 6
G Probleme mit Datenstrukturen (Vektor, HashMap) Java Basics - Anfänger-Themen 5
T Koordinaten eines Vektor übergeben Java Basics - Anfänger-Themen 21
J Vektor in Vektor speichern? Java Basics - Anfänger-Themen 10
J Vektor null setzen Java Basics - Anfänger-Themen 10
R Vektor in verketteter Liste Java Basics - Anfänger-Themen 14
J Vektor + auf Elemente zugreifen funktioniert nicht Java Basics - Anfänger-Themen 11
H Vektor auslesen und durchsuchen Java Basics - Anfänger-Themen 4
G Vektor Java Basics - Anfänger-Themen 1
C "null" Element Vektor abfragen Java Basics - Anfänger-Themen 7
C vektor erschaffen Java Basics - Anfänger-Themen 2
C Ein Element aus Mehrdimensionalem Vektor lesen Java Basics - Anfänger-Themen 2
L Vektor befüllen? Java Basics - Anfänger-Themen 3
G Doppelte (Paar) Werte in einem Vektor finden Java Basics - Anfänger-Themen 6
G Objekte in einen Vektor speichern Java Basics - Anfänger-Themen 4
M Vektor, gefüllt mit Objekten einer selbstdefinierten Klasse Java Basics - Anfänger-Themen 4
C checken ob ein Vektor leer ist Java Basics - Anfänger-Themen 3
J tast-Eingabe_(Vektor)Skalar-produkt Java Basics - Anfänger-Themen 19
G elemente in einem vektor nach ihren eigenschaften sortieren Java Basics - Anfänger-Themen 2
G Problem clone und Vektor Java Basics - Anfänger-Themen 4
M Vektor sortieren Java Basics - Anfänger-Themen 7
P Vektor toString? Java Basics - Anfänger-Themen 2
T Hashtable und Vektor Java Basics - Anfänger-Themen 3
I einlaggern von Objekten in ein Vektor Java Basics - Anfänger-Themen 10
G Vektor Java Basics - Anfänger-Themen 3
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
B Problem beim grundsätzlichen Verständnis bei Rekursion mit 2-dimensionalen Array Java Basics - Anfänger-Themen 6
V Ausgeben eines 4-Dimensionalen Arrays Java Basics - Anfänger-Themen 6
H Erste Schritte Größe eines 2 dimensionalen Arrays ausgeben Java Basics - Anfänger-Themen 6
P Laenge von mehr dimensionalen arrays Java Basics - Anfänger-Themen 2
N mehr Dimensionalen Array beschreiben Java Basics - Anfänger-Themen 13
K Problem mit 2 Dimensionalen Array Java Basics - Anfänger-Themen 4
C 2 Dimensionalen Array zeichnen Java Basics - Anfänger-Themen 6
H Kardinalitäten 2,4,6 mit einem 2 Dimensionalen Array Java Basics - Anfänger-Themen 2
G Ausgabe eines 2-dimensionalen Arrays Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben