Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I was wondering why I keep receiving the error message

"Derivative should be a triple of numbers, or scaled form" 

from the following code

uT[t_] := Simplify[r'[t]/Norm[r'[t]]]

vN[t_] := Simplify[uT'[t]/Norm[uT'[t]]]

vB[t_] := Simplify[Cross[r'[t], r''[t]]/Norm[Cross[r'[t], r''[t]]]]

N[Evaluate[uT[7 Pi/2]]]
{0., 0.894427, 0.447214}
N[Evaluate[vN[7 Pi/2]]]
{-(2./Sqrt[4. + 0.00900633 Abs[2.23607 - 1. Derivative[1][Norm][{0., 3., 1.5}]]^2]), 
0., ( 2.23607 - 1. Derivative[1][Norm][{0., 3., 1.5}])/Sqrt[444.132 + Abs[2.23607 - 1.
Derivative[1][Norm][{0., 3., 1.5}]]^2]}
N[Evaluate[vB[7 Pi/2]]]
{0.0944772, -0.445213, 0.890426}
N[Evaluate[uT[13 Pi/2]]]
{0., -0.607287, -0.794483}
N[Evaluate[vN[13 Pi/2]]] 
(*out56*)     
{50696.9/Sqrt[2.57017*10^9 + 9. Abs[2534.84 + 1539.38 Derivative[1][Norm][{0., 
-2.29314, -3.}]]^2], (3. (2534.84 + 1539.38 Derivative[1][Norm][{0., -2.29314, 
-3.}]))/Sqrt[ 2.57017*10^9 + 9. Abs[2534.84 + 1539.38 Derivative[1][Norm][{0., 
-2.29314, -3.}]]^2], 0.}
N[Evaluate[vB[13 Pi/2]]]
{0.118335, -0.7889, 0.60302}
Cter = ParametricPlot3D[r[t], {t, 0, 10 Pi}, PlotStyle -> Directive[Blue, Thick]];

stp = Graphics3D[{Opacity[.5], Black, Sphere[r[0], .5]}];

TNBPlot = Graphics3D[{Arrowheads[.07], Thickness[.15], Yellow, 
                      Arrow[{N[uT[7 Pi/2]], N[uT[13 Pi/2]]}], Green, 
                      Arrow[{N[vN[7 Pi/2]], N[vN[13 Pi/2]]}], Blue, 
                      Arrow[{N[vB[7 Pi/2]], N[vB[13 Pi/2]]}]}];

Show[Cter, stp, TNBPlot, PlotRange -> All]

I did narrow it down to the equation to (*out56*), the equation for the Normal Vector. I haven't posted the actual function, because there's a bunch of questions up already pertaining to it, and I didn't want to give the impression that I'm trying to offload my homework onto anyone. Additionally, when I did have it working, I couldn't get the vectors to display properly. Could that possibly be due to the program considering the vectors and the actual 3D-Parametric plot as separate entities or something?

share|improve this question
    
Your error message is saying (I think) "Coordinate (...) should be a triple of numbers." The points can't be plotted because vN doesn't seem to produce any numbers, just Norm' expressions, which causes that error. –  cormullion Oct 3 '13 at 8:50
    
Could you please add the definition of r too? Never, NEVER assume that we can figure out its value, or that we can solve the problem in a symbolic way for any r! –  István Zachar Oct 17 '13 at 6:04

2 Answers 2

There are probably more elegant answers. I post this for illustrative purposes:

r[t_] := {Cos[t], Sin[t], t}    
tangent[t_] := Normalize@(r'[t])
normal[t_] := Normalize@(r''[t])
binormal[t_] := Normalize@(Cross[tangent[t], normal[t]])

vec = Arrow /@ {{r[#], r[#] + tangent[#]}, {r[#], 
       r[#] + normal[#]}, {r[#], r[#] + binormal[#]}} &[Pi/2];
Show[ParametricPlot3D[r[t], {t, 0, 2 Pi}], Graphics3D[vec]]

enter image description here

share|improve this answer

Add ComplexExpand to your definitions of uT, uN, uB. That will take care of such terms as Norm'.

uT[t_] := Simplify[r'[t]/Norm[r'[t]] // ComplexExpand]

vN[t_] := Simplify[uT'[t]/Norm[uT'[t]] // ComplexExpand]

vB[t_] := Simplify[Cross[r'[t], r''[t]]/Norm[Cross[r'[t], r''[t]]] //  ComplexExpand]

Example:

r[t_] := {Cos[t], Sin[t], E^t}

N[Evaluate[vN[13 Pi/2]]]
(* {0.707107, -0.707107, 9.57279*10^-10} *)
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.