Application Center - Maplesoft
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

App Preview:

Vektoren I

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

vektoren.mw

Quelle

Dateiname: vektoren.mws
Dateigre: 42 KB

Name: Fabian Hust

Schule: Isolde-Kurz-Gymnasium

Klasse: 13

Datum: 29.04.99

Kategorie: Lineare Algebra / Vektoren

Thema: Vektoren

Stichwrter: Vektoren, Vektorrume, Addition, Multiplikation, Skalarprodukt, Vektorprodukt, Kreuzprodukt, Matrix, Spaltenvektor, Lnge, Betrag, Winkel, linear, Schnitt, Parameterform, Koordinatenform

Kurzbeschreibung: Anwendungen zu Vektoren: Addition von Vektoren, Multiplikation von Vektoren mit einem Skalar, Produkt zweier Skalare, Lnge und Betrag eines Vektors, Winkel zwischen Vektoren, Orthogonalitt von Vektoren, Geometrische Bedeutung des Kreuzprodukts, sind Vektoren zueinander linear, von der Parameterform zur Koordinatenform

Vektorrume - Grundlagen

> restart:with(linalg):

Warning, the protected names norm and trace have been redefined and unprotected

Wir definieren uns zunchst einmal zwei Vektoren (Skalare)

> v1:=[v1x,v1y,v1z];
v2:=[v2x,v2y,v2z];

v1 := [v1x, v1y, v1z]

v2 := [v2x, v2y, v2z]

Diese Art von Vektoren nennt man Zeilenvektor

>

Addition

> v1+v2;

[v2x+v1x, v2y+v1y, v2z+v1z]

> v1:=[1,1,1];
v2:=[2,2,2];

v1+v2;

v1 := [1, 1, 1]

v2 := [2, 2, 2]

[3, 3, 3]

>

Multiplikation mit einem Skalar (Skalarmultiplikation)

Mit der Skalarmultiplikation erhlt man ein Vielfaches eines Skalars.

> t*v1;

t*[1, 1, 1]

t > 1 : Vektor wird gestreckt
t < 1 : Vektor wird gestauch

t < 0 : Vektor wird umgedreht

Maple multipliziert hier nicht selbst, hier helfen wir ein wenig nach:

> evalm(%);

vector([t, t, t])

>

Produkt zweier Skalare (Skalarprodukt)

Das '&' mu vor dem Malzeichen stehen, sonst kann Maple mit dem Ausdruck nichts anfangen

> v1&*v2;

`&*`([1, 1, 1], [2, 2, 2])

Wie oben mssen wir auch hier etwas nachhelfen:

> evalm(%);

6

> dotprod(v1,v2);

6

> innerprod(v1,v2);

6

Mit dem Skalarprodukt kann man Winkel zwischen Vektoren berechnen, da gilt:cos(alpha) = a*b/(abs(a)*abs(b))

Es gibt folgende Sonderflle:

Winkel = 0     also a*b = abs(a)*abs(b) , a und b sind also linear abhngig

Winkel = 90   also a*b = 0 , a und b sind also zueinander orthogonal
Winkel = 180 also
a*b = -abs(a)*abs(b) , a und b sind also wieder linear abhngig


Beispiel:

> restart:with(geom3d):

Warning, the assigned name polar now has a global binding

> A:=[2,-1,5];
B:=[6,7,2];

A := [2, -1, 5]

B := [6, 7, 2]

> Winkel:=arccos(evalf(evalm((A&*B)/(linalg[norm](A,2)*linalg[norm](B,2)))))*180/evalf(Pi);

Winkel := 73.12453907

Auch mit geom3d kann man den Winkel zwischen zwei Vektoren berechnen. Hierzu mu man Maple jedoch etwas auf die Sprnge helfen, in dem man Gerade vom Ursprung zu den beiden Vektoren bildet und dann den Winkel zwischen den beiden Geraden mit FindAngle bestimmt. Auch hier mu man den Wert vom Bogenma in das Gradma umrechnen.

> point(p0,[0,0,0]):
point(pA,A):

point(pB,B):

line(l1,[p0,pA]):

line(l2,[p0,pB]):

> evalf(FindAngle(l1,l2))*180/evalf(Pi);

73.12453907

>

Vektorprodukt/Kreuzprodukt

> restart:with(linalg):

