Suche orthogonalen Vektor zu n Vektoren. Allgemeines Vektorprodukt

Neue Frage »

Hölzerin Auf diesen Beitrag antworten »
Suche orthogonalen Vektor zu n Vektoren. Allgemeines Vektorprodukt
Meine Frage:
Hallo zusammen,

Wir sind 2 Maschinenbau Studenten und haben uns mit folgender Frage auseinanderzusetzen:
(Gesamte Fragestellung siehe Anhang)

Meine Ideen:
Wir sind bis jetzt schon soweit gekommen, dass wir den orthogonalen Vektor bestimmen können.
Programm:
% VEKTORPRODUKT Berechnet das Vektorprodukt der n-1 n dimimensionalen
Vektoren in V.
% vn = Vektorprodukt([v1,v2,v3, ..., vn-1]) für n-1 Vekoren
% v1,v2,v3, ..., vn-1
%
% Das Vektorprodukt erfüllt folgende Eigenschaften:
% (i) vn steht steht senkrecht auf v1 bis vn_1
% (ii) det(v1,v2,...,vn_1,vn) = norm(vn)^2
%
% Für n = 3 gibt vn = Vektorprodukt([v1,v2]) eine numerische Annährung
% für das Kreuzprodukt von v1 und v2 zurück.
%
% Beispiel für n = 3:
%
% >> v1 = [1 1 1]';
% >> v2 = [1 2 2]';
% >> v3 = Vektorprodukt([v1,v2])
%
% v3 =
%
% 0
% -1.0000
% 1.0000
%
% Diese Lösung entspricht numerisch dem Kreuzprodukt der beiden
Vektoren:
%
% >> v_cross = cross(v1, v2)
%
% v_cross =
%
% 0
% -1
% 1
% Inparametercheck
%Zuerst die Größen der Matrix A
if size(V,1) > size(V,2) + 1
error('Zu wenig Vektoren übergeben!')
return;
end
if size(V,1) < size(V,2) + 1
error('Zu viele Vektoren oder Zeilenvektoren anstelle von
Spaltenvektoren übergeben!')
return;
end
% Nun schauen, ob Vektoren linear abhängig sind. Dies ist der Fall, wenn
% der Rang zu klein ist.
if rank(V) < size(V,2)
error('Vektoren sind linear abhängig!')
return;
end
Aufgabe 34 ? Verallgemeinertes Vektorprodukt
Bibiane Buschmann; Dimitri Mutzenberger 6
n = size(V,1); %Anzahl der Unbekannten
?rechne den senkrechten Vektor vn, indem eine Lösung des unterbestimmten
%Gleichungssystems
% V' * vn = 0
%mittels Gauss-Verfahrens berechnet wird. Auch lambda*vn ist Lösung dieses
%Systems. Da der Rang = n - 1 ist gibt es keine weiteren Lösungen.
%
for i = n:-1:1
%Bilde Matrix A durch Tausung von der Spalte i mit der Spalte n
%(falls nötig)
A = V(1:n-1, 1:n-1)';
%Spalte i von A mit Spalte n von V' ersetzen (falls i nicht n ist)
if i ~= n
A(1:n-1, i) = V(n, 1:n-1)';
end
%Setze b auf die Spalte i von -V'
b = -V(i, 1:n-1)';
%Ist der Rang okay, dann löse das System mit Gauss-Verfahren
if rank(A) == n-1
?rechne die Lösung mittels Gauss-Verfahren
x = Gauss(A,b');
%Füge die 1 an der Stelle i ein und transponiere
if i < n
%Füge zwischendrin ein (1 =< i =< n-1)
vn = [x(1:i-1), 1, x(i:n-1)]';
else
%Füge am Ende ein (i = n)
vn = [x(1:n-1), 1]';
end
%Nun haben wir einen Vektor gefunden --> Verlassen der Schleife.
break;
end
end

Nun unser Problem:
Aufgabenstellung Teil b.

Dazu haben wir noch keine Idee.
Könnte Ihr uns vielleicht helfen?

Gruß
riwe Auf diesen Beitrag antworten »
RE: Suche orthogonalen Vektor zu n Vektoren. Allgemeines Vektorprodukt
da sonst niemand zuständig ist,
ich bin da auch nicht zuständig - eigentlich eh nirgendwo Augenzwinkern - aber einen versuch wäre es wert:

multipliziere den unter a) berechneten vektor mit der skalaren größe k.
diese kannst du/ihr anschließend aus der determinante bestimmen

onegewer Augenzwinkern
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »