SF1626 - Övning 4 - Code

Göran Andersson goeran@kth.se, 110331

3.3

Partikelbanan införs med

ClearAll["`*"]

x[t_]:={Cos[t],2Sin[t],t}

a)

Hastigheten blir

x'[t]

I punkten (-1,0,π), dvs. då t=π erhålls

x'[π]

Anm: Grekiska bokstäver som t.ex. α eller π kan införas med escape-sekvens EscaEsc resp. EscpEsc.

b)

Farten blir

Norm[x'[π]]

c)

Accelerationen blir

x''[π]

Grafik

kurva=ParametricPlot3D[x[t],{t,0,10},PlotRange->{{-3,3},{-3,3},{0,10}}]

plot[t_]:=Show[
kurva,
Graphics3D[{
{Black,PointSize[0.025],Point[{x[t]}]},
{Red,Arrow[{x[t],x[t]+x'[t]}]},
{Blue,Arrow[{x[t],x[t]+x''[t]}]}
}]
]

Animate[plot[t],{t,0,10}]

Manipulate[plot[t],{t,0,10}]

3.4

Vi har två ekvationer vars snitt ger en kurva. I detta fall kan vi sätta y-z=t:

(Piecewise[{{x-y+z==3}, {(x^2)+(y^2)-(z^2)==1}}])⇔(Piecewise[{{x-(y-z)==3}, {(x^2)+(y-z)(y+z)==1}}])

ClearAll["`*"]

solution=Solve[{(x^2)+(y^2)-(z^2)==1,x-y+z==3,y-z==t},{x,y,z}]

Parameterformen av kurvan blir därmed

{r[t_]}={x,y,z}/.solution

I punkten (2,1,2) är t=-1.

r[-1]

Tangenten i punkten (2,1,2) har 𝕣'(-1) som riktningsvektor.

r'[-1]

Parameterformen av tangenten i punkten (2,1,2) kan därmed skrivas:

T[s_]=r[-1]+s r'[-1]

Grafik

Här kommer avslutande grafik:

plot1=ContourPlot3D[
{(x^2)+(y^2)-(z^2)==1,x-y+z==3},{x,-3,3},{y,-3,3},{z,0,5},
Mesh->None,ContourStyle->{{Lighter[Blue],Opacity[0.75]},{Lighter[Green],Opacity[0.75]}},
Lighting->{{"Ambient",White}},AxesLabel->{"x","y","z"}
];
plot2=Show[
ParametricPlot3D[
r[t],{t,-6,-0.5},PlotRange->{{-3,3},{-3,3},{0,5}},
PlotStyle->Thick,AxesLabel->{"x","y","z"}
],
Graphics3D[{Thick,Red,Line[{T[-1],T[1]}]}]
];
GraphicsRow[{plot1,plot2}]

3.6

Parameterformen av ytan införs med.

ClearAll["`*"]

r[s_,t_]:={(2-Cos[t])Cos[s],(2-Cos[t])Sin[s],Sin[t]}

Vi söker s,t så att 𝕣(s,t)=(1,(Sqrt[3]),1).

r0={1,(Sqrt[3]),1};
Reduce[{r[s,t]==r0,-π≤s≤π,-π≤t≤π},{s,t}]

{s0,t0}={(π/3),(π/2)};

Den sökta normalvektorn blir därmed (se Derivative och Cross):

Derivative[1,0][r][s0,t0]

Derivative[0,1][r][s0,t0]

n=Derivative[1,0][r][s0,t0]\[Cross]Derivative[0,1][r][s0,t0]

n=-n

Här valdes 𝕟=-(Subscript[𝕣, s]^′)× (Subscript[𝕣, t]^′)=(Subscript[𝕣, t]^′)× (Subscript[𝕣, s]^′) eftersom detta ger en vektor som är riktad ut från ytan.

Grafik

plot1=ParametricPlot3D[r[s,t],{s,-π,π},{t,-π,π},PlotStyle->Opacity[0.75],AxesLabel->{"x","y","z"}]

plot2=Graphics3D[{Red,PointSize[0.015],Point[r0],Arrow[{r0,r0+n}]}];
Show[plot1,plot2,PlotRange->{-1,3}]

3.8

Parameterformen av ytan införs och plottas med.

ClearAll["`*"]

r[s_,t_]:={t,(t^2),s}

plot1=ParametricPlot3D[
r[s,t],{s,0,2},{t,-2,2},PlotStyle->Opacity[0.75],
Mesh->{Range[0,2,0.5],Range[-2,2,0.5]},
AxesLabel->{"x","y","z"}
]

De sökta normalvektorerna i (1,1,1) och (0,0,1) blir (se Derivative och Cross):

r1={1,1,1};r2={0,0,1};

Reduce[r[s,t]==r1,{s,t}]

{s1,t1}={1,1};

n1=Derivative[1,0][r][s1,t1]\[Cross]Derivative[0,1][r][s1,t1]

Reduce[r[s,t]==r2,{s,t}]

{s2,t2}={1,0};

n2=Derivative[1,0][r][s2,t2]\[Cross]Derivative[0,1][r][s2,t2]

plot2=Graphics3D[{
{Red,PointSize[0.015],Point[r1],Arrow[{r1,r1+n1}]},
{Blue,PointSize[0.015],Point[r2],Arrow[{r2,r2+n2}]}
}];
Show[plot1,plot2,PlotRange->{-1,3}]

En normalvektor i en godtycklig punkt är

n=Derivative[1,0][r][s,t]\[Cross]Derivative[0,1][r][s,t]/.{t->x,s->z}

Om vi tolkar ytan som en nivåyta är 𝕟 lika med gradienten till en funktion f(x,y,z). Detta leder till system av partiella differentialekvationer. En för varje koordinat.

de=Thread[(∂_({{x,y,z}}))f[x,y,z]==n]

DSolve[de,f[x,y,z],{x,y,z}]

Vi ser att lösningen kan tolkas som nivåytor f(x,y,z)=y-(x^2)=𝒞.

ContourPlot3D[
-(x^2)+y,{x,-3,3},{y,-3,3},{z,-1,3},
Contours->{-2,-1,0,1,2},ContourStyle->Opacity[0.5],
Mesh->False,AxesLabel->{"x","y","z"},BoxRatios->Automatic
]

3.9

a)

Funktionalmatrisen (Jacobian matrix) kan beräknas med

ClearAll["`*"]

𝕪={x+2y,3x+4y};
𝕩={x,y};
𝕁=D[𝕪,{𝕩}]

MatrixForm[𝕁]

c)

𝕩={2r Cos[θ],3r Sin[θ]};
𝕣={r,θ};
𝕁=D[𝕩,{𝕣}]

MatrixForm[𝕁]

3.20

ClearAll["`*"]

𝕦={x+a y,2x+3y};
𝕩={x,y};
𝕁=D[𝕦,{𝕩}]

MatrixForm[𝕁]

Det[𝕁]≠0

3.21

a)

ClearAll["`*"]

𝕦={x+y-z,x-y+z,(x^2)+(y^2)+(z^2)-2y z};
𝕩={x,y,z};
MatrixForm[𝕁=D[𝕦,{𝕩}]]

Det[𝕁]