Warning, the protected names norm and trace have been redefined and unprotected

Das Kreuzprodukt (auch Vektorprodukt genannt) hat in der Mathematik in der Geometrie sehr wichtige Funktionen. So lassen sich zu zwei Vektoren ein orthogonaler Vektor finden, die Flche und das Volumen von verschiedenen Krpern bestimmen. Ein Beweis des Kreuzprodukts findet sich hier.

Der zugehrige Befehl heit crossprod und befindet sich im Package linalg.

crossprod(Vektor_1,Vektor_2);

> v1:=[1,2,3];
v2:=[1,-3,2];

crossprod(v1,v2);

v1 := [1, 2, 3]

v2 := [1, -3, 2]

vector([13, 1, -5])

Das Vektorprodukt ist nur fr dreidimensionale Vektoren definiert. Fr andere Vektoren gilt es nicht. Weitere Regeln gibt es hier.

>

>

Definition einer Matrix - Spaltenvektor

> m1:=matrix([[a11,a12,a13],[a21,a22,a23],[a31,a32,a33]]);

m1 := matrix([[a11, a12, a13], [a21, a22, a23], [a31, a32, a33]])

Es geht auch anders, schluendlich ist es Geschmackssache, wie man eine Matrix definiert:

> m1:=matrix(3,3,[a11,a12,a13,a21,a22,a23,a31,a32,a33]);

m1 := matrix([[a11, a12, a13], [a21, a22, a23], [a31, a32, a33]])

>

Multiplikation einer Matrix mit einem Vektor

> m1&*v2;

`&*`(m1, [1, -3, 2])

> evalm(%);

vector([a11-3*a12+2*a13, a21-3*a22+2*a23, a31-3*a32+2*a33])

Oder so:

> innerprod(m1,v2);

vector([a11-3*a12+2*a13, a21-3*a22+2*a23, a31-3*a32+2*a33])

>

Lnge, Betrag eines Vektors

> restart:with(linalg):with(geom3d):

Warning, the protected names norm and trace have been redefined and unprotected

Warning, the name inverse has been rebound

Warning, the assigned name polar now has a global binding

Wir definieren uns einen Vektor:

> v:=[2,2,2];

v := [2, 2, 2]

Die Lnge eines Vektors erhlt man, in dem man den Betrag des Vektors nimmt. Dazu zieht man die Wurzel aus der Summe der einzelnen Koordinaten im Quadrat:

> bv:=sqrt(v[1]^2+v[2]^2+v[3]^2);

bv := 2*3^(1/2)

Oder einfacher. Man nimmt das Skalarprodukt des Vektors mit sich selbst und zieht daraus die Wurzel:

> bv:=sqrt(evalm(v&*v));

bv := 2*3^(1/2)

Maple hat einen eigenen Befehl, um von einem Vektor den Betrag zu nehmen. Er befindet sich im Package linalg und heit norm:

> bv:=linalg[norm](v,2);

bv := 2*3^(1/2)

Wer die Lnge eines Vektors unbedingt mit geom3d berechnen will, der kann zwei Punkte bilden, nmlich den Vektor und den Ursprung und dann mit dem Befehl distance den Abstand dieser zwei Punkte berechnen:

> point(p1,v):
point(p2,[0,0,0]):

> bv:=distance(p1,p2);

bv := 2*3^(1/2)

>

Winkel zwischen zwei Vektoren

Wenn man den Winkel zwischen zwei Vektoren berechnen will gilt die Formel:

cos(alpha) = a*b/(abs(a)*abs(b))

Man bentigt also das Skalarprodukt.

> restart:with(geom3d):

Warning, the assigned name polar now has a global binding

> A:=[2,-1,5];
B:=[6,7,2];

A := [2, -1, 5]

B := [6, 7, 2]

> Winkel:=arccos(evalf(evalm((A&*B)/(linalg[norm](A,2)*linalg[norm](B,2)))))*180/evalf(Pi);

Winkel := 73.12453907

Auch mit geom3d kann man den Winkel zwischen zwei Vektoren berechnen. Hierzu mu man Maple jedoch etwas auf die Sprnge helfen, in dem man Gerade vom Ursprung zu den beiden Vektoren bildet und dann den Winkel zwischen den beiden Geraden mit FindAngle bestimmt. Auch hier mu man den Wert vom Bogenma in das Gradma umrechnen.

