852
Appendix A: Functions and Instructions
part(
expression1
,
n
)
⇒
⇒
⇒
⇒
expression
Simplifies
expression1
and returns the
n
th
argument
or operand, where
n
is > 0 and
the number of
top-level arguments or operands returned by
part(
expression1
)
. Otherwise, an error is returned.
part(cos(
p
ù
x+3),1)
¸
3+
p
ø
x
Note:
Simplification changed the order of the
argument.
By combining the variations of
part()
, you can
extract all of the sub-expressions in the simplified
result of
expression1
. As shown in the example to
the right, you can store an argument or operand
and then use
part()
to extract further sub-
expressions.
Note:
When using
part()
, do not rely on any
particular order in sums and products.
part(cos(
p
ù
x+3))
¸
1
part(cos(
p
ù
x+3),0)
¸
"cos"
part(cos(
p
ù
x+3),1)
!
temp
¸
3+
p
ø
x
temp
¸
p
ø
x+3
part(temp,0)
¸
"+"
part(temp)
¸
2
part(temp,2)
¸
3
part(temp,1)
!
temp
¸
p
ø
x
part(temp,0)
¸
"
ù
"
part(temp)
¸
2
part(temp,1)
¸
p
part(temp,2)
¸
x
Expressions such as (x+y+z) and (x
ì
y
ì
z) are
represented internally as (x+y)+z and (x
ì
y)
ì
z.
This affects the values returned for the first and
second argument. There are technical reasons
why
part(
x+y+z,1
)
returns y+x instead of x+y.
part(x+y+z)
¸
2
part(x+y+z,2)
¸
z
part(x+y+z,1)
¸
y+x
Similarly, x
ù
y
ù
z is represented internally as
(x
ù
y)
ù
z. Again, there are technical reasons why
the first argument is returned as y
ø
x instead of
x
ø
y.
part(x
ù
y
ù
z)
¸
2
part(x
ù
y
ù
z,2)
¸
z
part(x
ù
y
ù
z,1)
¸
y
ø
x
When you extract sub-expressions from a matrix,
remember that matrices are stored as lists of lists,
as illustrated in the example to the right.
part([a,b,c;x,y,z],0)
¸
"{"
part([a,b,c;x,y,z])
¸
2
part([a,b,c;x,y,z],2)
!
temp
¸
{x y z}
part(temp,0)
¸
"{"
part(temp)
¸
3
part(temp,3)
¸
z
delVar temp
¸
Done
The example Program Editor function to the right
uses
getType()
and
part()
to partially
implement symbolic differentiation. Studying and
completing this function can help teach you how
to differentiate manually. You could even include
functions that the cannot differentiate, such as
Bessel functions.
:d(y,x)
:Func
:Local f
:If getType(y)="VAR"
: Return when(y=x,1,0,0)
:If part(y)=0
: Return 0
¦
y=
p
,
ˆ
,
i
,numbers
:part(y,0)
!
f
:If f="
L
"
¦
if negate
: Return
ë
d(part(y,1),x)
:If f="
−
"
¦
if minus
: Return d(part(y,1),x)
ì
d(part(y,2),x)
:If f="+"
: Return d(part(y,1),x)
+d(part(y,2),x)
:If f="
ù
"
: Return part(y,1)
ù
d(part(y,2),x)
+part(y,2)
ù
d(part(y,1),x)
:If f="{"
: Return seq(d(part(y,k),x),
k,1,part(y))
:Return undef
:EndFunc
Summary of Contents for TI-89 Voyage 200
Page 1: ...TI 89 Titanium Graphing Calculator...
Page 35: ...Getting Started 35 2 B u s i n e s s D B D B Press Result...
Page 44: ...Getting Started 44 3 0 D B D D Press Result...
Page 45: ...Getting Started 45 B D D 2 0 0 2 Press Result...
Page 46: ...Getting Started 46 D B Scroll down to October and press D 1 9 Press Result...
Page 60: ...Getting Started 60 Example Set split screen mode to TOP BOTTOM Press Result 3 B D...
Page 63: ...Getting Started 63 2 D B 4 Press Result...
Page 453: ...Differential Equation Graphing 453...
Page 468: ...Tables 468...
Page 539: ...Data Matrix Editor 539...