> point(p0,[0,0,0]):
point(pA,A):

point(pB,B):

line(l1,[p0,pA]):

line(l2,[p0,pB]):

> evalf(FindAngle(l1,l2))*180/evalf(Pi);

73.12453907

>

Orthogonalitt von Vektoren

> restart:

Zu dem Vektor...

> v1:=[2,5,3];

v1 := [2, 5, 3]

...soll ein zweiter Vektor gefunden werden, der orthogonal zu dem ersten Vektor ist:

> v2:=[ax,ay,az];

v2 := [ax, ay, az]

Wegen cos(90)=0, mu folgende Gleichung gelten (Das Skalarprodukt mu 0 sein, dann ist zwischen zwei Vektoren ein rechter Winkel):

> gl:=v1&*v2=0;

gl := `&*`([2, 5, 3], [ax, ay, az]) = 0

> evalm(gl);

2*ax+5*ay+3*az = 0

Wir suchen nach Zahlen, die passen:

> ax:=4: ay:=-1: az:=-1:

> evalm(gl);

0 = 0

>

Geometrische Bedeutung des Kreuzprodukts

> restart:
interface(warnlevel=0):

with(plots):with(geom3d):with(linalg):

Rechtssystem: Dreht man den ersten Faktor des Kreuzprodukts auf dem krzesten Weg zum zweiten Faktor, so zeigt der Vektor c in die Richtung, in die sich eine Rechtsschraube bewegen wrde.
Das Kreuzprodukt ist nicht kommutativ, d.h. die Vektoren sind nicht vertauschbar!

Dies kann uns auch Maple sagen.

Es gilt:
abs(a)*x*abs(b) = abs(a)*abs(b)*sin(alpha)

Dabei erhlt man auf beiden Seiten die Flche, die die beiden Vektoren aufspannen!    

> a:=[1,2,3]:b:=[2,3,4]:

> crossprod(a,b)=crossprod(b,a);

vector([-1, 2, -1]) = vector([1, -2, 1])

> evalb(crossprod(a,b)=crossprod(b,a));

false

Aber es gilt dafr axb = -b*x :

> crossprod(a,b)=evalm(-crossprod(b,a));

vector([-1, 2, -1]) = vector([-1, 2, -1])

(Aus irgendeinem mir nicht verstndlichen Grund, klappt hier der Befel evalb nicht. Vielleicht kann mir ja jemand helfen?

Es gibt folgende Sonderflle:

axb = a*b  fr a ist orthogonal auf b

axb = 0  fr a ist parallel zu b

>

Vektorprodukt mit Beweis und Winkelberechnung

Gegeben sind zwei Vektoren a und b. Wie sieht c aus?

> restart:
interface(warnlevel=0):

with(plots):with(geom3d):with(linalg):

> a:=[1,2,3];
b:=[-2,1,-3];

a := [1, 2, 3]

b := [-2, 1, -3]

Den Vektor c erhlt man, indem man das Kreuzprodukt von a und b nimmt:

> c:=crossprod(a,b);

c := vector([-9, -3, 5])

> c_Betrag:=norm(c,2);

c_Betrag := 115^(1/2)

Den Betrag des Vektor c erhlt man, in dem man die Komponenten Quadriert und anschlieend die Wurzel zieht und sie miteinander multipliziert:

> Betrag_c:=sqrt((sqrt(Ax^2+Ay^2)*sqrt(Bx^2+By^2)));

Betrag_c := ((Ax^2+Ay^2)^(1/2)*(Bx^2+By^2)^(1/2))^(1/2)

> Betrag_c:=sqrt(sqrt(c[1]^2+c[2]^2+c[3]^2)*sqrt(c[1]^2+c[2]^2+c[3]^2));

Betrag_c := 115^(1/2)

Wesentlich einfacher geht's mit dem Betrag nehmen dank des Befehls norm aus dem linalg-Package (siehe oben).

Den Winkel den die beiden Vektoren a und b bilden, erhlt man, indem man das Vektorprodukt durch den Betrag des Vektorprodukts teilt:

> ab:=norm(a,2);
bb:=norm(b,2);

ab := 14^(1/2)

bb := 14^(1/2)

> cos_alpha:=arccos(sqrt((evalm(a&*b)/evalm(ab*bb))^2));

cos_alpha := arccos(9/14)

> Winkel_Bogenmass:=evalf(cos_alpha);

Winkel_Bogenmass := .8725738534

Der Winkel mu noch vom Bogenma in die Grad-Einheit umgewandelt werden:

> Winkel:=Winkel_Bogenmass*180/evalf(Pi);

Winkel := 49.99479910

Auch mit geom3d kann man den Winkel zwischen zwei Vektoren berechnen. Hierzu mu man Maple jedoch etwas auf die Sprnge helfen, in dem man Gerade vom Ursprung zu den beiden Vektoren bildet und dann den Winkel zwischen den beiden Geraden mit FindAngle bestimmt. Auch hier mu man den Wert vom Bogenma in das Gradma umrechnen.

> point(p0,[0,0,0]):
point(pA,a):

point(pB,b):

line(l1,[p0,pA]):

line(l2,[p0,pB]):

> Winkel:=evalf(FindAngle(l1,l2))*180/evalf(Pi);

Winkel := 49.99479910

>

Als Beweis fr das Vektorprodukt gilt:

|axb|=ab * sin(alpha )

> Betrag_a:=sqrt(a[1]^2+a[2]^2+a[3]^2);

Betrag_a := 14^(1/2)

> Betrag_b:=sqrt(b[1]^2+b[2]^2+b[3]^2);

Betrag_b := 14^(1/2)

Wir mssen als Winkel natrlich wieder den Wert im Bogenma einsetzen, sonst gibt es Schwierigkeiten:

> T1:=evalf(norm(crossprod(a,b),2));

T1 := 10.72380529

> T2:=Betrag_a*Betrag_b*sin(Winkel_Bogenmass);

T2 := 10.72380530

Stimmt ziemlich genau berein!

>

Sind zwei Vektoren orthogonal oder parallel zueinander?

> restart:with(geom3d):with(linalg):

Warning, the assigned name polar now has a global binding

Warning, the name inverse has been rebound

Warning, the protected names norm and trace have been redefined and unprotected

> a:=[1,2,3];
b:=[2,4,6];

a := [1, 2, 3]

b := [2, 4, 6]

Fr die Orthogonalitt gilt: axb = a*b

> evalb(norm(crossprod(a,b),2)=evalm(a&*b));

false

Fr die Parallelitt gilt: axb = 0

> evalb(norm(crossprod(a,b),2)=0);

true

Wie man es den Vektorenwerten schon ansieht, sind sie parallel zueinander.

>

>

>

Sind Vektoren zueinander linear?

Ein Vektor ist linear zu einem anderen Vektor, wenn er das n-fache des ersten Vektors ist:

Wir definieren uns zwei Vektoren:

> restart:

> v1:=[2,3,1];
v2:=[4,6,2];

# v2:=[5,6,2];

v1 := [2, 3, 1]

v2 := [4, 6, 2]

Wir stellen uns ein Gleichungssystem auf. Dabei soll ein Skalar gefunden werden, der mit dem ersten Vektor multipliziert den zweiten Vektor ergibt:

> gls:=student[equate](v1*Skalar,v2);

gls := {Skalar = 2, 2*Skalar = 4, 3*Skalar = 6}

Wir lsen die "Gleichungen" nach "Skalar" auf:

> for i from 1 to nops(gls) do sk||i:=solve(gls[i],Skalar) od;

sk1 := 2

sk2 := 2

sk3 := 2

Und berprfen, ob der Skalar fr x, y und z gleich ist. Wenn ja, sind die Vektoren linear zueinander.

> if op(sk1)=op(sk2) and op(sk2)=op(sk3) then `Die Vektoren sind linear zueinander` else `Die Vektoren sind nicht linear zueinander` fi;

`Die Vektoren sind linear zueinander`

>

>

>

Vektorgleichungen

> restart:

> v1:=[v1x,v1y,v1z];
v2:=[v2x,v2y,v2z];

v3:=[v3x,v3y,v3z];

v4:=[v4x,v4y,v4z];

v1 := [v1x, v1y, v1z]

v2 := [v2x, v2y, v2z]

v3 := [v3x, v3y, v3z]

v4 := [v4x, v4y, v4z]

>

Schnitt von zwei Geraden

> restart:with(linalg):

Warning, the protected names norm and trace have been redefined and unprotected

Gegeben sind zwei Geradengleichungen:

> y=3*x+2;
y=-x+1;

y = 3*x+2

y = -x+1

Diese mssen wir in eine Matrix umwandeln. Dazu lsen wir zunchst so auf, da die ??? rechts steht.

> 2=-3*x+y;
1=x+y;

2 = -3*x+y

1 = x+y

Aus den Koeffizienten erstellen wir die matrix:

> m:=matrix(2,2,[-3,1,1,1]);

>

m := matrix([[-3, 1], [1, 1]])

Daraus berechnen wir uns die Determinante (-3*1-1*1):

> determinante:=det(m);

determinante := -4

Nun bentigen wir Dx und Dy. Dazu ersetzen wir jeweils die x- oder y-Spalte mit der linken Seite der obigen Gleichung:

> m:=matrix(2,2,[2,1,1,1]);
detneu:=det(m);

m := matrix([[2, 1], [1, 1]])

detneu := 1

Die Determinante der 2x2-Matrix mssen wir jetzt noch durch die Determinante von oben teilen:

> detneu/determinante;

(-1)/4

Das gleiche machen wir jetzt fr Dy:

> m:=matrix(2,2,[-3,1,2,1]);
detneu:=det(m);

detneu/determinante;

m := matrix([[-3, 1], [2, 1]])

detneu := -5

5/4

Der Schnittpunkt lautet also S(Dx|Dy) also S(-1/4|5/4).

>

Mit Maple:

> g:=evalm(v1+t*v2);
h:=evalm(v3+s*v4);

g := v1+t*v2

h := v3+s*v4

Wir stellen und ein Gleichungssystem auf

> lgs:=student[equate](g,h);

lgs := {v1 = v3, t*v2 = s*v4}

> solve(lgs,{s,t,v1z});

Mit geom3d geht es natrlich auch:

> restart:with(geom3d):
point(p1,[0,0,0]):

point(p2,[3,3,3]):

point(p3,[1,2,2]):

point(p4,[4,4,4]):

line(l1,[p1,p2]):

line(l2,[p3,p4]):

Warning, the assigned name polar now has a global binding

> intersection(Schnittp,l1,l2):
coordinates(Schnittp);

[4, 4, 4]

>

Von der Parameterform zur Koordinatenform

Die Parameterform hat die Form: x = p+t*a

Punktrichtungsform: x = p+t*a

Zweipunkteform: x = p+t*(q-p)
Normalenform:
n*(x-p) = 0

Hessesche Normalenform: n[0]*(x-p) = 0

Normalenform der Ebene siehe Ebene/Normalenform, Umwandlung in Koordinatenform!

> restart:with(geom3d):
P:=[1,2,3];

v:=[4,1,1];

u:=[-2,-1,1];

Warning, the assigned name polar now has a global binding

P := [1, 2, 3]

v := [4, 1, 1]

u := [-2, -1, 1]

Die Ebenengleichung in der Parameterform lautet dann:

> E1:=P+s*u+t*v;

E1 := [1, 2, 3]+s*[-2, -1, 1]+t*[4, 1, 1]

Wir lassen uns die Einzelgleichungen ausgeben:

> erg:=student[equate]([x,y,z],E1);

erg := {x = 1-2*s+4*t, y = 2-s+t, z = 3+s+t}

Damit wir uns ein Gleichungssystem aufstellen knnen, definieren wir uns daraus drei Gleichungen.

> for i from 1 to nops(erg) do gle1||i:= erg[i] od;

gle11 := x = 1-2*s+4*t

gle12 := y = 2-s+t

gle13 := z = 3+s+t

Wir lsen nach s und t auf:

> s:=solve(gle11,s);
t:=solve(gle12,t);

s := -1/2*x+1/2+2*t

t := -y+3/2+1/2*x

Wir setzen ein und erhalten die Koordinatenform:

> gle13;
KF:=-x+3*y+z-8;

z = 8+x-3*y

KF := -x+3*y+z-8

Oder mit geom3d:
Wir definieren uns die Ebene:

> plane(e1,gle13,[x,y,z]):

> detail(e1);

`name of the object:  e1
form of the object:  plane3d
equation of the plane:  -x+3*y+z-8 = 0``name of the object:  e1
form of the object:  plane3d
equation of the plane:  -x+3*y+z-8 = 0``name of the object:  e1
form of the object:  plane3d
equation of the plane:  -x+3*y+z-8 = 0`

> erg:=sort(Equation(e1,[x,y,z]),[x,y,z]);

erg := -x+3*y+z-8 = 0

>

>

Vektorrume - Beispiele

Addition zweier Vektoren

3D

> restart:with(plots):with(plottools):

Warning, the name changecoords has been redefined

Warning, the assigned name arrow now has a global binding

> v1:=matrix(3,1,[1,2,4]);
v2:=matrix(3,1,[3,4,-2]);

v1 := matrix([[1], [2], [4]])

v2 := matrix([[3], [4], [-2]])

> v3:=evalm(v1+v2);

v3 := matrix([[4], [6], [2]])

Das Ganze knnen wir jetzt noch graphisch darstellen:

> pf1:=arrow([0,0,0],[op(1,entries(v1)[1]),op(1,entries(v1)[2]),op(1,entries(v1)[3])], .1, .3, .1, color=blue):
pf2:=arrow([0,0,0],[op(1,entries(v2)[1]),op(1,entries(v2)[2]),op(1,entries(v1)[3])], .1, .3, .1, color=blue):

pf3:=arrow([0,0,0],[op(1,entries(v3)[1]),op(1,entries(v3)[2]),op(1,entries(v1)[3])], .1, .3, .1, color=red):

> display(pf1,pf2,pf3,orientation=[-16,100],axes=boxed,labels=[`x-Achse`,`y-Achse`,`z-Achse`],title=`Addition zweier 3D-Vektoren`);

[Plot]

>

2D

> restart:with(plots):with(plottools):

Warning, the name changecoords has been redefined

Warning, the assigned name arrow now has a global binding

> v1:=matrix(2,1,[1,2]);
v2:=matrix(2,1,[3,4]);

v1 := matrix([[1], [2]])

v2 := matrix([[3], [4]])

> v3:=evalm(v1+v2);

v3 := matrix([[4], [6]])

Das Ganze knnen wir jetzt noch graphisch darstellen:

> pf1:=arrow([0,0],[op(1,entries(v1)[1]),op(1,entries(v1)[2])], .1, .3, .1, color=blue):
pf2:=arrow([0,0],[op(1,entries(v2)[1]),op(1,entries(v2)[2])], .1, .3, .1, color=blue):

pf3:=arrow([0,0],[op(1,entries(v3)[1]),op(1,entries(v3)[2])], .1, .3, .1, color=red):

> display(pf1,pf2,pf3,axes=boxed,scaling=constrained,labels=[`x-Achse`,`y-Achse`],title=`Addition zweier 2D-Vektoren`);

[Plot]

>

>

Skalarmultiplikation

> restart:

> v1:=matrix(3,1,[1,2,3]);

v1 := matrix([[1], [2], [3]])

> v2:=evalm(t*v1);

v2 := matrix([[t], [2*t], [3*t]])

> t:=3;
v2:=evalm(t*v1);

t := 3

v2 := matrix([[3], [6], [9]])

>

Die Gerade (Parameterform)

> restart:

Parameterfom: Aufpunkt + Parameter * Richtung

> vg:=vg0+t*v;

vg := vg0+t*v

Durch das Verndern der Komponenten, kann man die Eigenschaften der Geraden beeinflussen:

> # vg:=vg0+t*(2*v);  doppelt so lang, aber gleiche Gerade
# vg:=vg0-v;  entgegengesetzte Richtung, aber gleiche Gerade

>

Beispiel:

> vg0:=matrix(3,1,[1,2,3]);
v:=matrix(3,1,[2,4,7]);

vg0 := matrix([[1], [2], [3]])

v := matrix([[2], [4], [7]])

> evalm(vg);

matrix([[1+2*t], [2+4*t], [3+7*t]])

> vg0:=matrix(3,1,[3,6,10]);
v:=matrix(3,1,[2,4,7]);

evalm(vg);

vg0 := matrix([[3], [6], [10]])

v := matrix([[2], [4], [7]])

matrix([[3+2*t], [6+4*t], [10+7*t]])

> vg0:=matrix(3,1,[1,2,3]);
v:=matrix(3,1,[4,8,14]);

evalm(vg);

vg0 := matrix([[1], [2], [3]])

v := matrix([[4], [8], [14]])

matrix([[1+4*t], [2+8*t], [3+14*t]])

>

>